0

innosetup 스크립트에이 내용이 있지만 레지스트리에 아무 것도 추가하지 않았습니다.InnoSetup - HKEY_LOCAL_MACHINE 어떻게 값을 추가 하시겠습니까?

[Registry]  
Root: HKLM; Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "Test"; ValueData: "{app}\test.vbs"; 

이유는 무엇입니까?

EDIT :

Test.vbs를 :

Set oShell = CreateObject("Wscript.Shell") 
Dim strArgs 
strArgs = "cmd /c runpython.bat" 
oShell.Run strArgs, 0, false 

runpython.bat :

C:\Python27\python.exe "C:\Program Files (x86)\Google\dev_appserver.py" --host 0.0.0.0 --port 8080 
+1

아마도 64 비트 Windows가 있습니다. '예'일 경우 엔트리가'Wow6432Node'에 추가됩니다. – RobeN

+1

64 비트 레지스트리보기 노드로 64 비트 regedit를 보지 않습니까? 64 비트 regedit를 가지고 있다면'WoW' 노드 아래에서 32 비트보기를 찾을 수 있습니다. – TLama

+0

얼마나 이상합니다. 실제로 Wow6432Node에 삽입되었습니다. 나는 왜 이것이 그곳에 더하는 지 이해하지 못한다. – YumYumYum

답변

1

OK - 해결 그것을처럼 32 비트/64 비트 의견에서 언급했다.

InnoSetup 문제가 :

Set oShell = CreateObject("Wscript.Shell") 
Dim strArgs 
strArgs = "cmd /c runpython.bat" 
oShell.Run strArgs, 0, false 
  • :

    윈도우 64 비트 PC에
    [Registry]  
    Root: HKLM64; Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "Test"; ValueData: "{app}\test.vbs"; Check: IsWin64; 
    
    • , 여기 HKLM64 대신

    Test.vbs를 문제 HKLM 요구했다 여기서 VBS는때문에 실행되지 않았습니다.strArgs = "cmd /c ""C:\program files\blabla.bat"""