Master-x64.ina
[UninstallDelete] Type: filesandordirs; Name: "{app}\logs"
; --- Optional: Disable program group page if not needed --- ; DisableProgramGroupPage=yes
// --------------------------------------------------------------------- // Prerequisite check before installation begins // --------------------------------------------------------------------- function InitializeSetup: Boolean; begin Result := True; master-x64.ina
// --------------------------------------------------------------------- // Check for .NET Framework 4.8 (example) // --------------------------------------------------------------------- function IsDotNet48Installed: Boolean; var Release: Cardinal; begin Result := False; if RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full', 'Release', Release) then begin Result := (Release >= 528040); // .NET 4.8 = 528040 end; end;
// Optional: Check for admin rights (already set above, but double-check) if not IsAdminLoggedOn then begin SuppressibleMsgBox('Administrator rights are required to install this application.', mbError, MB_OK, MB_OK); Result := False; Exit; end; end; [UninstallDelete] Type: filesandordirs
[Icons] Name: "{group}\My Application"; Filename: "{app}\MyApp.exe" Name: "{group}{cm:UninstallProgram,My Application}"; Filename: "{uninstallexe}" Name: "{autodesktop}\My Application"; Filename: "{app}\MyApp.exe"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\My Application"; Filename: "{app}\MyApp.exe"; Tasks: quicklaunchicon
[Languages] Name: "english"; MessagesFile: "compiler:Default.isl" begin Result := True
// --------------------------------------------------------------------- // Custom wizard page (example: welcome message) // --------------------------------------------------------------------- procedure CurPageChanged(CurPageID: Integer); begin if CurPageID = wpWelcome then begin WizardForm.WelcomeLabel2.Caption := 'This 64-bit version is optimized for modern systems.' + #13#10 + 'Setup will guide you through the installation.'; end; end;
// Check for .NET Framework 4.8 if not IsDotNet48Installed then begin SuppressibleMsgBox('This application requires .NET Framework 4.8.' + #13#10 + 'Please install it from https://dotnet.microsoft.com/download/dotnet-framework/net48', mbError, MB_OK, MB_OK); Result := False; Exit; end;
[Run] Filename: "{app}\MyApp.exe"; Description: "{cm:LaunchProgram,My Application}"; Flags: nowait postinstall skipifsilent