0

I am creating a windows installer script and I have two features to be installed in their own folder.

I want to execute a merge module to BOTH of these folders. However, Windows Installer only allow a single copy of the merge module so I can only install it for one the application folder.

Is it possible to do this and if not, is there a workaround?

Thanks!

Stécy
  • 11,951
  • 16
  • 64
  • 89

2 Answers2

1

Merge modules are troublesome, better to use prerequisites delivered as separate MSI files. What merge module are you referring to?

Stein Åsmul
  • 39,960
  • 25
  • 91
  • 164
  • Merge modules allow delivering a single MSI to install the product. With prerequisites in separate MSIs, you need to use a bootstrapper, and your installation stops to be a single install trasaction. – Alexey Ivanov Aug 30 '12 at 06:43
1

Merge module can't be imported into a single MSI twice.

A better approach is to install the merge module components into one shared folder, and both your components will use it from there.

Another option is to add CopyFile elements and copy everything the merge module installs into the folder of your 2nd component. Yet I'd suggest using shared folder. Why do you need to duplicate files? Later, after an update, the versions of the shared component could become different which can lead you to trouble.

Alexey Ivanov
  • 11,541
  • 4
  • 39
  • 68
  • I need duplicates because each feature (application of a suite) are in their own folder and each need the merge module files. The applications are .NET applications. – Stécy Aug 30 '12 at 17:07
  • I'm experimenting with extracting the files from the merge module and including them twice in the installer (a copy for each application folder). Let's see where this goes... – Stécy Aug 30 '12 at 17:09
  • I'm not experienced in .NET… Yet I programmed for Win32 for a long time. And I can't understand why these DLLs can't be shared from one folder by two applications (of a suite). The whole point of DLLs is to share code rather to duplicate it. (Yeah I know about the DLL hell but in this case you control all the three components and I can't see the reason why you need two copies.) – Alexey Ivanov Aug 30 '12 at 20:20