InstallerGeek created the topic: How to handle Registry Redirection through WIX on64-bit Platform
Hi,
I’m facing issues while fetching the Installation Path of a 64-bit component through its Registry Entry on 64-bit Platform. Through WIX, when I’m searching for a particular registry key, because of registry redirection it is redirected to WOW6432node where registry keys doesn’t exist. So, through WIX, is there any way to look into the 64-bit Registry View with only Single MSI creation?
Here are some of my findings about the same :
1. A component must be marked as Win64=”yes” in order to cause registry entries to be written under the 64-bit registry hive instead of the WOW64 registry hive.
2. Refer stackoverflow.com/questions/1838009/plat…ification-in-wix-3-0 , telling that we can use the Condition statement (documentation here< wix.sourceforge.net/manual-wix2/wix%5Fxsd%5Fcondition.htm >) which will detect at install time which platform the installer is running on. This allows you to create just one installer which will work on all platforms.
The test for 64bit platform is VersionNT64 and conversely the test for non 64bit platforms is NOT VersionNT64
For example:
InstallerExpert replied the topic: Re: How to handle Registry Redirection through WIX on64-bit Platform
Use Win64=”yes” in your RegistrySearch Elements to force them to check the normal areas of the Registry rather than the WOW6432Node. You will get ICE warnings for this in an x86 package.
However you can’t have one MSI which works natively for both x86 & x64 platforms.
An MSI has a platform attribute which must be set to “Intel” for x86 packages or “Intel64” for x64 packages (can also use “AMD64” for x64 packages but it’s deprecated by “Intel64”). An x86 package will install on x86 and x64 platforms but you will not be able to write to x64 specific locations such as the normal registry areas (everything gets redirected to WOW6432Node) or the normal “Program Files” directory (again everything gets redirected to “Program Files (x86)”). You can see this in a verbose log quite easily.
If you want or need to access x64 specific areas of the machine you need to create an x64 package which won’t even run on an x86 platform.
Hence that second post on your thread on StackOverflow is very misleading if taken as read. Having 2 MSI’s might not be a desirable solution for you but it’s the only one you’re going to get if you want to use Windows Installer to deploy your product.
Good Luck.
InstallerExpert replied the topic: Re: How to handle Registry Redirection through WIX on64-bit Platform
You will need two searches: one for the 32-bit and one for the 64-bit search.
InstallerExpert replied the topic: Re: How to handle Registry Redirection through WIX on64-bit Platform
Some confusion here? I believe it’s
Intel – 32-bit x86
Intel64 – Itanium family
AMD64 – 64-bit x86, deprecated
x64 – 64-bit x86
InstallerGeek replied the topic: Re: How to handle Registry Redirection through WIX on64-bit Platform
Thanks Palbinder for your reply. Well, whatever replies I’ve got for this issue are convincing me for two separate MSIs for 32-bit and 64-bit Platforms resp. I’ve one more query related this. I’m not sure whether to ask but still is it possible to write inline code in WIX? If so, I could probably give a try to write the code for disabling registry redirection by Accessing an alternate registry view depending on Platform Architecture.
Any replies on this will be much appreciated.
InstallerExpert replied the topic: Re: How to handle Registry Redirection through WIX on64-bit Platform
Yep, my mistake. Was looking at a package in InstEd! at the time & forgot about Itanium platform support as it still shows only “AMD64” for the x64 platform where as Orca has both “AMD64” & “x64” IIRC (haven’t had it installed in a long time so I might be wrong).
- Best AI tools for Software Engineers - November 4, 2024
- Installing Jupyter: Get up and running on your computer - November 2, 2024
- An Introduction of SymOps by SymOps.com - October 30, 2024