views:

30

answers:

1

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 folders.

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?

+1  A: 

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

Christopher Painter

related questions