UltimateZoneBuilder/Setup/builder2_setup.iss
2008-05-11 09:17:56 +00:00

125 lines
4.1 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=E:\Projects\Doom Builder\Setup\disclaimer.txt
OutputDir=E:\Projects\Doom Builder\Setup
OutputBaseFilename=builder2_setup
Compression=lzma/ultra64
SolidCompression=true
SourceDir=E:\Projects\Doom Builder\Build
SetupLogging=false
AppMutex=doombuilder2
PrivilegesRequired=poweruser
ShowLanguageDialog=no
LanguageDetectionMethod=none
[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: SlimDX.dll; DestDir: {app}; Flags: ignoreversion
Source: Sharpzip.dll; DestDir: {app}; Flags: ignoreversion
Source: Builder.cfg; DestDir: {app}; Flags: ignoreversion
Source: Compilers\*; DestDir: {app}\Compilers; Flags: ignoreversion
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\*; DestDir: {app}\Plugins; Flags: ignoreversion
Source: Setup\*; DestDir: {app}\Setup; 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]
Filename: {app}\Builder.exe; Description: {cm:LaunchProgram,Doom Builder}; Flags: nowait postinstall skipifsilent
[UninstallDelete]
Name: {app}\Builder.log; Type: files
[InstallDelete]
Name: {app}\Builder.pdb; Type: files
[Code]
// Global variables
var
page_info_dx: TOutputMsgWizardPage;
page_setup_dx: TOutputProgressWizardPage;
page_info_net: TOutputMsgWizardPage;
page_setup_net: TOutputProgressWizardPage;
// When the wizard initializes
procedure InitializeWizard();
begin
// Make custom pages
page_info_dx := CreateOutputMsgPage(wpInstalling, 'Installing Microsoft DirectX', '', 'Setup will now start the installation and/or update of your Microsoft DirectX version. Press Next to begin.');
page_setup_dx := CreateOutputProgressPage('Installing Microsoft DirectX', 'Setup is installing Microsoft DirectX, please wait...');
page_info_net := CreateOutputMsgPage(page_info_dx.ID, 'Installing Microsoft .NET Framework', '', 'Setup will now start the installation and/or update of your Microsoft .NET Framework. Press Next to begin.');
page_setup_net := CreateOutputProgressPage('Installing Microsoft .NET Framework', 'Setup is installing Microsoft.NET Framework, please wait...');
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 when the Next button is clicked
function NextButtonClick(CurPage: Integer): Boolean;
var
ErrorCode: Integer;
begin
// Next pressed on DX info page?
if(CurPage = page_info_dx.ID) then
begin
// Show progress page and run setup
page_setup_dx.Show;
try
ShellExec('open', ExpandConstant('{app}\Setup\dxwebsetup.exe'), '', '/Q', SW_SHOW, ewWaitUntilTerminated, ErrorCode);
finally
page_setup_dx.Hide;
end;
end
// 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
ShellExec('open', ExpandConstant('{app}\Setup\dotnetfx35setup.exe'), '', '/noreboot', SW_SHOW, ewWaitUntilTerminated, ErrorCode);
finally
page_setup_net.Hide;
end;
end
Result := True;
end;