PDA

View Full Version : How to install merge module on demand once the package is installed.



prirath
06-07-2017, 01:38 AM
We have a requirement such that at the time of installation of msi(which has 3 features. 2 of the features are merge modules), it should install only one feature. At the point of installation, we only want to install one feature and 2 other features should be installed later at the point of need. We tried advertisement, but could not find a way around merge module. Can you please suggest how this can be achieved, via advertisement/transforms/patch. Please recommend any other way too if possible.

chad.petersen
06-07-2017, 10:48 AM
A merge module (MSM) can be included in an installer but there is no entry point to them that we are allowed to interact with. You either include an MSM - or not - and that's about the extent of the interaction. You cannot control when the MSM gets installed beyond the default unless you put that MSM into another MSI that you call from your MSI. Might be a work-around for you. Not sure.

Chad

prirath
06-08-2017, 04:35 AM
Thanks Chad for the response. I understand there is no way where we can directly execute the merge module, we need to package it. However, given that, is there any way where we can have one msi without merge module at the time of installation and can install them later on demand. The way you suggested is a possible workaround, but we don't want to create separate msi for merge module. Can it be achieved by applying a transform or patch? In theory, advertisement does the same thing as per our ask, so tried that but since msm cannot be executed on its own, that doesn't seem to be an option.

chad.petersen
06-08-2017, 10:24 AM
By the time your project is compiled there is really no MSM any longer - The MSM (Microsoft Merge) is truly merged into your MSI - the files and registry keys and etc. inside of the MSM become part of your installer. Do you author the merge modules yourself or are they a 3rd party merge module? Without knowing more about your project than you have so far described I cannot suggest anything more.

Good luck!

Chad

prirath
06-09-2017, 04:18 AM
Thanks Chad. Ours is a 3rd party merge module.
Is there any other way, i.e. by applying a patch or creating a web installer.

chad.petersen
06-09-2017, 09:15 AM
A patch installer (MSP) is only the DIFF between one version and the next - a Delta. It's not a full installer and merge modules can't be used in a patch because the merge module could be trying to bring any number of versions up to a particular version and is not a Delta of files between one and the other that a patch installer uses.

A web installer is just an installer that goes to the internet for it's files - really nothing else different between it and a normal installer.

Your question is certainly different. Most of the time a merge module is REQUIRED in order for a product to run and must be delivered with it. If a merge module is optional that would imply that it is NOT REQUIRED which begs the question of why to include it at all.

Since you don't own the merge module your hands are tied as far as I can see.

Good luck!

Chad