2017-10-11 7 views
-1

J'essaye d'écrire au reg et ne peux pas sembler trouver la bonne manière.NSIS WriteRegSTR ou 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\" 

J'ai essayé:

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\" 

Mais rien ne montre jamais en reg.

Répondre

0

1) Votre installateur a besoin de run as a elevated administrator pour écrire sur HKLM. Ajoutez RequestExecutionLevel Admin à votre script.

2) Sur Windows 64 bits, two different views du registre et par défaut, les applications 32 bits écrivent dans la clé HKLM\Software\Wow6432Node du registre "réel" que vous voyez dans RegEdit. Utilisez SetRegView dans NSIS pour écrire dans le registre 64 bits.

+0

Merci beaucoup, je me grattais la tête pendant des heures en essayant de comprendre cela et tout ce dont j'avais besoin était SetRegView. :) –