Showing results for 
Show  only  | Search instead for 
Did you mean: 

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

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... 😞 ).

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?
Labels (1)
0 Kudos
1 Reply

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

Well putting the CA's in the MM was no problem, although I was hoping they could be automatically used rather than having to schedule them in the host installer.

I was also hoping to override a control on a dialog to present one from the merge module. I don't think this will work, seeing as it consistently crashes installshield on build (or even clicking the drop down indicating which dialog to open.

Any insights out there?
0 Kudos