Change LaunchCondition of an MSI package

Posted on November 4, 2010

0


If you have a MSI installation package which prevents you from installing the software on a particular operating system, you should continue reading this article.

As an example, many personal software such as Nero 10 Multimedia Suite do not allow you to install them on Windows server operating systems which is in my opinion ridiculous. In this article I will try to explain how to use Orca editor to change LaunchCondition entry in MSI database to make Nero 10 install on Windows server 2008 R2 operating system.

Orca editor tool is freely available as a part of Windows SDK under “\Microsoft SDK\bin” folder, and you can also google the file name “orca.msi” if you want to avoid downloading 300M SDK from Microsoft. To use it, right click a MSI file and choose Edit with ORCA, you should see something like the following:

orca The highlighted LaunchCondition table is the key to change or remove installation restrictions from the the MSI package. In our example, to make Nero 10 install on Windows server 2008 R2, we need to change the LaunchCondition from:

Not (Version9X Or VersionNT<=500 
	Or (VersionNT=501 And ServicePackLevel<3) 
	Or (VersionNT=502 And ServicePackLevel<3) 
	Or (VersionNT=600 And Not ServicePackLevel) 
	Or Not MsiNTProductType=1)

to:

Not (Version9X Or VersionNT<=500 
	Or (VersionNT=501 And ServicePackLevel<3) 
	Or (VersionNT=502 And ServicePackLevel<3) 
	Or (VersionNT=600 And Not ServicePackLevel))

You probably notice now that the additional check MsiNTProductType=1 in original Nero MSI packages makes sure that the product won’t install on Windows server operating systems. Now you should follow the steps below to modify all MSI packages in Nero 10 to make it install on Windows server 2008 R2:

  1. Start the Nero 10 installer which will then extract all MSI installation packages to Windows temp folder.
  2. When it displays the dialog that Nero cannot be installed on Windows Server 2008 R2, do the following:
    1. Locate the Nero installer content in the Local Settings\Temp folder in the current user profile (the folder name is a generated one containing the "NERO" string somewhere). 
    2. Copy that content to a different folder.
    3. Click Ok to close the installer.
  3. Open the master and child MSI files one by one (use Windows search to find all MSI files), and edit the condition according to what is mentioned above (the LaunchCondition table is in the list on the left, if you click on it, on the right you will see usually only a single row, except the DiskCopyGadget, where there are two rows – that tool can be installed only on 32-bit systems).
  4. Start the installer. It could be possible that the master installer runs into an infinite loop (that happened on my machine); in this case run the child installers one after one.

An alternative to step 3 is to completely remove LaunchCondition table from Orca, and then run the master MSI package instead of Setup.exe to install the program.