4 AppVerName
={#AppName} {#AppVersion}
5 AppPublisher
=PCC Project
6 AppPublisherURL
=http
://pcc
.ludd
.ltu
.se
/
7 DefaultDirName
={pf}\
{#AppNameLower}
8 DefaultGroupName
={#AppName}
10 InternalCompressLevel
=ultra
13 OutputBaseFilename
={#AppNameLower}-{#AppVersion}-win32
14 ChangesEnvironment
=yes
17 Source
: "c:\Program Files\{#AppNameLower}\*.*"; DestDir
: {app}; Flags
: recursesubdirs
20 Name
: {group}\
{cm:UninstallProgram, {#AppName}}
; FileName
: {uninstallexe}
23 Root
: HKLM
; Subkey
: System\CurrentControlSet\Control\Session Manager\Environment
; ValueName
: {#AppName}DIR
; ValueType
: string; ValueData
: {app}; Flags
: deletevalue
26 Name
: modifypath
; Description
: Add application directory
to your
system path
; Flags
: unchecked
30 // Jared Breland
<jbreland
@legroom
.net
>
31 // http
://www
.legroom
.net
/software
/modpath
33 procedure ModPath(BinDir
: String);
37 pathArr
: TArrayOfString
;
40 RegQueryStringValue(HKEY_LOCAL_MACHINE
, 'System\CurrentControlSet\Control\Session Manager\Environment', 'Path', oldpath
);
41 oldpath
:= oldpath
+ ';';
43 while (Pos(';', oldpath
) > 0) do begin
44 SetArrayLength(pathArr
, i
+1);
45 pathArr
[i
] := Copy(oldpath
, 0, Pos(';', oldpath
) - 1);
46 oldpath
:= Copy(oldpath
, Pos(';', oldpath
) + 1, Length(oldpath
));
49 if BinDir
= pathArr
[i
-1] then
50 if IsUninstaller() = true then begin
57 newpath
:= pathArr
[i
-1];
59 newpath
:= newpath
+ ';' + pathArr
[i
-1];
63 if IsUninstaller() = false then
64 newpath
:= newpath
+ ';' + BinDir
;
66 RegWriteStringValue(HKEY_LOCAL_MACHINE
, 'System\CurrentControlSet\Control\Session Manager\Environment', 'Path', newpath
);
69 procedure CurStepChanged(CurStep
: TSetupStep
);
73 if CurStep
= ssPostInstall
then
74 if IsTaskSelected('modifypath') then begin
75 appdir
:= ExpandConstant('{app}');
76 ModPath(appdir
+ '\bin');
77 SaveStringToFile(appdir
+ '\uninsTasks.txt', WizardSelectedTasks(False), False);
81 procedure CurUninstallStepChanged(CurUninstallStep
: TUninstallStep
);
84 selectedTasks
: String;
86 if CurUninstallStep
= usUninstall
then begin
87 appdir
:= ExpandConstant('{app}');
88 if LoadStringFromFile(appdir
+ '\uninsTasks.txt', selectedTasks
) then
89 if (Pos('modifypath', selectedTasks
) > 0) then
90 ModPath(appdir
+ '\bin');
91 DeleteFile(appdir
+ '\uninsTasks.txt')