Jump to content


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

Merge Module Practices


8 replies to this topic

AlexLX

AlexLX
  • Full Members
  • 27 posts

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

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 15 November 2011 - 18:32

Don't link the file directly. Use the merge module.

AlexLX

AlexLX
  • Full Members
  • 27 posts

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)

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

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.

AlexLX

AlexLX
  • Full Members
  • 27 posts

Posted 17 November 2011 - 22:08

Thanks Stefan

AlexLX

AlexLX
  • Full Members
  • 27 posts

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

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

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.

AlexLX

AlexLX
  • Full Members
  • 27 posts

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.



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 24 November 2011 - 19:51

Each DLL should be in its own component, and should be the key path of the component.