Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将设置写入注册表,由x64和x86应用程序共享(绕过注册表重定向)_C#_Registry_Wow64 - Fatal编程技术网

C# 将设置写入注册表,由x64和x86应用程序共享(绕过注册表重定向)

C# 将设置写入注册表,由x64和x86应用程序共享(绕过注册表重定向),c#,registry,wow64,C#,Registry,Wow64,我想在注册表中写入应用程序设置,这些设置由运行在Windows 7 x64上的x86和x64应用程序共享 最佳做法是将它们保存在HKEY_LOCAL_MACHINE\Software\Company\Product中,但在WOW64中会被重定向 我可以在HKEY\U LOCAL\U MACHINE\System中写入它们吗。。相反或者系统是为其他东西保留的?在x64模式下,您仍然可以访问WOW64模式的值。WOW64 HKEY_LOCAL_MACHINE\Software\Company\产品将

我想在注册表中写入应用程序设置,这些设置由运行在Windows 7 x64上的x86和x64应用程序共享

最佳做法是将它们保存在HKEY_LOCAL_MACHINE\Software\Company\Product中,但在WOW64中会被重定向


我可以在HKEY\U LOCAL\U MACHINE\System中写入它们吗。。相反或者系统是为其他东西保留的?

在x64模式下,您仍然可以访问WOW64模式的值。WOW64 HKEY_LOCAL_MACHINE\Software\Company\产品将位于HKEY_LOCAL_MACHINE\Software\Wow6432Node\Company\Product下

编辑:


也可以对某些键禁用反射,如下所述:

您可以使用手册中所述的SetRegView选项:

函数。onInit SetRegView 64 ReadRegStr$INSTDIR HKLM软件\NSIS“” SetRegView 32
FunctionEnd

但我不想在我的程序中硬编码Wow6432(我读过不推荐的内容)。最好禁用我的密钥的重定向。。我可以这样做吗?我认为可以禁用的是反射,而不是重定向。。。我说的对吗?使用XML文件可能是一种更好的方法。谢谢,但是您有没有一个不特定于NSIS的示例?