合并模块和组件GUID

时间:2010-08-31 05:14:58

标签: wix windows-installer guid merge-module

我已阅读http://robmensching.com/blog/posts/2003/10/18/Component-Rules-101博文 这非常有启发性。

但是,我仍然有一些问题:

组件GUID的范围是什么?使用时所有这些如何相关 不同安装程序中的mergemodules?

假设我有两个不同的安装程序,安装到不同的文件夹 并且都使用相同的mergemodule。 mergemodule中的组件有一个 某些GUID,但它们安装在那些不同的文件夹中。

如果我卸载第二个已安装的应用程序怎么办?有什么影响 第一个申请?

我尝试了这个场景,并且第一个安装的应用程序中的文件仍然存在 在安装第二个已安装的应用程序之后存在(有些预期), 但卸载第一个安装的应用程序后,我会删除它 没想到:所有的组件数据都被第二次更新了 已经安装好的安装程序。

有人可以澄清一下吗?

1 个答案:

答案 0 :(得分:1)

这称为共享组件,GUID的范围限定为产品。一般来说,你通常应该没事。我一直这样做:

FOO.MSM mergeredirectfolder \ BIN \ foo.dll

P1.MSI [ProgramFilesFolder \ Company \ P1]< --- FOO.MSM P2.MSI [ProgramFilesFolder \ Company \ P2]< --- FOM.MSM

有关更详细的讨论,请阅读:

About Shared Components - Heath Stewart