mirror of
https://github.com/Auties00/Reboot-Launcher.git
synced 2026-01-13 03:02:22 +01:00
126 lines
4.3 KiB
Plaintext
126 lines
4.3 KiB
Plaintext
[Setup]
|
|
AppId={{APP_ID}}
|
|
AppVersion={{APP_VERSION}}
|
|
AppName={{DISPLAY_NAME}}
|
|
AppPublisher={{PUBLISHER_NAME}}
|
|
AppPublisherURL={{PUBLISHER_URL}}
|
|
AppSupportURL={{PUBLISHER_URL}}
|
|
AppUpdatesURL={{PUBLISHER_URL}}
|
|
DefaultDirName={autopf}\{{DISPLAY_NAME}}
|
|
DisableProgramGroupPage=yes
|
|
OutputBaseFilename={{OUTPUT_BASE_FILENAME}}
|
|
Compression=zip
|
|
SolidCompression=yes
|
|
WizardStyle=modern
|
|
PrivilegesRequired=admin
|
|
ArchitecturesAllowed=x64
|
|
ArchitecturesInstallIn64BitMode=x64
|
|
ChangesEnvironment=yes
|
|
SetupLogging=yes
|
|
|
|
[Languages]
|
|
Name: "english"; MessagesFile: "compiler:Default.isl"
|
|
|
|
[CustomMessages]
|
|
InstallingVC2017redist=Installing Visual C++ Redistributable
|
|
|
|
[Tasks]
|
|
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkedonce
|
|
Name: "launchAtStartup"; Description: "{cm:AutoStartProgram,{{DISPLAY_NAME}}}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
|
|
|
[Dirs]
|
|
Name: "{app}"; Permissions: everyone-full
|
|
|
|
[Files]
|
|
Source: "{{SOURCE_DIR}}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Permissions: everyone-full
|
|
Source: "..\..\dependencies\redist\VC_redist.x64.exe"; DestDir: {tmp}; Flags: dontcopy
|
|
|
|
[Run]
|
|
Filename: "{app}\{{EXECUTABLE_NAME}}"; Description: "{cm:LaunchProgram,{{DISPLAY_NAME}}}"; Flags: runascurrentuser nowait postinstall skipifsilent
|
|
Filename: "{tmp}\VC_redist.x64.exe"; StatusMsg: "{cm:InstallingVC2017redist}"; Parameters: "/quiet"; Check: VC2017RedistNeedsInstall; Flags: waituntilterminated
|
|
|
|
[Icons]
|
|
Name: "{autoprograms}\{{DISPLAY_NAME}}"; Filename: "{app}\{{EXECUTABLE_NAME}}"
|
|
Name: "{autodesktop}\{{DISPLAY_NAME}}"; Filename: "{app}\{{EXECUTABLE_NAME}}"; Tasks: desktopicon
|
|
Name: "{userstartup}\{{DISPLAY_NAME}}"; Filename: "{app}\{{EXECUTABLE_NAME}}"; WorkingDir: "{app}"; Tasks: launchAtStartup
|
|
|
|
[Code]
|
|
var
|
|
Page: TInputOptionWizardPage;
|
|
|
|
procedure InitializeWizard();
|
|
begin
|
|
Page := CreateInputOptionPage(
|
|
wpWelcome,
|
|
' Allow DLL injection',
|
|
' The Reboot Launcher needs to inject DLLs into Fortnite to create the game server',
|
|
'Selecting the option below will add the Reboot Launcher to the Windows Exclusions list. ' +
|
|
'This is necessary because DLL injection is often detected as a virus, but is necessary to modify Fortnite. ' +
|
|
'This option was designed for advanced users who want to manually manage the exclusions list on their machine. ' +
|
|
'If you do not trust the Reboot Launcher, you can audit the source code at https://github.com/Auties00/reboot_launcher and build it from source.',
|
|
False,
|
|
False
|
|
);
|
|
Page.Add('&Add the launcher to the Windows Exclusions list');
|
|
Page.Values[0] := True;
|
|
end;
|
|
|
|
function ShouldSkipPage(PageID: Integer): Boolean;
|
|
begin
|
|
Result := False;
|
|
end;
|
|
|
|
procedure CurStepChanged(CurStep: TSetupStep);
|
|
var
|
|
ResultCode: Integer;
|
|
InstallationDir: String;
|
|
begin
|
|
if (CurStep = ssPostInstall) and Page.Values[0] then
|
|
begin
|
|
InstallationDir := ExpandConstant('{app}');
|
|
Exec('powershell.exe', '-ExecutionPolicy Bypass -Command ""Add-MpPreference -ExclusionPath ''' + InstallationDir + '''""' , '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
|
|
Log('Powershell exit code: ' + IntToStr(ResultCode));
|
|
end;
|
|
end;
|
|
|
|
function CompareVersion(version1, version2: String): Integer;
|
|
var
|
|
packVersion1, packVersion2: Int64;
|
|
begin
|
|
if not StrToVersion(version1, packVersion1) then packVersion1 := 0;
|
|
if not StrToVersion(version2, packVersion2) then packVersion2 := 0;
|
|
Result := ComparePackedVersion(packVersion1, packVersion2);
|
|
end;
|
|
|
|
function BoolToStr(Value: Boolean): String;
|
|
begin
|
|
if Value then
|
|
Result := 'Yes'
|
|
else
|
|
Result := 'No';
|
|
end;
|
|
|
|
function VC2017RedistNeedsInstall: Boolean;
|
|
var
|
|
Version: String;
|
|
begin
|
|
if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64', 'Version', Version) then
|
|
begin
|
|
Result := (CompareVersion(Copy(Version, 2, Length(Version)), '14.40.33810.00') < 0);
|
|
end
|
|
else
|
|
begin
|
|
Result := True;
|
|
end;
|
|
Log('Visual C++ Redistributable version: ' + Version);
|
|
Log('Needs installation? ' + BoolToStr(Result));
|
|
if (Result) then
|
|
begin
|
|
ExtractTemporaryFile('VC_redist.x64.exe');
|
|
end;
|
|
end;
|
|
|
|
[Registry]
|
|
Root: HKCU; Subkey: "Environment"; ValueType:string; ValueName: "OPENSSL_ia32cap"; ValueData: "~0x20000000"; Flags: preservestringtype
|
|
|