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.
2. Go to the respective component and make it as 64 -bit as shown below. Do read the instructions pointed below in arrow mark.
3. Save the transforms and validate it for any errors. Since we have added a 64 -bit component,
validation will show ICE 80 error.
4) To resolve the error, go to template summary and change the value to Intel64;1033.
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.
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.
2. Go to the respective component and make it as 64 -bit as shown below. Do read the instructions pointed below in arrow mark.
3. Save the transforms and validate it for any errors. Since we have added a 64 -bit component,
validation will show ICE 80 error.
4) To resolve the error, go to template summary and change the value to Intel64;1033.
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.
Comments
Post a Comment