Page 1 of 1
64 Bit Operating System Issue
Posted: Tue Feb 06, 2007 12:54 pm
by tltaylor76
I have an installation that has been run on hundreds of 32 bit operating systems without issue. If you take this same installation I run into an issue when reading and parsing a value from the registry.
The operating system is WIndows Server 2003 R2, Standard x64 Edition with Service Pack 1.
The problem occurs when reading a registry value located at the HKLM\\Software\\MyCompany\\MySoftware\\MyValue. I have the same results whether the key exists or not. A value of NO$VALUE is returned.
I have verified that administrative permissions exist. Am I missing something or have you heard of this type of behavior before. Thanks.
Posted: Tue Feb 06, 2007 1:06 pm
by tltaylor76
I found that the 64 bit version does not read from the same location. It translated the HKLM\\Software\\MyCompany to the HKLM\\Software\\Wow6432Node\\MyCompany. I am sure this is due to the Windows on Windows (WOW) layer for the backward compatability. But is this actually correct? This required some effort to get this going. Should InstallAware actually read from the proper registry key rather than the translated Wow6432Node? Thanks for any input you can provide here.
To update, only InstallAware is reading from and writing to the wrong location. So I beleive there is an issue. All other applications that reference the HKLM\\Software\\MyCompany talk to the exact location. However, any key that InstallAware attempts to write on this OS is going under the HKLM\\Software\\Wow6432Node\\MyCompany. So when the application tries to run after the install, nothing works!
Posted: Tue Feb 06, 2007 1:26 pm
by tltaylor76
We worked around the issue by testing to see if the OS is 64 bit using the GetSystemSettings -> Windows is 64-bit mode. If this is TRUE, then we set the install into 64-bit mode using the Set Install Mode. Once this is done the registry keys are read from and written to the proper locations.
Posted: Tue Feb 06, 2007 3:05 pm
by MichaelNesmith
This is actually not a workaround, but the designed behavior. The Set 64 Bit Mode MSIcode command takes your setup in and out of 64 bit installation mode at will. So its a way for you to turn off or on registry and file system redirection when you need it.
Posted: Tue Feb 06, 2007 3:47 pm
by tltaylor76
Great, thanks.