2017-10-11 706 views
-1

我正在尝试写入reg并且无法找到正确的方法。NSIS WriteRegSTR或WriteRegDword

HKEY_LOCAL_MACHINE 
"SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "XboxStat" '"C:\\Program Files\\Microsoft Xbox 360 Accessories\\XboxStat.exe\" silentrun' 
"SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "Hyperspin" "D:\\Arcade\\Hyperspin.exe\" 

我曾尝试:

WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "Hyperspin" "D:\\Arcade\\Hyperspin.exe\" 
WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "Hyperspin" "D:\\Arcade\\Hyperspin.exe\" 
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "Hyperspin" "D:\\Arcade\\Hyperspin.exe\" 
WriteRegDWORD HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "Hyperspin" "D:\\Arcade\\Hyperspin.exe\" 

但没有到Reg不断出现。

回答

0

1)您的安装程序需要run as a elevated administrator写入HKLM。将RequestExecutionLevel Admin添加到您的脚本。

2)在64位Windows上有two different views的注册表,默认情况下32位应用程序写入在RegEdit中看到的“真实”注册表中的HKLM\Software\Wow6432Node密钥。在NSIS中使用SetRegView来写入64位注册表。

+0

非常感谢你,我正在摸索我的头几个小时试图弄清楚,所有我需要的是SetRegView。 :) –