如何使用单个安装程序 'Setup.exe' 来安装同一应用程序的多个实例

How can a single installer 'Setup.exe' be used to install multiple instances of same application

我使用 InstallShield 2008[=41= 创建了 InstallScript MSI 安装程序 类型的安装程序] 它正在工作。现在我想使用相同的安装程序在同一台机器上安装相同产品的多个实例。我想将它们显示为 Add/Remove 程序中的单独应用程序以及单独的目录结构。

以下是我已经尝试过但还没有找到任何解决方案的要点:

  • 我发现产品的一般信息中有一个选项"Maintenance Experience"可以设置多实例类型以获取同一产品的多个实例。后来我发现这个选项在 "InstallScript MSI Installer". 中不可用所以我尝试将我的安装程序项目转换为 "InstallScript Installer" 导致编译失败。失败的原因是MSI的脚本中使用了一些方法,无法在转换后的安装程序类型中使用。

  • 我发现 InstallShield 提供了一个 "Automation interface" 可以用来修改 . ism 项目文件以更新产品代码、版本等。我试图获取 CreateObject("InstallShield.GUID")CreateObject("IswiAuto17.ISWiProject") 对象,但它没有 return 任何对象。我已将这些行放在 InstallShield 的 Setup.rul 文件中。如果这些对象允许更新产品代码,并且将创建一个适用于我的新实例。

  • 我也在研究"Instance Transform"。但到目前为止我发现它需要预定义必须与实际安装程序不同的实例转换。因此,当安装程序运行时,它会执行任何预定义的转换。所以这也不是我需要的情况,因为我总是希望在安装程序执行时创建新实例。

我选择了点 1 路线 "Maintenance Experience",这对我有用。

我将项目从 InstallScript MSI Project 转换为 InstallScript Project。我在 Setup.rul 文件中遇到了编译时错误,但我找到了这些错误的替代方法并修复了它们并使脚本能够编译。

到目前为止它工作正常,我可以从单个安装程序安装多个实例 'Setup.exe'。