2016-09-26 125 views
0

我试图访问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可能存在冲突)。

我有点失落,不知道下一步该做什么。你有什么想法 ?

回答

0

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

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

+0

正是我在找的东西,非常感谢。 – Quadear