|
|
|
@ -1,10 +1,10 @@
@@ -1,10 +1,10 @@
|
|
|
|
|
|
|
|
|
|
#define I2Pd_AppName "i2pd" |
|
|
|
|
#define I2Pd_AppName "i2pd" |
|
|
|
|
#define I2Pd_ver "0.2" |
|
|
|
|
|
|
|
|
|
[Setup] |
|
|
|
|
AppName={#I2Pd_AppName} |
|
|
|
|
AppVersion={#I2Pd_ver} |
|
|
|
|
AppName={#I2Pd_AppName} |
|
|
|
|
AppVersion={#I2Pd_ver} |
|
|
|
|
DefaultDirName={pf}\I2Pd |
|
|
|
|
DefaultGroupName=I2Pd |
|
|
|
|
UninstallDisplayIcon={app}\I2Pd.exe |
|
|
|
@ -25,19 +25,23 @@ Source: "..\README.md"; DestDir: "{app}"; DestName: "Readme.txt"; AfterInstall:
@@ -25,19 +25,23 @@ Source: "..\README.md"; DestDir: "{app}"; DestName: "Readme.txt"; AfterInstall:
|
|
|
|
|
Name: "{group}\I2Pd"; Filename: "{app}\i2pd.exe" |
|
|
|
|
Name: "{group}\Readme"; Filename: "{app}\Readme.txt" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Registry] |
|
|
|
|
Root: HKCU; Subkey: "Environment"; ValueName: "Path"; ValueType: "string"; ValueData: "{app};{olddata}"; Check: NotOnPathAlready(); Flags: preservestringtype; |
|
|
|
|
|
|
|
|
|
[Code] |
|
|
|
|
|
|
|
|
|
var |
|
|
|
|
DefaultTop, |
|
|
|
|
DefaultLeft, |
|
|
|
|
DefaultTop, |
|
|
|
|
DefaultLeft, |
|
|
|
|
DefaultHeight, |
|
|
|
|
DefaultBackTop, |
|
|
|
|
DefaultNextTop, |
|
|
|
|
DefaultBackTop, |
|
|
|
|
DefaultNextTop, |
|
|
|
|
DefaultCancelTop, |
|
|
|
|
DefaultBevelTop, |
|
|
|
|
DefaultBevelTop, |
|
|
|
|
DefaultOuterHeight: Integer; |
|
|
|
|
|
|
|
|
|
const |
|
|
|
|
const |
|
|
|
|
LicenseHeight = 400; |
|
|
|
|
LF = #10; |
|
|
|
|
CR = #13; |
|
|
|
@ -86,7 +90,7 @@ begin
@@ -86,7 +90,7 @@ begin
|
|
|
|
|
WizardForm.BackButton.Top := DefaultBackTop + (LicenseHeight - DefaultHeight); |
|
|
|
|
WizardForm.Bevel.Top := DefaultBevelTop + (LicenseHeight - DefaultHeight); |
|
|
|
|
end |
|
|
|
|
else |
|
|
|
|
else |
|
|
|
|
begin |
|
|
|
|
WizardForm.Top := DefaultTop; |
|
|
|
|
WizardForm.Left := DefaultLeft; |
|
|
|
@ -97,4 +101,49 @@ begin
@@ -97,4 +101,49 @@ begin
|
|
|
|
|
WizardForm.BackButton.Top := DefaultBackTop; |
|
|
|
|
WizardForm.Bevel.Top := DefaultBevelTop; |
|
|
|
|
end; |
|
|
|
|
end; |
|
|
|
|
end; |
|
|
|
|
|
|
|
|
|
function NotOnPathAlready(): Boolean; |
|
|
|
|
var |
|
|
|
|
BinDir, Path: String; |
|
|
|
|
begin |
|
|
|
|
Log('Checking if i2pd dir is already in the %PATH%'); |
|
|
|
|
if RegQueryStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', Path) then |
|
|
|
|
begin // Successfully read the value |
|
|
|
|
Log('HKCUEnvironmentPATH = ' + Path); |
|
|
|
|
BinDir := ExpandConstant('{app}'); |
|
|
|
|
Log('Looking for i2pd dir in %PATH%: ' + BinDir + ' in ' + Path); |
|
|
|
|
if Pos(LowerCase(BinDir), Lowercase(Path)) = 0 then |
|
|
|
|
begin |
|
|
|
|
Log('Did not find i2pd dir in %PATH% so I will add it'); |
|
|
|
|
Result := True; |
|
|
|
|
end |
|
|
|
|
else |
|
|
|
|
begin |
|
|
|
|
Log('Found i2pd dir in %PATH% so will not add it again'); |
|
|
|
|
Result := False; |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
else // The key probably doesn't exist |
|
|
|
|
begin |
|
|
|
|
Log('Could not access HKCUEnvironmentPATH so I assume that it is OK to add it'); |
|
|
|
|
Result := True; |
|
|
|
|
end; |
|
|
|
|
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); |
|
|
|
|
var |
|
|
|
|
BinDir, Path: String; |
|
|
|
|
begin |
|
|
|
|
if (CurUninstallStep = usPostUninstall) |
|
|
|
|
and (RegQueryStringValue(HKEY_CURRENT_USER, 'Environment', 'PATH', Path)) then |
|
|
|
|
begin |
|
|
|
|
BinDir := ExpandConstant('{app}'); |
|
|
|
|
if Pos(LowerCase(BinDir) + ';', Lowercase(Path)) <> 0 then |
|
|
|
|
begin |
|
|
|
|
StringChange(Path, BinDir + ';', ''); |
|
|
|
|
RegWriteStringValue(HKEY_CURRENT_USER, 'Environment', 'PATH', Path); |
|
|
|
|
end; |
|
|
|
|
end; |
|
|
|
|
end; |
|
|
|
|