无法访问某些注册表项

Can't access some registry keys

我正在尝试访问 NSIS 脚本中的节点版本号,以便了解我是否需要升级 node.js'。为此,我注意到键 HKLM\SOFTWARE\Node.js\ServerType 包含我需要的数字。

我尝试通过 :

访问它
ReadRegStr [=10=] HKLM "SOFTWARE\Node.js" ServerType

但它不起作用,$0 始终为空。

我在使用这些键时也有奇怪的行为:

ReadRegStr [=11=] HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" CurrentVersion

returns 我是 Java JRE 的好版本,但是当我在注册表中手动更改它时,当我 运行 NSIS 安装程序时它不会改变 =>我感觉安装程序没有按照我设置的路径读取它(x86 中的安装程序和 x64 中的 OS 冲突可能?)。

我有点迷茫,不知道下一步该做什么。你有什么想法吗?

在 64 位版本的 Windows 上,32 位应用程序会看到一个特殊的 32 位注册表视图,这与您在 Regedit 中看到的不同。在 Regedit 中,这些键的基础位于 Wow6432Node 下。一些键也被两个视图共享。

要访问 NSIS 中的 64 位视图,您可以使用 SetRegView 指令。