我在VS中有一个新的WIX UI安装项目,它编译成一个MSI。一切都很好用。
它成功安装/卸载我想要的文件。例如,它将3个DLL放入Program Files文件夹,安装Windows服务,GAC是DLL。
现在让我说我在给定的环境中安装它。然后我们的一个DLL更改,我们需要升级此安装而不影响已安装的其他文件(例如服务)所以我的想法是我需要一个补丁/升级MSI,它将针对那个DLL而只是覆盖该特定文件
实现这一目标的最简单方法是什么?我是否需要针对每个补丁/更新MSI的VS项目?以下是我目前的2个WIX相关项目(安装程序+自定义操作)
答案 0 :(得分:5)
仅更新DLL时,建议使用补丁。 Visual Studio不支持修补程序,但您可以尝试使用WiX:http://wix.sourceforge.net/manual-wix2/patch_building.htm
请注意,修补程序有一些限制:http://msdn.microsoft.com/en-us/library/aa367850(VS.85).aspx
由于您没有使用Windows Installer更新机制,因此只覆盖一个文件的MSI是一个错误的错误。
如果您想要MSI,则必须是major upgrade。主要升级将在安装当前版本之前自动卸载旧版本。