我的解决方案中有3个项目要部署。是否有一种很好的快速方法可以使用Visual Studio的安装项目使用一个MSI部署所有三个应用程序,并让用户决定在安装过程中要安装哪些应用程序?
我为3个单独的应用程序设置了项目,我还有一个总体设置项目,其中包含其他三个项目的输出。我是在正确的轨道还是有更好的方法?
答案 0 :(得分:4)
我想你可能想要合并模块。根据MSDN:
合并模块是Microsoft Windows Installer的标准功能,它将组件与任何相关文件,资源,注册表项和设置逻辑打包在一起。您可以使用合并模块来安装多个应用程序共享的组件。您无法直接安装合并模块。您必须将它们合并到部署项目中。
http://support.microsoft.com/kb/827025
在您的情况下,每个应用程序都是一个合并模块,您需要提供一些UI来选择要安装的应用程序。您可以修改其中一个默认页面模板来执行此操作。
答案 1 :(得分:2)
如果使用WiX(我建议这样做),那么你将每个项目分解为其组件,每个项目将表示为WiX / MSI中的一个功能,你可以在其上进行有条件的安装。安装程序上用于选择功能的标准树对话框基于此,WiX示例具有使用它的现成UI。
至于合并模块,WiX的首席开发人员参与了早期创建合并模块规范,现在他推荐使用.wixlibs。 See Here
答案 2 :(得分:0)
我也有类似的要求,但是我使用了合并模块,但似乎无法找到一种方法来选择要安装哪个特定的msm以及哪些不安装。据我所知,有一个无条件属性可以在msm上设置,同时将它们与msi集成。如果有其他方式,请告诉我。
谢谢, APN
答案 3 :(得分:0)
你可以使用我发布的Wix - >