2016-09-26 73 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