UltimateZoneBuilder/Setup/UZBuilder_setup.iss
2024-06-25 16:19:22 +02:00

180 lines
No EOL
8.2 KiB
Text

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define public Dependency_NoExampleSetup
#include "CodeDependencies.iss"
#define UZB_arch "x64"
#define UZB_GetVersionString() \
Local[0] = GetVersionNumbersString("..\Build\Builder.exe")
#define UZB_GetVersionInfo() \
Local[0] = GetStringFileInfo("..\Build\Builder.exe", PRODUCT_VERSION)
#define UZB_GetVersion() \
GetVersionComponents("..\Build\Builder.exe", \
Local[0], Local[1], Local[2], Local[3]), \
Str(Local[0]) + "." + Str(Local[1])
#if UZB_arch != "x86"
#define UZB_bit "64-bit"
#else
#define UZB_bit "32-bit"
#endif
[Setup]
AppName=Ultimate Zone Builder
AppVerName=Ultimate Zone Builder {#UZB_GetVersionInfo} ({#UZB_arch})
VersionInfoVersion={#UZB_GetVersionString}
AppPublisher=Sonic Team Junior
AppPublisherURL=https://www.srb2.org/
AppSupportURL=https://git.do.srb2.org/STJr/UltimateZoneBuilder/-/issues
AppUpdatesURL=https://git.do.srb2.org/STJr/UltimateZoneBuilder/-/releases
DefaultDirName={commonpf}\Ultimate Zone Builder
DefaultGroupName=Ultimate Zone Builder
AllowNoIcons=true
LicenseFile=..\LICENSE.txt
OutputDir=..\Release
OutputBaseFilename="UZBuilder v{#UZB_GetVersionInfo} Setup ({#UZB_bit})"
Compression=lzma/ultra64
SolidCompression=true
SourceDir=..\Build
SetupLogging=false
AppMutex=ultimatezonebuilder
PrivilegesRequired=admin
ShowLanguageDialog=no
LanguageDetectionMethod=none
MinVersion=0,6.1sp1
UninstallDisplayIcon={app}\Updater.exe
WizardImageFile=..\Setup\UZB-large.bmp
WizardSmallImageFile=..\Setup\UZB-small.bmp
WizardImageAlphaFormat=defined
WizardImageStretch=false
#if UZB_arch != "x86"
ArchitecturesInstallIn64BitMode=x64
ArchitecturesAllowed=x64
#endif
[Languages]
Name: english; MessagesFile: compiler:Default.isl
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
[Files]
Source: Builder.exe; DestDir: {app}; Flags: ignoreversion
Source: Builder.pdb; DestDir: {app}; Flags: ignoreversion
Source: Builder.exe.config; DestDir: {app}; Flags: ignoreversion
Source: UZBuilder.default.cfg; DestDir: {app}; Flags: ignoreversion
//Source: Updater.exe; DestDir: {app}; Flags: ignoreversion
Source: Updater.ini; DestDir: {app}; Flags: ignoreversion
Source: Refmanual.chm; DestDir: {app}; Flags: ignoreversion
Source: BuilderNative.dll; DestDir: {app}; Flags: ignoreversion
Source: BuilderNative.pdb; DestDir: {app}; Flags: ignoreversion
Source: SharpCompress.dll; DestDir: {app}; Flags: ignoreversion
Source: ScintillaNET.dll; DestDir: {app}; Flags: ignoreversion
Source: TabControlEX.dll; DestDir: {app}; Flags: ignoreversion
Source: System.Buffers.dll; DestDir: {app}; Flags: ignoreversion
Source: System.Memory.dll; DestDir: {app}; Flags: ignoreversion
Source: System.Numerics.Vectors.dll; DestDir: {app}; Flags: ignoreversion
Source: System.Runtime.CompilerServices.Unsafe.dll; DestDir: {app}; Flags: ignoreversion
Source: LICENSE.txt; DestDir: {app}; Flags: ignoreversion
Source: Compilers\*; DestDir: {app}\Compilers; Flags: ignoreversion recursesubdirs
Source: Configurations\*; DestDir: {app}\Configurations; Flags: ignoreversion recursesubdirs
Source: Scripting\*; DestDir: {app}\Scripting; Flags: ignoreversion recursesubdirs
Source: Snippets\*; DestDir: {app}\Snippets; Flags: ignoreversion recursesubdirs
Source: UDBScript\udbscript.d.ts; DestDir: {app}\UDBScript; Flags: ignoreversion
Source: UDBScript\Libraries\*; DestDir: {app}\UDBScript\Libraries; Flags: ignoreversion recursesubdirs
Source: UDBScript\Scripts\Examples\*; DestDir: {app}\UDBScript\Scripts\Examples; Flags: ignoreversion recursesubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
Source: Plugins\AutomapMode.dll; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\AutomapMode.pdb; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\BuilderModes.dll; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\BuilderModes.pdb; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\BuilderEffects.dll; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\BuilderEffects.pdb; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\ColorPicker.dll; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\ColorPicker.pdb; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\CommentsPanel.dll; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\CommentsPanel.pdb; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\NodesViewer.dll; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\NodesViewer.pdb; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\SoundPropagationMode.dll; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\SoundPropagationMode.pdb; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\StairSectorBuilder.dll; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\StairSectorBuilder.pdb; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\TagExplorer.dll; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\TagExplorer.pdb; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\TagRange.dll; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\TagRange.pdb; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\ThreeDFloorMode.dll; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\ThreeDFloorMode.pdb; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\UDBScript.dll; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\UDBScript.pdb; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\VisplaneExplorer.dll; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\VisplaneExplorer.pdb; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Plugins\Loadorder.cfg; DestDir: {app}\Plugins; Flags: ignoreversion onlyifdoesntexist
Source: Plugins\Dependencies\*; DestDir: {app}\Plugins\Dependencies; Flags: ignoreversion
Source: Sprites\*; DestDir: {app}\Sprites; Flags: ignoreversion recursesubdirs
Source: Textures\*; DestDir: {app}\Textures; Flags: ignoreversion
[Icons]
Name: {group}\Ultimate Zone Builder; Filename: {app}\Builder.exe
Name: {group}\{cm:UninstallProgram,Ultimate Zone Builder}; Filename: {uninstallexe}
Name: {autodesktop}\Ultimate Zone Builder; Filename: {app}\Builder.exe; Tasks: desktopicon
[Run]
Filename: {app}\Builder.exe; Description: Run {#SetupSetting("AppName")}; Flags: postinstall skipifsilent
[UninstallDelete]
Name: {app}; Type: filesandordirs
;[InstallDelete]
;Name: {app}\Builder.pdb; Type: files
;Name: {app}\Builder.xml; Type: files
[Registry]
Root: HKCU; Subkey: SOFTWARE\Ultimate Zone Builder\; ValueType: string; ValueName: Location; ValueData: {app}; Flags: uninsdeletevalue
[Messages]
ReadyLabel2a=Continue to begin with the installation, or click Back if you want to review or change any settings.
[Code]
// When the wizard initializes
procedure InitializeWizard();
begin
// .Net and VC Redistributables. Those come from CodeDependencies.iss
Dependency_AddDotNet47;
//Dependency_AddVC2015To2022;
// Hide radio buttons and pre-select "accept", to enable "next" button
WizardForm.LicenseAcceptedRadio.Checked := True;
WizardForm.LicenseAcceptedRadio.Visible := False;
WizardForm.LicenseNotAcceptedRadio.Visible := False;
WizardForm.LicenseMemo.Height :=
WizardForm.LicenseNotAcceptedRadio.Top +
WizardForm.LicenseNotAcceptedRadio.Height -
WizardForm.LicenseMemo.Top - ScaleY(5);
end;
procedure CurPageChanged(CurPageID: Integer);
begin
// Dubious, but you have asked for it
if CurPageID = wpLicense then
begin
WizardForm.NextButton.Caption := '&Next';
end;
end;
//Remove configs?
procedure DeinitializeUninstall();
begin
if MsgBox('Delete map restore data and program configuration files?', mbConfirmation, MB_YESNO) = IDYES then
begin
// Remove restore data
DelTree(ExpandConstant('{localappdata}\Ultimate Zone Builder\Restore'), True, True, True);
// Remove configs
DeleteFile(ExpandConstant('{localappdata}\Ultimate Zone Builder\UZBuilder.cfg'));
DeleteFile(ExpandConstant('{localappdata}\Ultimate Zone Builder\UZBuilder.log'));
DeleteFile(ExpandConstant('{localappdata}\Ultimate Zone Builder\UZBCrash.txt'));
end;
end;