[英]NSIS read registry key returns empty for postgresql
使用NSIS示例讀取注冊表項,我嘗試讀取postgres注冊表項,但始終返回空,我驗證了路徑正確,但是NSIS ReadRegStr顯示為帶引號的空,不帶引號。 (原始示例從Software \\ Microsoft \\ Windows \\ CurrentVersion中讀取,並且可以正確恢復鍵值)
loop1:
ClearErrors
EnumRegValue $1 HKLM "SOFTWARE\PostgreSQL\Installations\postgresql-x64-10" $0
IfErrors done
IntOp $0 $0 + 1
ReadRegStr $2 HKLM SOFTWARE\PostgreSQL\Installations\postgresql-x64-10 $1
MessageBox MB_YESNO|MB_ICONQUESTION "$1 = $2$\n$\nMore?" IDYES loop1
done:
有什么建議嗎? 謝謝
Windows的64位版本具有兩個注冊表視圖。
注冊表重定向器通過在WOW64上提供注冊表某些部分的單獨邏輯視圖來隔離32位和64位應用程序。 注冊表重定向器攔截對它們各自的邏輯注冊表視圖的32位和64位注冊表調用,並將它們映射到相應的物理注冊表位置。 重定向過程對應用程序是透明的。 因此,即使32位應用程序存儲在64位Windows上的其他位置,它也可以像在32位Windows上運行一樣訪問注冊表數據。
使用SetRegView從NSIS中的64位視圖中讀取:
Section
SetRegView 64
ReadRegStr ...
SetRegView lastused
SectionEnd
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.