I had installed some VS 2010 redistributables with my application. I did this by adding the required merge module into my MSI based installer. However now a new version of this merge module is available and I wanted to update the same in my installer. Major upgrade is not possible in my case and only option is minor update (i.e. MSP).

Now the issue is that when I remove the old Merge module and add the new one then it removes the old components and adds new components. This is happening because Microsoft has changed the Module IDs in the two MSMs causing components and File table keys to change. 


Original Module ID: Microsoft_VC100_CRT_x86.AFA96EB4_FA9F_335C_A7CB_36079407553D

New Module ID: Microsoft_VC100_CRT_x86.1DEE2A86_2F57_3629_8107_A71DBB4DBED2

Question is how do I update the redistributable Merge Module in a patch because as per minor update (MSP) rules components cannot be removed in a patch. I also noticed that if these Redistributables are installed as part of MSMs then Windows Update also does not update them because it does not treat them as a separate product.

4 Comments   [ + ] Show Comments


  • Why don't you add both the MM's in the same package and let them deal by themselves?
  • That would be a wrong thing to do. How will I ensure that a common file will get installed from which MM?
  • They will be dealt in based on a file-versioning rules. Here is a good answer that I hope may give you some clear vision on what is happening. http://stackoverflow.com/questions/1297553/how-merge-module-upgrades
  • Thanks. I'll try this suggestion but I don't understand what prompted Microsoft to change the Module IDs. Had they simply kept same Module IDs (at least in same major version of VS) it would have been a simple step to upgrade merged modules. If MS releases another update to these MMs then what do they expect, add mutiple copies of MMs to our patch.
    Moreover I keep all MMs in a folder and at build time all MMs are picked from that folder now I'll have to either rename the new MMs or keep them in separate folders to be able to pick them.
Please log in to comment



What did you build your MSI in... Wise or Installshield? The reason i ask is I thought you could create a Minor Upgrade that is wrapped in setup.exe. When I have tried to do MSP in the past, the Patch interface is very restrictive like you say, but if you have your project file (ISM, WSI) your should be able to open up the existing project and follow the Upgrade Wizard..

Quote from Installshield "What is Minor Upgrade"

.. If the latest version of your installation has the same product code as the previous version of your installation, you can apply a minor upgrade to update your product. By simply building a release that includes Setup.exe, your latest installation will be minor upgrade enabled. Setup.exe can detect when a previous version of your product exists on the target machine. When it detects this, it runs the rest of your installation in minor upgrade mode.

Answered 10/02/2013 by: ekgcorp
Tenth Degree Black Belt

  • Hi ekgcorp, I use Installshield but wrapping msp in setup.exe is not a solution because we have a custom workflow for msp creation. We don't use Installshield patch creation process. We have a big installer and do lot of customizations to reduce patch size which Installshield doesn't do. We cannot move away from our traditional approach just to update these merged modules. I'll talk to MS support to know what is the right path they suggest.
Please log in to comment
Answer this question or Comment on this question for clarity