I have a Visual Studio C++ MSI package that is compatible with Windows XP, and I have another one that is compatible with Windows Vista, 7, 8.
So, I have two MSI files. Now, what I want is, the application merge both MSI files into one exe file and during installation the application detects the Operating System and select that compatible MSI for installation. XP should install XP MSI and Win7 should install Win7 MSI.
Is there any application that provide this kind of functionality ? How can I do that ? Any idea ?
To combine two MSI into one package, you could use either Bootstrapped EXE or Chained MSI.
Chained MSI:
You add 2 MSI into new one MSI. And use property
VersionNTin conditions for choosing needed.Condition for Windows XP will be
VersionNT<600, for Windows Vista and aboveVersionNT>600.Bootstrapped:
You add 2 MSI into one Setup.exe.
Try http://dotnetinstaller.codeplex.com/. It’s free and simple to use. Or read information about Windows Installer Bootstrapping.