Как запустить VBscript, использующий installShield API?

Я пытаюсь создать скрипт, который автоматизирует процесс создания объекта installShield.

Я решил разработать его с помощью VBScript, потому что Automation API очень полезен для разработки vbs. Это очень простой код, который я сделал

Set m_ISWiProject = CreateObject("IswiAuto18.ISWiProject")
strFile = "C:\<WindowsFolder>\Profiles\<UserName>\Personal\MySetups\Test.ism"  
m_ISWiProject.OpenProject strFile

Проблема в том, что когда я пытаюсь запустить его, я получаю эту ошибку

ActiveX component can't create object: 'ISWiAuto18.ISWiProject'

это, вероятно, из-за отсутствия библиотек или из-за того, что программа не может найти исходный код API, который я использую.

Мы очень ценим любую информацию об использовании API с vbscript или даже лучше VBScript и установке щита. Заранее всем спасибо.


person stratis    schedule 22.05.2013    source источник
comment
Код не соответствует ошибке. Убедитесь, что соответствующий уровень автоматизации зарегистрирован и код соответствует ему.   -  person Michael Urman    schedule 22.05.2013


Ответы (1)


Ошибка

"ActiveX component can't create object"

произошло из-за того, что интерфейс автоматизации является 32-битным интерфейсом; следовательно, он должен быть загружен из 32-битного процесса. Если вы используете интерфейс автоматизации на 64-разрядной машине, вам может потребоваться загрузить интерфейс автоматизации через 32-разрядный исполняемый файл.

Например, если вы используете VBScript с интерфейсом автоматизации, вам может потребоваться запустить cscript.exe из 32-разрядной системной папки (SysWow64). В противном случае 64-битный хост сценариев может столкнуться с ошибкой, подобной следующей, при создании объекта автоматизации.

Это действие решило проблему

person stratis    schedule 23.05.2013