Nestor
Nestor

Reputation: 13990

Writting settings to the registry, shared by x64 and x86 apps (bypassing registry redirection)

I want to write application settings in the registry, that are shared by x86 and x64 applications running on Windows 7 x64.

The best practice is to save them in HKEY_LOCAL_MACHINE\Software\Company\Product, but that gets redirected when in WOW64.

Can I write them in HKEY_LOCAL_MACHINE\System.. instead? Or System is reserved for other thigns?

Upvotes: 2

Views: 1264

Answers (2)

Rogier
Rogier

Reputation: 1240

You can use the SetRegView option as described in the manual: http://nsis.sourceforge.net/Docs/Chapter4.html#4.9.7.6

Function .onInit SetRegView 64 ReadRegStr $INSTDIR HKLM Software\NSIS "" SetRegView 32 FunctionEnd

Upvotes: 0

treaschf
treaschf

Reputation: 5944

When in x64 mode, you can still access the values of the WOW64 mode. The WOW64 HKEY_LOCAL_MACHINE\Software\Company\Product will be under HKEY_LOCAL_MACHINE\Software\Wow6432Node\Company\Product.

Edit:

Reflection can also be disabled for certain keys, as it is described here: http://msdn.microsoft.com/en-us/library/ms724072(VS.85).aspx

Upvotes: 2

Related Questions