我想在注册表中编写应用程序设置,这些设置由在 Windows 7 x64 上运行的 x86 和 x64 应用程序共享。
最佳做法是将它们保存在 HKEY_LOCAL_MACHINE\Software\Company\Product 中,但在 WOW64 中会被重定向。
我可以将它们写在 HKEY_LOCAL_MACHINE\System.. 中吗?或者系统是为其他事情保留的?
在 x64 模式下,您仍然可以访问 WOW64 模式的值。WOW64 HKEY_LOCAL_MACHINE\Software\Company\Product 将位于 HKEY_LOCAL_MACHINE\Software\Wow6432Node\Company\Product 下。
编辑:
某些键也可以禁用反射,如下所述:http: //msdn.microsoft.com/en-us/library/ms724072 (VS.85).aspx
您可以使用手册中所述的 SetRegView 选项:http: //nsis.sourceforge.net/Docs/Chapter4.html#4.9.7.6
Function .onInit SetRegView 64 ReadRegStr $INSTDIR HKLM Software\NSIS "" SetRegView 32 FunctionEnd