I am unable to use an updated transform when I reinstall a package. Here is the command I am using but it is not picking up the changes made to the transform.

msiexec /i "c:\test\testwin32.msi" TRANSFORMS="c:\test\testwin32.mst" REINSTALL=ALL REINSTALLMODE=vomus /q /forcerestart

Do I have to uninstall and then just do a new install.

My packages are being installed via the DOS command line.
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
Take a verbose log of the installation. That should point you in the right direction.
Answered 06/06/2009 by: VBScab
Red Belt

Please log in to comment
0
If you installed an msi with a transform and then try to reinstall that MSI with an updated transform, the original cached transform will be used during the reinstall...thus you're new transform won't get applied. Your options are:

1. Remove first, then reinstall new.
or
2. Find the cached MST on the machine (usually under c:\windows\installer\<productcode>\) override with your new one, and perform reinstall.

G'luck
-J
Answered 06/06/2009 by: jcarri06
Senior Purple Belt

Please log in to comment
0
Good call, J. I totally missed that we're dealing with a transform.
Answered 06/07/2009 by: VBScab
Red Belt

Please log in to comment
1
If you installed an msi with a transform and then try to reinstall that MSI with an updated transform, the original cached transform will be used during the reinstall...thus you're new transform won't get applied.If you installed an msi with a transform and then try to reinstall that MSI with an updated transform, the original cached transform will be used during the reinstall...thus you're new transform won't get applied.

Why REINSTALLMODE=vams doesnot recache mst? Is there some MSI solution for this scenario?
Answered 09/16/2009 by: xxMBxx
Orange Belt

Please log in to comment
0
Why REINSTALLMODE=vams doesnot recache mst?I think your question would best be dealt with by the WI team on MSDN but, thinking around the subject, maybe the rationale is to do with tracking which transform was applied. Sure, the registry records that but it doesn't record a history. It's entirely feasible to apply a transform then, at a later stage, apply another.

Is there some MSI solution for this scenario? No.
Answered 09/17/2009 by: VBScab
Red Belt

Please log in to comment
0
In answer to the Transform issue, HKLM\SOFTWARE\Classes\Installer\Products\ holds information on the installed products & one of the values is the Transform file used for the installation. This can be amended to uninstall/repair using a different Transform file:

reg add HKLM\SOFTWARE\Classes\Installer\Products\<CompressedProductCode for App> /v Transforms /t REG_EXPAND_SZ /d "<path>\newtransform.mst" /f

(The /f will force it to overwrite any existing Transform).

It can also be used to add a Transform file to be used when uninstalling an application that breaks installer using its standard uninstall - for example, if an application includes an entry for HKLM\SYSTEM\CurrentControlSet\Control\ServiceCurrent, when it is uninstalled it deletes this value & stops installer from starting up again until after a reboot. Creating a Transform for the original MSI that deletes the HKLM\SYSTEM\CurrentControlSet\Control\ServiceCurrent entry from the package and then adding this transform file to the HKLM\SOFTWARE\Classes\Installer\Products\<CompressedProductCode>\Transforms entry means that uninstall will not remove the ServiceCurrent value and therefore Installer will restart OK.
Answered 11/16/2009 by: andys0123
Orange Senior Belt

Please log in to comment
0
I am also looking for a option to update the settings present in the MST ( MSI and MST installed) apart from removing the Old MST from Cache + reinstall and changing the transforms name in HKCR\Installer\Products .These two are not acceptable to our quality and call them as workaround not solutions.

Are there any solution ? I thought about avoiding to create MST and editing the MSI directly but worried about the implications ( I know it not advisable to edit the MSI directly for unknown best practice reasons:)

I spent too much time researching ., would appreciate your suggestions.
Answered 02/17/2010 by: Nirmal1208
Senior Yellow Belt

Please log in to comment
0
I've never tried this, but I wonder if specifying a new transform on the command line would work? Something like:
Original command line:MSIEXEC /i whatever.msi TRANSFORMS="XFORM.MST" [etc] New command line:MSIEXEC /i whatever.msi TRANSFORMS="XFORM.MST;NEWXFORM.MST" REINSTALLMODE=vomus REINSTALL="ALL" [etc]
Answered 02/17/2010 by: VBScab
Red Belt

Please log in to comment
0
Suggestion from "andys0123" works. Have been used on installed MSI without MST, so without uninstalling the MSI it was just reinstalled with inserted mst inside registry. The idea to chain MST looks good, waiting for oportunity to test it on real production environment.
Answered 02/17/2010 by: xxMBxx
Orange Belt

Please log in to comment
0
I have tested the option suggessted by VBScab , the new MST gets ingored.
Answered 03/04/2010 by: Nirmal1208
Senior Yellow Belt

Please log in to comment
Answer this question or Comment on this question for clarity