共同DLL应该在WiX中具有相同的组件ID

Jon*_*ell 3 .net installer windows-installer wix

我正在为客户端/服务器应用程序编写几个安装包.我正在使用Wix工具包,并且根据建议,每个DLL都被包装为具有唯一ID的自己的组件.

需要在两个包中安装一些常见的DLL.这些DLL是否应该具有相同的组件GUID,或者它们在每个包中是否应该不同?

Dam*_*ver 5

鉴于您对我的评论的回复,如果客户端和服务器都安装在同一台机器上,那将会特别糟糕.

Windows Installer组件:

共享相同组件ID的两个组件被视为同一组件的多个实例,而不管它们的实际内容如何.用户计算机上只安装了任何组件的单个实例.

(重点补充).

加:

  • 每个组件必须存储在一个文件夹中.

以下要点听起来可能与以下内容相矛盾:

  • 任何文件,注册表项,快捷方式或其他资源都不应作为多个组件的成员提供.

但实际上这反过来说 - 如果你有两个安装程序将相同的DLL安装到同一个位置,它们必须是同一个组件的一部分.它是文件的位置(以及它的名称,其中的位,版本等),这很重要.


回复:我的答案的第一行,并给出你打算做什么 - 如果服务器已安装(服务器目录中的DLL),然后安装客户端,DLL将不会出现在GAC中,因此客户端应用程序无法正常工