cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Apply a new MST to existing MSI install

Our company is currently using a software deployment tool to push MSI's to XP desktops. The problem we are running into is when an application needs a new MST applied to a existing install. We currently have to perform an uninstall then reinstall to get the MST to apply. Does any one know of any tricks, tips or command lines that we are missing to force a new MST to apply during an MSI upgrade, without reinstalling? Erich
(6) Replies
Not really. MST's are not patches, they are database transformations.

The only thing I can think of would be to create a new database by applying the transform to the orginial, then generate a patch using the differences between the original database and the transformed database. Then push the patch.

That could be very dicey though depending on what the transform did. Frankly I'm a fan of major upgrades and I don't mind doing an uninstall then install to make sure I got it right.
I agree with Chris- when possible, I prefer a compete wipe of the old app before installing a new one.

Try this to get the old .msi app off your systems:
Find the product code for the old install in the registry.
Run the following command line to uninstall it:
c:\windows\system32\msiexec.exe /X /QN
Then run your transform install command line.
You can even string them together in a batch file if you want.
I'll make it easier then that....

Find the upgrade code of the original MSI and author a Major Upgrade transform for the new MSI. Run your new MSI with both transforms and the removal/install is one step.
Cool...never thought of that.
How would the command line look?
When I populate a distribution point with an MSI, I don't want to take the chance someone would accidentally run the MSI without the transform so I "apply" the transform to the MSI before pushing it out to the DP's.

So the command would be your standard setup /s /v"/qn" or msiexec /i foo.msi /qn

The magic is in the Upgrade and InstallExecute tables of the transformed MSI. The MSI would automatically detect the previous install, remove it, and then install itself.
Aaahhhh...light dawns on Marblehead.
I understand now.
Thx