在注册表视图中,我使用以下路径HKCR\CLSID\{MYGUID}\Programmable手动创建了Programmable项。我认为在32位操作系统上没有问题。
然而,在64位操作系统上,Programmable不知何故被忽略了。我猜这可能与64位上的注册表重定向有关。查看注册表,我发现CLSID\{MYGUID}实际上位于@HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{MYGUID},并且在{MYGUID}下没有创建Programmable键。
所以我的问题是-我是否也必须手动指定@HKLM\SOFTWARE\CLasses\Wow6432Node\CLSID\{MYGUID}\Programmable的Programmable密钥?我是否需要将目标平台更改为x64
发布于 2012-03-31 15:28:56
我不确定你到底在问什么,但看起来你肯定正面临着一个由64位Windows上的32位进程的registry redirection引起的问题。
此问题仅在64位Windows上出现。如果您的应用程序需要注册表中的某些值,则应该使用与您的应用程序“相同的位数”运行的工具来设置这些值。例如,您可以使用Regedit:
%SystemRoot%\SysWOW64\regedit.exe).%SystemRoot%\regedit.exe).如果出于某些原因,您希望使用64位工具为32位应用程序设置注册表项和值,则需要了解注册表重定向是如何执行的。例如,HKLM\Software被重定向到HKLM\Software\Wow6432Node。有关详细信息,请参阅上面链接的Microsoft支持文章。
https://stackoverflow.com/questions/9953802
复制相似问题