我已阅读http://robmensching.com/blog/posts/2003/10/18/Component-Rules-101博文 这非常有启发性。
但是,我仍然有一些问题:
组件GUID的范围是什么?使用时所有这些如何相关 不同安装程序中的mergemodules?
假设我有两个不同的安装程序,安装到不同的文件夹 并且都使用相同的mergemodule。 mergemodule中的组件有一个 某些GUID,但它们安装在那些不同的文件夹中。
如果我卸载第二个已安装的应用程序怎么办?有什么影响 第一个申请?
我尝试了这个场景,并且第一个安装的应用程序中的文件仍然存在 在安装第二个已安装的应用程序之后存在(有些预期), 但卸载第一个安装的应用程序后,我会删除它 没想到:所有的组件数据都被第二次更新了 已经安装好的安装程序。
有人可以澄清一下吗?
答案 0 :(得分:1)
这称为共享组件,GUID的范围限定为产品。一般来说,你通常应该没事。我一直这样做:
FOO.MSM mergeredirectfolder \ BIN \ foo.dll
P1.MSI [ProgramFilesFolder \ Company \ P1]< --- FOO.MSM P2.MSI [ProgramFilesFolder \ Company \ P2]< --- FOM.MSM
有关更详细的讨论,请阅读: