我已成功将InstallShield从2009年的独立版本升级到2016年的独立版本。目前正在使用" InstallShield 2016 Standalone build"建立我的包。在创建软件包之前,我一直在检查是否" InstallShield 2016 Standalone build"安装在系统中#34;。下面是.js代码。
try
{
var testStanAloneBuilder = new ActiveXObject("IswiAuto23.ISWiProject");
delete testStanAloneBuilder;
}
catch (e)
{
ErrorExit("ERROR: The required InstallShield Stand Alone Builder is not installed.");
}
收到的异常错误消息是"自动化服务器无法创建对象"。在安装InstallShield 2016独立版本之后,任何人都可以告诉我是否需要进行任何安装后设置。
答案 0 :(得分:1)
我几年没有使用过IS,但这里有一些应该有用的提示。
1)SAB将自动化界面公开为可选的安装功能。它可能没有安装。
2)自动化接口仅支持32位。尝试从64位进程使用它时会出错。 (对于TFS构建,我选择x86 msbuild平台)。
3)您应该能够在同一个构建计算机上安装不同版本的SAB。 (或者更好地创建不同类别的机器。)
4)我喜欢在尝试新版本的InstallShield时设置并行构建。您应该能够将.ISM保留在旧架构中并使用两个引擎构建它。 (较新的SAB将在构建期间升级shema。)一切都结束后,您可以将.ISM更新到最新版本的InstallSield。
答案 1 :(得分:0)
如果InstallShield提供了其自动化接口的64位版本,那就太好了,但是在那之前...尝试一下。
通过添加这些注册表项,为InstallShield自动化对象添加代理注册表项。此CLSID用于IswiAuto23。
如果安装了其他版本的InstallShield自动化对象,请在注册表中搜索匹配的InstallShield clsid,并相应地更新注册表。
[HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{3C44313C-4B47-4C59-BA06-1398FABFCDAD}]
"AppID"="{3C44313C-4B47-4C59-BA06-1398FABFCDAD}"
[HKEY_CLASSES_ROOT\WOW6432Node\AppID\{3C44313C-4B47-4C59-BA06-1398FABFCDAD}]
"DllSurrogate"=""