mirror of https://github.com/PurpleI2P/i2pd.git
R4SAS
7 years ago
2 changed files with 41 additions and 149 deletions
@ -1,149 +0,0 @@ |
|||||||
|
|
||||||
#define I2Pd_AppName "i2pd" |
|
||||||
#define I2Pd_ver "0.2" |
|
||||||
|
|
||||||
[Setup] |
|
||||||
AppName={#I2Pd_AppName} |
|
||||||
AppVersion={#I2Pd_ver} |
|
||||||
DefaultDirName={pf}\I2Pd |
|
||||||
DefaultGroupName=I2Pd |
|
||||||
UninstallDisplayIcon={app}\I2Pd.exe |
|
||||||
Compression=lzma2 |
|
||||||
SolidCompression=yes |
|
||||||
OutputDir=. |
|
||||||
LicenseFile=.\..\LICENSE |
|
||||||
OutputBaseFilename=setup_{#I2Pd_AppName}_v{#I2Pd_ver} |
|
||||||
ArchitecturesInstallIn64BitMode=x64 |
|
||||||
|
|
||||||
|
|
||||||
[Files] |
|
||||||
Source: "x64\Release\i2pd.exe"; DestDir: "{app}"; DestName: "i2pd.exe"; Check: Is64BitInstallMode |
|
||||||
Source: "Release\i2pd.exe"; DestDir: "{app}"; Check: not Is64BitInstallMode |
|
||||||
Source: "..\README.md"; DestDir: "{app}"; DestName: "Readme.txt"; AfterInstall: ConvertLineEndings |
|
||||||
|
|
||||||
[Icons] |
|
||||||
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, |
|
||||||
DefaultHeight, |
|
||||||
DefaultBackTop, |
|
||||||
DefaultNextTop, |
|
||||||
DefaultCancelTop, |
|
||||||
DefaultBevelTop, |
|
||||||
DefaultOuterHeight: Integer; |
|
||||||
|
|
||||||
const |
|
||||||
LicenseHeight = 400; |
|
||||||
LF = #10; |
|
||||||
CR = #13; |
|
||||||
CRLF = CR + LF; |
|
||||||
|
|
||||||
procedure ConvertLineEndings(); |
|
||||||
var |
|
||||||
FilePath : String; |
|
||||||
FileContents : String; |
|
||||||
begin |
|
||||||
FilePath := ExpandConstant(CurrentFileName) |
|
||||||
LoadStringFromFile(FilePath, FileContents); |
|
||||||
StringChangeEx(FileContents, LF, CRLF, False); |
|
||||||
SaveStringToFile(FilePath, FileContents, False); |
|
||||||
end; |
|
||||||
|
|
||||||
procedure InitializeWizard(); |
|
||||||
begin |
|
||||||
DefaultTop := WizardForm.Top; |
|
||||||
DefaultLeft := WizardForm.Left; |
|
||||||
DefaultHeight := WizardForm.Height; |
|
||||||
DefaultBackTop := WizardForm.BackButton.Top; |
|
||||||
DefaultNextTop := WizardForm.NextButton.Top; |
|
||||||
DefaultCancelTop := WizardForm.CancelButton.Top; |
|
||||||
DefaultBevelTop := WizardForm.Bevel.Top; |
|
||||||
DefaultOuterHeight := WizardForm.OuterNotebook.Height; |
|
||||||
|
|
||||||
WizardForm.InnerPage.Height := WizardForm.InnerPage.Height + (LicenseHeight - DefaultHeight); |
|
||||||
WizardForm.InnerNotebook.Height := WizardForm.InnerNotebook.Height + (LicenseHeight - DefaultHeight); |
|
||||||
WizardForm.LicensePage.Height := WizardForm.LicensePage.Height + (LicenseHeight - DefaultHeight); |
|
||||||
WizardForm.LicenseMemo.Height := WizardForm.LicenseMemo.Height + (LicenseHeight - DefaultHeight); |
|
||||||
WizardForm.LicenseNotAcceptedRadio.Top := WizardForm.LicenseNotAcceptedRadio.Top + (LicenseHeight - DefaultHeight); |
|
||||||
WizardForm.LicenseAcceptedRadio.Top := WizardForm.LicenseAcceptedRadio.Top + (LicenseHeight - DefaultHeight); |
|
||||||
|
|
||||||
end; |
|
||||||
|
|
||||||
procedure CurPageChanged(CurPageID: Integer); |
|
||||||
begin |
|
||||||
if CurPageID = wpLicense then |
|
||||||
begin |
|
||||||
WizardForm.Top := DefaultTop - (LicenseHeight - DefaultHeight) div 2; |
|
||||||
WizardForm.Height := LicenseHeight; |
|
||||||
WizardForm.OuterNotebook.Height := WizardForm.OuterNotebook.Height + (LicenseHeight - DefaultHeight); |
|
||||||
WizardForm.CancelButton.Top := DefaultCancelTop + (LicenseHeight - DefaultHeight); |
|
||||||
WizardForm.NextButton.Top := DefaultNextTop + (LicenseHeight - DefaultHeight); |
|
||||||
WizardForm.BackButton.Top := DefaultBackTop + (LicenseHeight - DefaultHeight); |
|
||||||
WizardForm.Bevel.Top := DefaultBevelTop + (LicenseHeight - DefaultHeight); |
|
||||||
end |
|
||||||
else |
|
||||||
begin |
|
||||||
WizardForm.Top := DefaultTop; |
|
||||||
WizardForm.Left := DefaultLeft; |
|
||||||
WizardForm.Height := DefaultHeight; |
|
||||||
WizardForm.OuterNotebook.Height := DefaultOuterHeight; |
|
||||||
WizardForm.CancelButton.Top := DefaultCancelTop; |
|
||||||
WizardForm.NextButton.Top := DefaultNextTop; |
|
||||||
WizardForm.BackButton.Top := DefaultBackTop; |
|
||||||
WizardForm.Bevel.Top := DefaultBevelTop; |
|
||||||
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; |
|
@ -0,0 +1,41 @@ |
|||||||
|
#define I2Pd_AppName "i2pd" |
||||||
|
#define I2Pd_ver "2.14.0" |
||||||
|
#define I2Pd_Publisher "PurpleI2P" |
||||||
|
|
||||||
|
[Setup] |
||||||
|
AppName={#I2Pd_AppName} |
||||||
|
AppVersion={#I2Pd_ver} |
||||||
|
AppPublisher={#I2Pd_Publisher} |
||||||
|
DefaultDirName={pf}\I2Pd |
||||||
|
DefaultGroupName=I2Pd |
||||||
|
UninstallDisplayIcon={app}\I2Pd.exe |
||||||
|
OutputDir=. |
||||||
|
LicenseFile=../LICENSE |
||||||
|
OutputBaseFilename=setup_{#I2Pd_AppName}_v{#I2Pd_ver} |
||||||
|
SetupIconFile=mask.ico |
||||||
|
InternalCompressLevel=ultra64 |
||||||
|
Compression=lzma/ultra64 |
||||||
|
SolidCompression=true |
||||||
|
ArchitecturesInstallIn64BitMode=x64 |
||||||
|
AppVerName={#I2Pd_AppName} |
||||||
|
ExtraDiskSpaceRequired=15 |
||||||
|
AppID={{621A23E0-3CF4-4BD6-97BC-4835EA5206A2} |
||||||
|
AppPublisherURL=http://i2pd.website/ |
||||||
|
AppSupportURL=https://github.com/PurpleI2P/i2pd/issues |
||||||
|
AppUpdatesURL=https://github.com/PurpleI2P/i2pd/releases |
||||||
|
|
||||||
|
[Files] |
||||||
|
Source: ..\i2pd_x86.exe; DestDir: {app}; DestName: i2pd.exe; Flags: ignoreversion; Check: not IsWin64 |
||||||
|
Source: ..\i2pd_x64.exe; DestDir: {app}; DestName: i2pd.exe; Flags: ignoreversion; Check: IsWin64 |
||||||
|
Source: ..\README.md; DestDir: {app}; DestName: Readme.txt; Flags: onlyifdoesntexist |
||||||
|
Source: ..\contrib\i2pd.conf; DestDir: {userappdata}\i2pd; Flags: onlyifdoesntexist |
||||||
|
Source: ..\contrib\subscriptions.txt; DestDir: {userappdata}\i2pd; Flags: onlyifdoesntexist |
||||||
|
Source: ..\contrib\tunnels.conf; DestDir: {userappdata}\i2pd; Flags: onlyifdoesntexist |
||||||
|
Source: ..\contrib\certificates\*; DestDir: {userappdata}\i2pd\certificates; Flags: onlyifdoesntexist recursesubdirs createallsubdirs |
||||||
|
|
||||||
|
[Icons] |
||||||
|
Name: {group}\I2Pd; Filename: {app}\i2pd.exe |
||||||
|
Name: {group}\Readme; Filename: {app}\Readme.txt |
||||||
|
|
||||||
|
[UninstallDelete] |
||||||
|
Type: filesandordirs; Name: {app} |
Loading…
Reference in new issue