2012-08-07 106 views
0

我試圖確定註冊表項是否存在。我正在使用某人已經創建的宏,但是它沒有正確識別註冊表項存在檢查註冊表項是否存在總是失敗

它說某個鍵在實際上不存在時不存在。我是否錯誤地使用了這個macro

我的代碼,路徑到註冊表項是正確的:

!insertmacro IfKeyExists "HKLM" "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME}\${APPNAME}" "Version" 
Pop $R0 
MessageBox MB_OK "Exists: $R0" # always is zero when shd be 1 

回答

0

你發生任何錯誤發出鍵上的讀操作(ReadRegStr例如)解決了這個簡單了很多,然後檢查使用Logiclib。在功能上,一個不存在的密鑰相當於一個你無法讀取的密鑰...

0

確保你在說的是正確的密鑰(這意味着你需要注意WOW64分離和註冊表虛擬化)監視安裝程序Process Monitor ...