How to write to 64bit registry path from a 32bit MSI using a MST(Transforms)

Question : I have a 32bit MSI. I want to add a registry. The registry should be installed to 64bit registry section. How I can do it using Transforms in Installshield?


Answer : Make the component having the registry as 64-bit component and change the template summary. Note keep only the registry that needs to be in 64 bit, and move all other files or registry to another component.


Steps:


Using Installshield:


1. Check for the registry that needs to be installed to 64 bit location. Fetch its component name.


mCc65z.png


2. Go to the respective component and make it as 64 -bit as shown below. Do read the instructions pointed below in arrow mark.


fme6Fs.png


3. Save the transforms and validate it for any errors. Since we have added a 64 -bit component,
validation will show ICE 80 error.


cQMqrs.png


4) To resolve the error, go to template summary and change the value to Intel64;1033.


WWEp1Q.png


5) Test for the functionality by executing the msi command along with the transforms file.
msiexec.exe /I "path to msi" TRANSFORMS="path to transforms file" /qb!


NOTE: Since the MSI is meant to be 32-bit, you can ignore the ICE 80 error instead of messing up with the MSI and changing its behavior and just document the acceptance of the ICE80.

No comments:

Post a Comment