mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-25 23:44:18 +00:00
innosetup: Add i2pd to PATH
This commit is contained in:
parent
3cd1281167
commit
4b0001b442
@ -1,10 +1,10 @@
|
|||||||
|
|
||||||
#define I2Pd_AppName "i2pd"
|
#define I2Pd_AppName "i2pd"
|
||||||
#define I2Pd_ver "0.2"
|
#define I2Pd_ver "0.2"
|
||||||
|
|
||||||
[Setup]
|
[Setup]
|
||||||
AppName={#I2Pd_AppName}
|
AppName={#I2Pd_AppName}
|
||||||
AppVersion={#I2Pd_ver}
|
AppVersion={#I2Pd_ver}
|
||||||
DefaultDirName={pf}\I2Pd
|
DefaultDirName={pf}\I2Pd
|
||||||
DefaultGroupName=I2Pd
|
DefaultGroupName=I2Pd
|
||||||
UninstallDisplayIcon={app}\I2Pd.exe
|
UninstallDisplayIcon={app}\I2Pd.exe
|
||||||
@ -25,19 +25,23 @@ Source: "..\README.md"; DestDir: "{app}"; DestName: "Readme.txt"; AfterInstall:
|
|||||||
Name: "{group}\I2Pd"; Filename: "{app}\i2pd.exe"
|
Name: "{group}\I2Pd"; Filename: "{app}\i2pd.exe"
|
||||||
Name: "{group}\Readme"; Filename: "{app}\Readme.txt"
|
Name: "{group}\Readme"; Filename: "{app}\Readme.txt"
|
||||||
|
|
||||||
|
|
||||||
|
[Registry]
|
||||||
|
Root: HKCU; Subkey: "Environment"; ValueName: "Path"; ValueType: "string"; ValueData: "{app};{olddata}"; Check: NotOnPathAlready(); Flags: preservestringtype;
|
||||||
|
|
||||||
[Code]
|
[Code]
|
||||||
|
|
||||||
var
|
var
|
||||||
DefaultTop,
|
DefaultTop,
|
||||||
DefaultLeft,
|
DefaultLeft,
|
||||||
DefaultHeight,
|
DefaultHeight,
|
||||||
DefaultBackTop,
|
DefaultBackTop,
|
||||||
DefaultNextTop,
|
DefaultNextTop,
|
||||||
DefaultCancelTop,
|
DefaultCancelTop,
|
||||||
DefaultBevelTop,
|
DefaultBevelTop,
|
||||||
DefaultOuterHeight: Integer;
|
DefaultOuterHeight: Integer;
|
||||||
|
|
||||||
const
|
const
|
||||||
LicenseHeight = 400;
|
LicenseHeight = 400;
|
||||||
LF = #10;
|
LF = #10;
|
||||||
CR = #13;
|
CR = #13;
|
||||||
@ -86,7 +90,7 @@ begin
|
|||||||
WizardForm.BackButton.Top := DefaultBackTop + (LicenseHeight - DefaultHeight);
|
WizardForm.BackButton.Top := DefaultBackTop + (LicenseHeight - DefaultHeight);
|
||||||
WizardForm.Bevel.Top := DefaultBevelTop + (LicenseHeight - DefaultHeight);
|
WizardForm.Bevel.Top := DefaultBevelTop + (LicenseHeight - DefaultHeight);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
WizardForm.Top := DefaultTop;
|
WizardForm.Top := DefaultTop;
|
||||||
WizardForm.Left := DefaultLeft;
|
WizardForm.Left := DefaultLeft;
|
||||||
@ -97,4 +101,49 @@ begin
|
|||||||
WizardForm.BackButton.Top := DefaultBackTop;
|
WizardForm.BackButton.Top := DefaultBackTop;
|
||||||
WizardForm.Bevel.Top := DefaultBevelTop;
|
WizardForm.Bevel.Top := DefaultBevelTop;
|
||||||
end;
|
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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user