将InstallShield从2009年升级到2016年的问题

问题描述 投票:1回答:2

我已成功将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.");
   }

收到的异常错误消息是“自动化服务器无法创建对象”。如果我在安装InstallShield 2016独立版本后需要进行任何安装后设置,请有人告诉我。

javascript windows installshield windows-server-2012 installshield-2015
2个回答
1
投票

我在几年内没有使用过IS,但这里有一些应该有用的提示。

1)SAB将自动化界面公开为可选的安装功能。它可能没有安装。

2)自动化接口仅支持32位。尝试从64位进程使用它时会出错。 (对于TFS构建,我选择x86 msbuild平台)。

3)您应该能够在同一个构建计算机上安装不同版本的SAB。 (或者更好地创建不同类别的机器。)

4)我喜欢在尝试新版本的InstallShield时设置并行构建。您应该能够将.ISM保留在旧架构中并使用两个引擎构建它。 (较新的SAB将在构建期间升级shema。)一旦所有内容都检出,您可以将.ISM更新到最新版本的InstallSield。


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"=""
© www.soinside.com 2019 - 2024. All rights reserved.