mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2024-11-30 07:31:36 +00:00
164 lines
5.3 KiB
Text
164 lines
5.3 KiB
Text
; Script generated by the Inno Setup Script Wizard.
|
|
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
|
|
|
[Setup]
|
|
AppName=Doom Builder 2
|
|
AppVerName=Doom Builder 2.0
|
|
AppPublisher=CodeImp
|
|
AppPublisherURL=http://www.codeimp.com/
|
|
AppSupportURL=http://www.doombuilder.com/
|
|
AppUpdatesURL=http://www.doombuilder.com/
|
|
DefaultDirName={pf}\Doom Builder 2
|
|
DefaultGroupName=Doom Builder
|
|
AllowNoIcons=true
|
|
InfoBeforeFile=F:\Projects\Doom Builder\Setup\disclaimer.txt
|
|
OutputDir=F:\Projects\Doom Builder\Setup
|
|
OutputBaseFilename=builder2_setup
|
|
Compression=lzma/ultra64
|
|
SolidCompression=true
|
|
SourceDir=F:\Projects\Doom Builder\Build
|
|
SetupLogging=false
|
|
AppMutex=doombuilder2
|
|
PrivilegesRequired=poweruser
|
|
ShowLanguageDialog=no
|
|
LanguageDetectionMethod=none
|
|
MinVersion=0,5.01.2600
|
|
UninstallDisplayIcon={app}\Builder.exe
|
|
|
|
[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.cfg; DestDir: {app}; Flags: ignoreversion
|
|
Source: Refmanual.chm; DestDir: {app}; Flags: ignoreversion
|
|
Source: Sharpzip.dll; DestDir: {app}; Flags: ignoreversion
|
|
Source: Scintilla.dll; DestDir: {app}; Flags: ignoreversion
|
|
Source: Trackbar.dll; DestDir: {app}; Flags: ignoreversion
|
|
Source: GPL.txt; DestDir: {app}; Flags: ignoreversion
|
|
Source: Compilers\*; DestDir: {app}\Compilers; Flags: ignoreversion recursesubdirs
|
|
Source: Configurations\*; DestDir: {app}\Configurations; Flags: ignoreversion
|
|
Source: Scripting\*; DestDir: {app}\Scripting; Flags: ignoreversion
|
|
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
|
Source: Plugins\BuilderModes.dll; DestDir: {app}\Plugins; Flags: ignoreversion
|
|
Source: Plugins\BuilderModes.pdb; DestDir: {app}\Plugins; Flags: ignoreversion
|
|
Source: Setup\*; DestDir: {app}\Setup; Flags: ignoreversion
|
|
Source: Sprites\*; DestDir: {app}\Sprites; Flags: ignoreversion
|
|
|
|
[Icons]
|
|
Name: {group}\Doom Builder; Filename: {app}\Builder.exe
|
|
Name: {group}\{cm:UninstallProgram,Doom Builder}; Filename: {uninstallexe}
|
|
Name: {commondesktop}\Doom Builder; Filename: {app}\Builder.exe; Tasks: desktopicon
|
|
|
|
[Run]
|
|
|
|
[UninstallDelete]
|
|
Name: {localappdata}\Doom Builder; Type: filesandordirs
|
|
[InstallDelete]
|
|
Name: {app}\Builder.pdb; Type: files
|
|
[Registry]
|
|
Root: HKLM; Subkey: SOFTWARE\CodeImp\Doom Builder\; ValueType: string; ValueName: Location; ValueData: {app}; Flags: uninsdeletevalue
|
|
[Code]
|
|
// Global variables
|
|
var
|
|
page_info_net: TOutputMsgWizardPage;
|
|
page_setup_net: TOutputProgressWizardPage;
|
|
page_setup_components: TOutputProgressWizardPage;
|
|
componentsinstalled: Boolean;
|
|
restartneeded: Boolean;
|
|
|
|
|
|
// When the wizard initializes
|
|
procedure InitializeWizard();
|
|
begin
|
|
restartneeded := false;
|
|
componentsinstalled := false;
|
|
page_info_net := CreateOutputMsgPage(wpInstalling, 'Installing Microsoft .NET Framework', '', 'Setup has detected that your system is missing the required version of the Microsoft .NET Framework. Setup will now download and install or update your Microsoft .NET Framework. This requires an internet connection and may take some time to complete.' + #10 + #10 + 'Press Next to begin.');
|
|
page_setup_net := CreateOutputProgressPage('Installing Microsoft .NET Framework', 'Setup is installing Microsoft .NET Framework, please wait.....');
|
|
page_setup_components := CreateOutputProgressPage('Installing Components', 'Setup is installing required components.....');
|
|
end;
|
|
|
|
|
|
|
|
// This is called to check if a page must be skipped
|
|
function ShouldSkipPage(PageID: Integer): Boolean;
|
|
begin
|
|
// Skip the .NET page?
|
|
if(PageID = page_info_net.ID) then
|
|
Result := RegKeyExists(HKLM, 'SOFTWARE\Microsoft\.NETFramework\policy\v2.0')
|
|
else
|
|
Result := False;
|
|
end;
|
|
|
|
|
|
// This is called to determine if we need to restart
|
|
function NeedRestart(): Boolean;
|
|
begin
|
|
Result := restartneeded;
|
|
end;
|
|
|
|
|
|
// This is called when the current page changes
|
|
procedure CurPageChanged(CurPageID: Integer);
|
|
var
|
|
errorcode: Integer;
|
|
begin
|
|
if(CurPageID = wpFinished) then
|
|
if(componentsinstalled = False) then
|
|
begin
|
|
page_setup_components.Show;
|
|
ShellExec('open', ExpandConstant('{app}\Setup\dxwebsetup.exe'), '/Q', '', SW_SHOW, ewWaitUntilTerminated, errorcode);
|
|
ShellExec('open', 'msiexec', ExpandConstant('/passive /i "{app}\Setup\slimdx.msi"'), '', SW_SHOW, ewWaitUntilTerminated, errorcode);
|
|
componentsinstalled := True;
|
|
page_setup_components.Hide;
|
|
end
|
|
end;
|
|
|
|
|
|
// This is called when the Next button is clicked
|
|
function NextButtonClick(CurPage: Integer): Boolean;
|
|
var
|
|
errorcode: Integer;
|
|
begin
|
|
|
|
// Next pressed on .NET info page?
|
|
if(CurPage = page_info_net.ID) then
|
|
begin
|
|
// Show progress page and run setup
|
|
page_setup_net.Show;
|
|
try
|
|
begin
|
|
ShellExec('open', ExpandConstant('{app}\Setup\dotnetfx35setup.exe'), '/qb /norestart', '', SW_SHOW, ewWaitUntilTerminated, errorcode);
|
|
if(errorcode = 3010) then
|
|
begin
|
|
restartneeded := True;
|
|
// Actually we should restart immediately here and tell the user to install again after restart
|
|
end
|
|
end
|
|
finally
|
|
page_setup_net.Hide;
|
|
end;
|
|
end
|
|
|
|
Result := True;
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|