2

这是我第一次尝试使用 Windows Installer 构建安装包(我们的客户不希望使用我已经广泛使用的 Wix)。目前,我有一个可以按预期构建和工作的 MSI。但是,我需要为我编写的程序在其他机器上工作所需的 SDK 添加安装程序。我已将第二个安装程序(也是 MSI)添加为自定义操作,该操作根据您在安装过程中是否勾选复选框来执行。问题是,当第二个安装程序执行时,我收到错误提示系统上已经有一个安装程序正在运行并且安装无法继续。我怎样才能解决这个问题?自定义操作设置为在安装期间运行。

提前感谢您为解决此问题提供的任何帮助。

4

2 回答 2

2

您不能同时安装两个 MSI 软件包,更具体地说,您不能在另一个 MSI 的 InstallExecuteSequence 期间启动另一个 MSI。但是,如果您在 UI 序列中触发自定义操作,这是可能的。

于 2012-05-22T21:17:49.827 回答
1

设置项目因其提供的创作限制和质量而臭名昭著。以至于 MSFT 已将它们从 Visual Studio 11 中删除,并用 InstallShield Limited Edition 取而代之。

最好的办法是查看安装项目使用的 setup.exe 引导程序。查看驱动它们的 XML 格式,并使您的 SDK 安装程序成为一个简单的静默安装程序,可以在调用您现在正在处理的主 MSI 之前由该基础结构驱动。

InstallShield(Setup Prereqs 和 Suite Installers)和 WiX(Burn)对于这种情况来说都是功能更强大的工具。

于 2012-05-23T14:39:10.843 回答