leirbag
Posts: 13
Joined: Mon Jun 16, 2014 2:56 pm

Merge Modules and DLL Registration

Thu Aug 07, 2014 8:22 am

Hi,

I want to force the Merge Modules to be installed before the DLL Registrations because these DLLs need the merge modules to be installed in order to be able to register themselves.
Is there a way I can force the order of registration apart from VBscript or a building a custom action.

Thanks in advance.

Eusebiu
Posts: 4931
Joined: Wed Nov 14, 2012 2:04 pm

Re: Merger Modules and DLL Registration

Thu Aug 07, 2014 8:48 am

Hi,

Please keep in mind that this is the default behavior. The files are first copied on the machine the after that they are registered. Did you test the scenario and got any error?

Best regards,
Eusebiu
Eusebiu Aria - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

leirbag
Posts: 13
Joined: Mon Jun 16, 2014 2:56 pm

Re: Merger Modules and DLL Registration

Thu Aug 07, 2014 2:27 pm

For example in my setup I want to install Visual Fox Pro 8 Runtimes merge module. But these runtimes must have the C++ 7.0 Redistributable Runtimes merge modules already installed in order to be registered. So I must specify in which order these should be installed.

Did I explain better or I confused you more ? :lol:

Eusebiu
Posts: 4931
Joined: Wed Nov 14, 2012 2:04 pm

Re: Merger Modules and DLL Registration

Thu Aug 07, 2014 2:45 pm

Hi,

I'm afraid that the order of the merge module installation cannot be set in a package. Furthermore, all the files from a package (and from merge modules) are first copied on the machine by a Windows Installer standard action and then they (the DLLs) are all registered by another standard action.

However, in order to achieve what you want, you can create a simple MSI package that contains only the "C++ 7.0 Redistributable Runtimes" merge modules and then add that MSI as a "pre-install" or "feature-based" prerequisite in the package that contains the "Visual Fox Pro 8 Runtimes" merge module. In this case the "C++ 7.0 Redistributable Runtimes" merge modules will be installed first and the "Visual Fox Pro 8 Runtimes" merge module will be installed the second.

Let us know if this helped, otherwise give us more details about your scenario.

Best regards,
Eusebiu
Eusebiu Aria - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

leirbag
Posts: 13
Joined: Mon Jun 16, 2014 2:56 pm

Re: Merger Modules and DLL Registration

Fri Aug 08, 2014 6:43 am

I managed to solve it thanks for your assistance. It worked.

I have another issue... how can I make Merge Modules as permanent because I might have an instance where other applications are using the Modules and if remove them I will ruin the others with it.

Thanks In Advance

Eusebiu
Posts: 4931
Joined: Wed Nov 14, 2012 2:04 pm

Re: Merge Modules and DLL Registration

Fri Aug 08, 2014 7:50 am

Hi,

Please keep in mind that this is the main functionality of a Merge Module, when it is added in multiple applications, it will not be removed if any of the applications is still installed on the machine. This happens because the reference count of each component available in the merge module is increased anytime an application that uses that merge module is installed. Then, that reference count is decreased each time a related application is uninstalled.

For a better understanding you can refer to the example below:
  • App1 includes MSM1
    App2
    includes MSM1
    App3
    includes MSM1

    App1
    is installed -> MSM1 components' reference count: 1
    App2
    is installed -> MSM1 components' reference count: 2
    App3
    is installed -> MSM1 components' reference count: 3

    App3
    is uninstalled -> MSM1 components' reference count: 2 (the MSM is not uninstalled)
    App1 is uninstalled -> MSM1 components' reference count: 1 (the MSM is not uninstalled)
    App2 is uninstalled -> MSM1 components' reference count: 0 (the MSM is uninstalled)
Best regards,
Eusebiu
Eusebiu Aria - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

leirbag
Posts: 13
Joined: Mon Jun 16, 2014 2:56 pm

Re: Merger Modules and DLL Registration

Fri Aug 08, 2014 8:22 am

This works assuming that all application have been installed with Advance Installer or any time?

Eusebiu
Posts: 4931
Joined: Wed Nov 14, 2012 2:04 pm

Re: Merger Modules and DLL Registration

Fri Aug 08, 2014 8:40 am

It works assuming that all applications are using the same Merge Module which was not modified from an application to another.

For instance, if the MSM was created the first and it was added to all the applications (without being changed in the meantime), then it is not important if those applications were create with Advanced Installer or not because the components of the MSM have the same GUIDs and they are correctly registered at the same registry path by Windows Installer.

Best regards,
Eusebiu
Eusebiu Aria - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

leirbag
Posts: 13
Joined: Mon Jun 16, 2014 2:56 pm

Re: Merger Modules and DLL Registration

Fri Aug 08, 2014 9:04 am

Cheers for your help

Greatly appreciated!! :D

Eusebiu
Posts: 4931
Joined: Wed Nov 14, 2012 2:04 pm

Re: Merger Modules and DLL Registration

Fri Aug 08, 2014 9:06 am

You're welcome. Glad to help.

Just let us know anytime you have a question.

Best regards,
Eusebiu
Eusebiu Aria - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Common Problems”