小编Jer*_*ers的帖子

InstallShield Automation无法创建对象

我正在使用Installshield 2014和2011。正在使用主要升级和自动构建脚本来处理构建。InstallShield是独立的构建版本。对彼此而言。

现在,Windows 2003服务器上的Installshield 2011一切正常。我可以使用自动化界面打开一个项目,更改产品代码(用于主要升级),然后在构建安装程序之前将其保存。

这样的代码在vbs文件中如下所示:

Dim oISM, oGUID
Set oGUID = CreateObject("InstallShield.GUID")
Set oISM = CreateObject("IswiAuto17.ISWiProject")

oISM.OpenProject strInstallShieldProjectFile
oISM.ProductCode = "{" & oGUID.CreateGUID( ) & "}"
oISM.SaveProject : oISM.CloseProject : set oISM = Nothing
Run Code Online (Sandbox Code Playgroud)

现在,我们已经升级到Windows 2012服务器和InstallShield2014。我已经仔细检查过,根据InstallShield,唯一需要的更改是版本号(从17更改为21)。

但是现在没有任何效果。如果我取出代码并将其放入自己的vbs文件中进行测试并运行,我将得到以下信息:

ActiveX组件无法创建对象:“ InstallShield.GUID”

在谷歌上看,我看到这是在64位模式下运行的。。。。我在32位模式下运行cmd提示符。 http://helpnet.flexerasoftware.com/installshield18helplib/AutomationInterface64Bit.htm

我尝试使用以下脚本调用脚本:%WINDIR%\ SYSWOW64 \ cmd.exe / c cscript

如此处建议的那样: 如何在64位计算机上以32位模式运行VBScript?

和其他地方。这没有用,因为我遇到了同样的错误。

我尝试删除该行,因为我确定可以用另一种方式创建Guid,然后重新运行它。

然后在尝试创建项目时得到了此消息:未知的运行时错误:'CreateObject'

谷歌再次出现,我检查了:https : //community.flexerasoftware.com/showthread.php?189788-Automation-error

和其他人。我尝试确保使用regsvr32注册了dll,并说它成功。但是在重新运行后,它给出了相同的错误。

我尝试直接处理InstallShield文档中的命令,以确保没有拼写错误,但又出现了相同的错误。

我什至尝试按此处所述切换“ sw”的大小写: 运行vbscript时Installshield Automation失败,错误是无法创建对象

同样,同样的错误。

我还尝试了切换到Powershell,因为Powershell更容易调试和阅读。

powershell代码很简单,如下所示:

$oIsm =  new-object -comobject IswiAuto21.ISWiProject

$oISM.OpenProject("$file")
$oISM.ProductCode = "{" + [guid]::NewGuid() + "}" …
Run Code Online (Sandbox Code Playgroud)

vbscript powershell installshield

1
推荐指数
1
解决办法
2423
查看次数

标签 统计

installshield ×1

powershell ×1

vbscript ×1