Let me explain my scenario:
-I upgrage from V1 to V2 of my product using a major upgrade.
V1 has an entirely different upgrade code from V2. You can think that V2 now supersedes V1 and hence is like a different product family altogether.
****Neither V1 nor V2 have any transforms embedded within them***
-Due to issues with the V2 msi package authoring, 3 files are found to be missing after the upgrade.
-To fix the issue, i performed a repair of the V2 package. However, the V2 package also has few custom actions conditioned such that these custom actions do not execute during a repair.
This causes other problems. I want these custom actions to even execute during a repair.
Here are my approaches to fix the issue:
I tried making use of a **newly introduced** transform to alter the authoring in the V2 msi package.
1)So i thought that i would make use of a transform in the V2 msi package with correct custom action conditions and then repair the already installed V2 version of the product.
I made use of the TRANSFORMS property on the command line used to repair V2. However, as i understand, the property values are ignored in a repair.
2)I tried a re-install of the msi package by specifying the following command line:
msiexec /i <path to the .msi package> REINSTALL="ALL" REINSTALLMODE="omus" TRANSFORMS=<path to the .mst file>
In the log file, the TRANSFORMS property seems to be have been recognized initially.
MSI © (90:B4) [08:31:01:483]: Command Line: REINSTALL=ALL REINSTALLMODE=omus TRANSFORMS=C:\Repair.mst CURRENTDIRECTORY=C:\Users\joeadmin CLIENTUILEVEL=0 CLIENTPROCESSID=5520
However later on in the log file, the TRANSFORMS property is again ignored as shown below:
MSI © (90:B4) [08:31:01:493]: PROPERTY CHANGE: Deleting TRANSFORMS property. Its current value is 'C:\Repair.mst'.
MSI © (90:B4) [08:31:01:493]: TRANSFORMS property is now:
-Is it possible to repair a .msi package by making use of a new transform during the repair process?
-If yes, what would be the effect of doing so when patches are built with this product as the base?
I would like to understand as to what role would the transform have when it comes to building patches.
Any help would be very much appreciated.
Using transforms with a repair or re-install of a msi package
Posted 25 June 2014 - 07:55
Posted 30 June 2014 - 07:56
Transforms are applied during first time install only. Use a patch instead (which essentially is a special transform and a reinstall). Or apply the transform during the major upgrade (or fix V2 before installing it).