Index: scripts/setup.iss =================================================================== diff -u -N -r6b464cfe96c1828308331ff3731db364db830576 -rf84eecda89d8734da9790a2b8d4a54d344e40c46 --- scripts/setup.iss (.../setup.iss) (revision 6b464cfe96c1828308331ff3731db364db830576) +++ scripts/setup.iss (.../setup.iss) (revision f84eecda89d8734da9790a2b8d4a54d344e40c46) @@ -169,6 +169,8 @@ [Run] Filename: "{app}\{code:ExpandArch|ExeFilename}"; Flags: nowait postinstall skipifsilent; Description: "{cm:LaunchProgram,{#MyAppName}}" +Filename: "Reg.exe"; Parameters: "delete ""SOFTWARE\Microsoft\Windows\CurrentVersion\Run"" /v ""Copy Handler"" /f"; Flags: runasoriginaluser; +Filename: "Reg.exe"; Parameters: "add ""SOFTWARE\Microsoft\Windows\CurrentVersion\Run"" /v ""Copy Handler"" /t REG_SZ /d ""{app}\{code:ExpandArch|ExeFilename}"" /f"; Flags: runasoriginaluser postinstall; Tasks: startatboot [Registry] Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: none; ValueName: "Copy Handler"; Flags: deletevalue uninsdeletevalue @@ -188,6 +190,9 @@ [ThirdParty] CompileLogMethod=append +[UninstallRun] +Filename: "Reg.exe"; Parameters: "delete ""SOFTWARE\Microsoft\Windows\CurrentVersion\Run"" /v ""Copy Handler"" /f"; Flags: runasoriginaluser; + [Code] function ExpandArch(ConstantStr: String): String; begin @@ -206,16 +211,3 @@ end; end; end; - -procedure CurStepChanged(CurStep: TSetupStep); -var - ResultCode: Integer; -begin - if CurStep = ssPostInstall then - begin - if IsTaskSelected('startatboot') then - ExecAsOriginalUser(ExpandConstant('{app}\{code:ExpandArch|ExeFilename}'), '--EnableLaunchAtStartup=1', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) - else - ExecAsOriginalUser(ExpandConstant('{app}\{code:ExpandArch|ExeFilename}'), '--EnableLaunchAtStartup=0', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) - end; -end;