我在Flexara论坛上已经提出了这个问题,但到目前为止还没有回复,所以我想在这里问一下。
我们目前有一个运行良好的InstallScript项目。生成的设置可以无人值守/无声。 在此设置中,我们有一些功能并调用许多第三方安装(这是运行我们的软件的先决条件)。 但是,我们的客户需要MSI文件,因此我们采用了基本的MSI项目类型。
设置没有太多麻烦(我对InstallShield很新),我可以从这个项目中生成.exe和.msi。 但是,我留下的唯一问题是调用其中一个第三方安装程序。 该第三方安装程序(由NSIS制造)轮流调用另一个基于MSI的安装程序。
这导致出现错误1500 - 在另一个正在运行时无法运行msi类型的安装。
我已经尝试安排CA(用于调用第三方安装程序)作为第一个操作和最后一个,但没有成功。 在采用更加非正统的方案之前(比如在我们的安装程序完成后运行的Windows任务管理器上创建任务,或者在下次重新启动并强制重新启动时 - 我们的客户不喜欢)或我们不捆绑的方案'faulting'安装程序(我们真的希望能够移交一个intaller而不是多个),我想我会问你的意见。
我已经尝试在互联网上的各个地方寻找解决方案,但要么因为错误的关键字而失败,要么就是我没有在正确的帖子上发现错误。
我们是否还有任何选项可以创建一个能够调用此第三方安装程序的MSI安装程序(它会轮流调用msi安装程序)?
答案 0 :(得分:1)
由于不接受EXE引导程序,因此只有一个解决方案:
基本上,您需要在安装UI期间启动它们。如果在InstallExecuteSequence期间启动它们,它将无法工作。
我不认为基本的MSI项目支持这一点,但更高级的项目类型可能支持它。其他设置创作工具为此提供直接支持。
答案 1 :(得分:0)
您可以尝试使用InstallShield的“链式.msi包”功能。