3

我的解决方案中有 3 个要部署的项目。是否有一种使用 Visual Studio 的安装项目使用一个 MSI 部署所有三个应用程序并让用户决定他要在安装过程中安装哪些应用程序的快捷方式?

我为 3 个单独的应用程序设置了项目,我还有一个包含其他三个项目输出的总体设置项目。我是在正确的轨道上还是有更好的方法?

4

4 回答 4

4

我想你可能想要合并模块。根据 MSDN:

合并模块是 Microsoft Windows Installer 的标准功能,它将组件与任何相关文件、资源、注册表项和设置逻辑打包在一起。您可以使用合并模块来安装多个应用程序共享的组件。您不能直接安装合并模块。您必须将它们合并到部署项目中。

http://support.microsoft.com/kb/827025

在您的情况下,每个应用程序都是一个合并模块,您需要提供一些 UI 来选择要安装的应用程序。您可以修改默认页面模板之一来执行此操作。

于 2008-11-17T09:15:26.923 回答
2

如果使用 WiX(我建议这样做),那么您将每个项目分解为其组件,每个项目将表示为 WiX/MSI 中的一个功能,您可以对其进行有条件的安装。用于选择功能的安装程序的标准树对话框基于此,WiX 示例具有使用它的现成 UI。

至于合并模块,WiX 的主要开发人员参与了合并模块规范的早期创建,他现在建议使用 .wixlibs。看这里

WiX v3 文档

于 2009-01-13T17:36:55.617 回答
0

我也有类似的要求,但是我使用了合并模块,但似乎无法找到一种方法来选择要安装和不安装的特定 msm。据我了解,在将 msm 与 msm 集成时,可以在 msm 上设置无条件属性。请让我知道是否有其他方法可以这样做..

谢谢, APN

于 2008-11-28T13:48:57.713 回答
0

您可以使用我在此处发布的 Wix -->

VS 2005 设置项目:使用一个 MSI 部署多个项目

于 2009-01-11T13:03:04.000 回答