无法访问某些注册表项

时间:2016-09-26 14:43:18

标签: node.js registry nsis

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

我试图通过以下方式访问它:

ReadRegStr $0 HKLM "SOFTWARE\Node.js" ServerType

但它不起作用,$ 0总是空的。

使用这些键我也有一个奇怪的行为:

ReadRegStr $0 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" CurrentVersion

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

我有点失落,不知道接下来要做什么。你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

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