123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- ; Script generated by the Inno Setup Script Wizard.
- ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
- #define MyAppName "Technitium DNS Server"
- #define MyAppVersion "12.2.1"
- #define MyAppPublisher "Technitium"
- #define MyAppURL "https://technitium.com/dns/"
- #define MyAppExeName "DnsServerSystemTrayApp.exe"
- [Setup]
- ; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
- ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
- AppId={{1052DB5E-35BD-4F67-89CD-1F45A1688E77}
- AppName={#MyAppName}
- AppVersion={#MyAppVersion}
- ;AppVerName={#MyAppName} {#MyAppVersion}
- AppPublisher={#MyAppPublisher}
- AppPublisherURL={#MyAppURL}
- AppSupportURL={#MyAppURL}
- AppUpdatesURL={#MyAppURL}
- VersionInfoVersion=2.2.0.0
- VersionInfoCopyright="Copyright (C) 2024 Technitium"
- DefaultDirName={commonpf32}\Technitium\DNS Server
- DefaultGroupName={#MyAppName}
- DisableProgramGroupPage=yes
- PrivilegesRequired=admin
- OutputDir=.\Release
- OutputBaseFilename=DnsServerSetup
- SetupIconFile=.\logo.ico
- WizardSmallImageFile=.\logo.bmp
- Compression=lzma
- SolidCompression=yes
- WizardStyle=modern
- UninstallDisplayIcon={app}\{#MyAppExeName}
- [Languages]
- Name: "english"; MessagesFile: "compiler:Default.isl"
- [Tasks]
- Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}";
- [Files]
- Source: ".\publish\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
- Source: ".\publish\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
- ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
- [Icons]
- Name: "{group}\DNS Server App"; Filename: "{app}\{#MyAppExeName}"
- Name: "{group}\Dashboard"; Filename: "http://localhost:5380/"
- Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
- Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
- Name: "{autodesktop}\DNS Server App"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
- [Run]
- Filename: "{app}\{#MyAppExeName}"; Parameters: "--first-run"; Description: "{cm:LaunchProgram,{#StringChange("DNS Server App", '&', '&&')}}"; Flags: nowait postinstall skipifsilent runascurrentuser
- #include "helper.iss"
- #include "legacy.iss"
- #include "dotnet.iss"
- #include "appinstall.iss"
- [Code]
- {
- Skips the tasks page if it is an upgrade install
- }
- function ShouldSkipPage(PageID: Integer): Boolean;
- begin
- Result := ((PageID = wpSelectTasks) or (PageID = wpSelectDir)) and (IsLegacyInstallerInstalled or IsUpgrade);
- end;
- function InitializeSetup: Boolean;
- begin
- CheckDotnetDependency;
- Result := true;
- end;
- procedure CurStepChanged(CurStep: TSetupStep);
- begin
- if CurStep = ssInstall then begin //Step happens just before installing files
- WizardForm.StatusLabel.Caption := 'Stopping Tray App...';
- KillTrayApp(); //Stop the tray app if running
- if IsLegacyInstallerInstalled then
- begin
- WizardForm.StatusLabel.Caption := 'Stopping Service...';
- DoStopService(); //Stop the service if running
- WizardForm.StatusLabel.Caption := 'Removing Legacy Installer...';
- UninstallLegacyInstaller(); //Uninstall Legacy Installer if Installed already
- end else
- begin
- WizardForm.StatusLabel.Caption := 'Uninstalling Service...';
- DoRemoveService(); //Stop and remove the service if installed
- end;
- end;
- if CurStep = ssPostInstall then begin //Step happens just after installing files
- WizardForm.StatusLabel.Caption := 'Installing Service...';
- DoInstallService(); //Install service after all files installed, if not a portable install
- end;
- end;
- procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
- begin
- if CurUninstallStep = usUninstall then //Step happens before processing uninstall log
- begin
- UninstallProgressForm.StatusLabel.Caption := 'Resetting Network DNS...';
- ResetNetworkDNS(); //Reset Network DNS to default
- UninstallProgressForm.StatusLabel.Caption := 'Stopping Tray App...';
- KillTrayApp(); //Stop the tray app if running
- UninstallProgressForm.StatusLabel.Caption := 'Uninstalling Service...';
- DoRemoveService(); //Stop and remove the service
- end;
- end;
|