Visual Studio 中的部署
合并模块介绍
(http://technet.microsoft.com/zh-cn/magazine/6771e4ch(VS.90).aspx)
合并模块是 Windows Installer 的一个功能,它提供了传送组件的标准方法,从而确保安装组件的正确版本。合并模块包含 .dll 这样的组件以及任何相关的文件、资源、注册表项和安装逻辑。
合并模块不能直接安装,而是合并到每个使用组件的应用程序的安装程序中。这确保以一致的方式为所有应用程序安装组件,从而消除了版本冲突、丢失注册表项和文件安装不正确等问题。
每个合并模块都包含唯一的版本信息,Windows Installer 数据库通过此信息确定使用组件的应用程序,从而防止组件被过早移除。因此,对组件的每个增量版本都应创建新的合并模块,合并模块包含到安装程序中后应永不更新。
使用 Visual Studio 中的部署工具,可以轻松地创建合并模块并将它们包含在应用程序的安装程序中。
安装程序与合并模块:区别和建议
(http://technet.microsoft.com/zh-cn/magazine/y0w2est5(VS.90).aspx)
Visual Studio 允许您创建两种不同类型的安装程序:Windows Installer (.msi) 和合并模块 (.msm)。Windows Installer 用于在其他计算机上安装应用程序和文件,合并模块用于安装由多个应用程序共享的组件。
这两种类型之间的主要区别在于所针对的用户对象不同。应用程序的最终用户将直接使用的任何内容(可执行文件、文档、HTML 页)都应打包到 Windows Installer 中。仅供开发人员使用的任何内容(DLL、控件、资源)都应打包到合并模块中,然后开发人员可将合并模块打包到分发给最终用户的 Windows Installer 中。
一般情况下,由多个应用程序共享(或有可能共享)的任何组件都应放入其自己的合并模块中。虽然可以将多个组件放入一个合并模块中,但最好为每个组件创建一个合并模块,这样可以避免分发不必要的文件。
合并模块类似于组件的特定版本的快照。为避免版本冲突,应该为组件的每个后续版本创建新的合并模块。
安装程序可包括多个应用程序,以允许您一步安装一套应用程序。在这种情况下,安装程序应包括所含应用程序使用的所有组件的合并模块;如果某个合并模块由多个应用程序使用,那么它只需添加一次。
如何:向部署项目中添加合并模块
(http://technet.microsoft.com/zh-cn/magazine/8x727h8b(VS.90).aspx)
合并模块(.msm 文件)使您得以在多个部署项目之间共享组件。您可以使用 Visual Studio 创建自己的合并模块,也可以使用 Microsoft 以及第三方供应商提供的可用于许多标准组件的现有合并模块。
向部署项目中添加合并模块
-
在“解决方案资源管理器”中选择部署项目。
-
在“项目”菜单上指向“添加”,然后单击“合并模块”。
-
在随后出现的“添加模块”对话框中,浏览到要添加的合并模块所在的位置。
From:
Visual Studio 2005 的 Crystal Reports 合并模块
http://technet.microsoft.com/zh-cn/library/ms225293(v=vs.80)
http://technet.microsoft.com/zh-cn/library/ms225386(v=vs.80)
如何:创建或添加合并模块项目
http://technet.microsoft.com/zh-cn/library/z6z02ts5(v=vs.80).aspx
.Net应用程序打包部署总结
http://lib.open-open.com/view/open1339657958974.html
“合并模块”项目
http://technet.microsoft.com/zh-cn/library/0h4bhcz3
http://technet.microsoft.com/zh-cn/6771e4ch(vs.71).aspx
http://technet.microsoft.com/zh-cn/magazine/8x727h8b(VS.90).aspx
http://technet.microsoft.com/zh-cn/magazine/y0w2est5(VS.90).aspx