This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.

Merge Module Practices
Started by
AlexLX
, Nov 14 2011 16:31
8 replies to this topic
Posted 14 November 2011 - 16:31
Hi,
I want to know when one should use the merge modules.
for e.g; there is a merge module for atl71.dll and I can also directly link that file in a separate component .So whether I should use the merge module provided by Installshield or I should link the file directly by creating a new component for it.
In one link I read :
"You should not distribute a file for which a merge module is available. Using merge modules also helps you comply with two related requirements—the Best Practice to avoid associating a file with more than one component and the Windows logo guideline not to ship any core components. "
Thanks,
Alex
I want to know when one should use the merge modules.
for e.g; there is a merge module for atl71.dll and I can also directly link that file in a separate component .So whether I should use the merge module provided by Installshield or I should link the file directly by creating a new component for it.
In one link I read :
"You should not distribute a file for which a merge module is available. Using merge modules also helps you comply with two related requirements—the Best Practice to avoid associating a file with more than one component and the Windows logo guideline not to ship any core components. "
Thanks,
Alex
Posted 15 November 2011 - 18:32
Don't link the file directly. Use the merge module.
Stefan Krüger
InstallSite.org twitter facebook
Posted 15 November 2011 - 20:36
Thanks Stefan...but is there any particular reason(to avoid the complexity regarding installation/Uninstallation or any other reason)
Posted 17 November 2011 - 15:45
One file, installed in the same location, should only be associated with one component, because Windows Installer uses component GUIDs to keep track of shared resources.
Stefan Krüger
InstallSite.org twitter facebook
Posted 21 November 2011 - 22:45
Reason I asked this question is , I have a requirement to pick a bunch of dlls (These dlls are from Thirdparty)which supports SxS installation.
I am confused whether to create a merge module to pick these files or to create separate components. Please help
I am confused whether to create a merge module to pick these files or to create separate components. Please help
Posted 22 November 2011 - 13:51
If they are truely private to your application, including any registry data etc., you don't need a merge module.
Stefan Krüger
InstallSite.org twitter facebook
Posted 22 November 2011 - 17:27
Thanks Stefan.
The files will be used privately.But there are still few doubts :
1. There are bunch of dlls so should I put all of them into single component or maintain different components for each files.But then where would I be putting the manifest file??
2. After adding the dlls into the component,do I need to add information into Advanced Settings->Assemblies?
3. I tried creating a single component for bunch of dlls and when I was adding information of "File Application" in Component->Advanced Settings->Assemblies
It set the path automatically to [INSTALLDIR]atl71.dll.So should I consider this setting for the rest of the dlls as well or this particular setting is only for atl71.dll.
The files will be used privately.But there are still few doubts :
1. There are bunch of dlls so should I put all of them into single component or maintain different components for each files.But then where would I be putting the manifest file??
2. After adding the dlls into the component,do I need to add information into Advanced Settings->Assemblies?
3. I tried creating a single component for bunch of dlls and when I was adding information of "File Application" in Component->Advanced Settings->Assemblies
It set the path automatically to [INSTALLDIR]atl71.dll.So should I consider this setting for the rest of the dlls as well or this particular setting is only for atl71.dll.
Posted 24 November 2011 - 19:51
Each DLL should be in its own component, and should be the key path of the component.
Stefan Krüger
InstallSite.org twitter facebook