InstallShield中安装包嵌套的问题

版权声明: 可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。

在安装包制作过程中,安装包中增加一个或多个其他的第三方安装包是很常见的,尤其考虑到方便用户一次点击,全程安装,很多安装包做成一个大而全的综合包。

这样必然涉及安装包嵌套的问题,今天就以InstallShield下InstallScript,InstallScript MSI和Basic MSI三种工程类型为例,说明哪些工程类型的安装包可以嵌套调用。

说明:

1. 下面测试结果中, InstallScript和InstallScript MSI工程中在事件响应函数OnBegin里调用第三方安装包,Basic MSI调用第三方安装包位置在Sequence的InstallServices之后。

2. 测试环境InstallShield 2010

InstallScript: 

InstallScript嵌套InstallScript -> OK

InstallScript嵌套InstallScript MSI -> OK 

InstallScript嵌套Basic MSI -> OK  

InstallScript MSI: 

InstallScript MSI嵌套InstallScript MSI -> OK

InstallScript MSI嵌套InstallScript -> OK 

InstallScript MSI嵌套Basic MSI -> OK  

Basic MSI: 

Basic MSI嵌套Basic MSI -> NG

Basic MSI嵌套InstallScript -> OK 

Basic MSI嵌套InstallScript MSI -> OK  

目前测试只有MSI包无法嵌套,原因是MSI都是通过Windows Installer服务安装,两个安装包无法运行在同一个进程中运行(等有了解决的方法再发布出来)。 

正常会有如下提示“Error 1500 Another installation is in progress. You must complete that installation before continuing this one.” 

原文地址:https://www.cnblogs.com/wanbinghong/p/1815053.html