Merge modules and the component GUID
I've read the http://robmensching.com/blog/posts/2003/10/18/Component-Rules-101 blogpost which is very enlightning.
However, I still have some questions:
What is the scope of a component GUID? How does all this relate when using mergemodules in different installers?
Lets say I have two different installers, installing to different folders and both using the same mergemodule. The components in the mergemodule have a certain GUID but they get installed in those different folder开发者_如何学编程s.
What if I uninstall the second installed application? What is the effect on the first application?
I tried this scenario and the files in the first installed application still exist after uinstalling the second installed application (somewhat expected), but do get removed upon uninstalling the first installed application, which I didn't expect: after all the component data got updated by the second installer which is allready uninstalled.
Can someone clarify this please?
This is called Shared Components and the GUID is scoped to the product. Generally, you should generally be fine. I do this all the time:
FOO.MSM mergeredirectfolder\bin\foo.dll
P1.MSI [ProgramFilesFolder\Company\P1] <--- FOO.MSM P2.MSI [ProgramFilesFolder\Company\P2] <--- FOM.MSM
For a more detailed discussion, read:
About Shared Components - Heath Stewart
精彩评论