Index: scripts/setup.iss =================================================================== diff -u -N -r45f4f963e795a1c2d96aca7b061d56ea54811c9b -r58de8d7360813537b384eff808c031f9e63db4de --- scripts/setup.iss (.../setup.iss) (revision 45f4f963e795a1c2d96aca7b061d56ea54811c9b) +++ scripts/setup.iss (.../setup.iss) (revision 58de8d7360813537b384eff808c031f9e63db4de) @@ -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;