将 InstallShield 从 2009 升级到 2016 的问题
Issues upgrading InstallShield from 2009 to 2016
我已成功将 InstallShield 从 2009 独立版本升级到 2016 独立版本。目前正在使用 "InstallShield 2016 Standalone build" 构建我的包。在创建包之前,我一直在检查以验证系统中是否安装了 "InstallShield 2016 Standalone build"。下面是 .js 代码。
try
{
var testStanAloneBuilder = new ActiveXObject("IswiAuto23.ISWiProject");
delete testStanAloneBuilder;
}
catch (e)
{
ErrorExit("ERROR: The required InstallShield Stand Alone Builder is not installed.");
}
收到的异常错误信息是"Automation server can't create object"。如果我需要在安装 InstallShield 2016 独立版本后进行任何 post 安装设置,谁能告诉我。
我已经有几年没有使用过 IS 了,但这里有一些小贴士应该会对您有所帮助。
1) SAB 将自动化接口公开为可选功能以供安装。可能没有安装。
2) 自动化界面只支持32位。尝试从 64 位进程使用它时会出错。 (对于 TFS 构建,我 select x86 msbuild 平台)。
3) 您应该能够在同一台构建机器上安装不同版本的 SAB。 (或者创建不同的 类 机器更好。)
4) 我喜欢在试用新版本的 InstallShield 时设置并行构建。您应该能够将 .ISM 保留在旧架构中并使用两个引擎构建它。 (较新的 SAB 将在构建期间升级 shema。)检查完所有内容后,您可以将 .ISM 更新到最新版本的 InstallSield。
如果 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"=""
我已成功将 InstallShield 从 2009 独立版本升级到 2016 独立版本。目前正在使用 "InstallShield 2016 Standalone build" 构建我的包。在创建包之前,我一直在检查以验证系统中是否安装了 "InstallShield 2016 Standalone build"。下面是 .js 代码。
try
{
var testStanAloneBuilder = new ActiveXObject("IswiAuto23.ISWiProject");
delete testStanAloneBuilder;
}
catch (e)
{
ErrorExit("ERROR: The required InstallShield Stand Alone Builder is not installed.");
}
收到的异常错误信息是"Automation server can't create object"。如果我需要在安装 InstallShield 2016 独立版本后进行任何 post 安装设置,谁能告诉我。
我已经有几年没有使用过 IS 了,但这里有一些小贴士应该会对您有所帮助。
1) SAB 将自动化接口公开为可选功能以供安装。可能没有安装。
2) 自动化界面只支持32位。尝试从 64 位进程使用它时会出错。 (对于 TFS 构建,我 select x86 msbuild 平台)。
3) 您应该能够在同一台构建机器上安装不同版本的 SAB。 (或者创建不同的 类 机器更好。)
4) 我喜欢在试用新版本的 InstallShield 时设置并行构建。您应该能够将 .ISM 保留在旧架构中并使用两个引擎构建它。 (较新的 SAB 将在构建期间升级 shema。)检查完所有内容后,您可以将 .ISM 更新到最新版本的 InstallSield。
如果 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"=""