Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows installer 如何使用单个安装程序“Setup.exe”安装同一应用程序的多个实例_Windows Installer_Installation_Installshield_Multiple Instances - Fatal编程技术网

Windows installer 如何使用单个安装程序“Setup.exe”安装同一应用程序的多个实例

Windows installer 如何使用单个安装程序“Setup.exe”安装同一应用程序的多个实例,windows-installer,installation,installshield,multiple-instances,Windows Installer,Installation,Installshield,Multiple Instances,我已经使用InstallShield 2008创建了一个InstallScript MSI安装程序类型的安装程序,它正在工作。现在我想在同一台机器上使用同一个安装程序安装同一产品的多个实例。我想在添加/删除程序中将它们显示为一个单独的应用程序,并显示为一个单独的目录结构 以下是我已经尝试过但尚未找到任何解决方案的要点: 我发现,在产品的常规信息中有一个维护经验选项,从中可以设置多个实例类型以获得同一产品的多个实例。后来我发现这个选项在InstallScript MSI安装程序中不可用。因此,我试

我已经使用InstallShield 2008创建了一个InstallScript MSI安装程序类型的安装程序,它正在工作。现在我想在同一台机器上使用同一个安装程序安装同一产品的多个实例。我想在添加/删除程序中将它们显示为一个单独的应用程序,并显示为一个单独的目录结构

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

我发现,在产品的常规信息中有一个维护经验选项,从中可以设置多个实例类型以获得同一产品的多个实例。后来我发现这个选项在InstallScript MSI安装程序中不可用。因此,我试图将我的安装程序项目转换为InstallScript安装程序,这导致编译失败。失败的原因是某些方法已在属于MSI的脚本中使用,无法在转换的安装程序类型中使用

我发现InstallShield提供了一个自动化接口,可用于修改.ism项目文件以更新产品代码、版本等。我尝试获取CreateObjectInstallShield.GUID和CreateObjectSwiAuto17.ISWiProject对象,但它不返回任何对象。我已将这些行放在InstallShield的Setup.rul文件中。如果这些对象允许更新产品代码,则将创建一个新实例,该实例将适用于我

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

我选择了point 1路线维护经验,这对我很有用

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


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

为什么要安装多次?它往往表示应用程序中存在设计缺陷。然而,在发布版本的同时安装应用程序的UAT/QA版本是很常见的。也不建议使用Installscript MSI,由于Installscript MSI中存在许多严重错误,您应该选择基本MSI。@SteinÅsmul我想安装多次,因为该项目由在多个国家/地区设有办事处的客户使用。以前,客户端使用不同的服务器安装不同的国家/地区,但现在客户端希望使用相同的服务器安装不同的国家/地区,而不混合多个安装的数据。