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.

Implementing shared logic across multiple Basic MSI's (CA, Dialog)

1 reply to this topic


  • Full Members
  • 3 posts

Posted 27 September 2016 - 19:50

I am wondering about the best (easiest that works) way to implement some shared behavior for my company's installs. We only use Basic MSI's and Merge Modules for installs, and do not want to use any InstallScript.

We have several products that may make use of a specific 3rd party DLL. Lets call it WTFHSM.DLL. Now the company that supplies this DLL provides 2 versions (both of the same name... frown.gif ).

Which DLL is needed is determined by the client's hardware configuration (whether they have a PCI HSM or a network HSM). (HSM = Hardware Security Module)

For about half of our products we want to install both DLL in separate sub directories, and if the registry has an entry indicating which type to use, copy that DLL into the application directory (and default to the PCI version if not specified). Ok that should not be a problem.

But for about half of our products we want to instead check the registry, and if no indicator is set, provide a dialog during installation that asks which kind of HSM they have (and what IP if it is a network HSM), and then copy the correct WTFHSM.DLL to the application directory.

What is the best way to implement this that can be shared across installations?

I was thinking to try to use a merge module that would contain all the behavior: reg search, dialog(s), and CA (to copy file). I understand there is some difficulty in incorporating merge module dialogs (having to fiddle with the dialog behavior of the install which will contain the merge module). I was hoping to get around this by redefining the the dialogs before and after the custom one which the Merge Module will contain, such that adding the MM would hopefully overwrite them and make integration easier.

Does this sound plausible or is there an easier way I am overlooking?

Stefan Krueger

Stefan Krueger


  • Administrators
  • 13,269 posts

Posted 14 October 2016 - 12:17

Sounds reasonable to me.

If your setups are quite similar, an alternative would be to use the same project with different product configurations.