2007-10-05 07:19:57 +00:00
; 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
2008-11-15 16:51:29 +00:00
InfoBeforeFile=F:\Projects\Doom Builder\Setup\disclaimer.txt
OutputDir=F:\Projects\Doom Builder\Setup
2007-10-05 07:19:57 +00:00
OutputBaseFilename=builder2_setup
Compression=lzma/ultra64
SolidCompression=true
2008-11-15 16:51:29 +00:00
SourceDir=F:\Projects\Doom Builder\Build
2007-10-05 07:19:57 +00:00
SetupLogging=false
AppMutex=doombuilder2
PrivilegesRequired=poweruser
ShowLanguageDialog=no
2008-05-11 09:17:56 +00:00
LanguageDetectionMethod=none
2008-05-30 07:06:28 +00:00
MinVersion=0,5.01.2600
2008-11-15 16:51:29 +00:00
UninstallDisplayIcon={app}\Builder.exe
2007-10-05 07:19:57 +00:00
[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
2008-05-26 06:54:32 +00:00
Source: Builder.cfg; DestDir: {app}; Flags: ignoreversion
2008-02-15 13:22:12 +00:00
Source: Sharpzip.dll; DestDir: {app}; Flags: ignoreversion
2008-11-15 16:51:29 +00:00
Source: Scintilla.dll; DestDir: {app}; Flags: ignoreversion
Source: GPL.txt; DestDir: {app}; Flags: ignoreversion
2007-10-05 07:19:57 +00:00
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
2008-05-30 07:06:28 +00:00
Source: Plugins\BuilderModes.dll; DestDir: {app}\Plugins; Flags: ignoreversion
2008-05-11 09:17:56 +00:00
Source: Setup\*; DestDir: {app}\Setup; Flags: ignoreversion
2007-10-05 07:19:57 +00:00
[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]
2008-05-20 09:55:33 +00:00
Name: {localappdata}\Doom Builder; Type: filesandordirs
2007-10-05 10:00:15 +00:00
[InstallDelete]
Name: {app}\Builder.pdb; Type: files
2008-05-26 15:46:08 +00:00
[Registry]
Root: HKLM; Subkey: SOFTWARE\CodeImp\Doom Builder\; ValueType: string; ValueName: Location; ValueData: {app}; Flags: uninsdeletevalue
2008-02-15 13:22:12 +00:00
[Code]
2008-05-11 09:17:56 +00:00
// Global variables
2008-02-15 13:22:12 +00:00
var
2008-05-11 09:17:56 +00:00
page_info_net: TOutputMsgWizardPage;
page_setup_net: TOutputProgressWizardPage;
2008-11-15 16:51:29 +00:00
page_setup_components: TOutputProgressWizardPage;
componentsinstalled: Boolean;
restartneeded: Boolean;
2008-02-15 13:22:12 +00:00
2008-05-11 09:17:56 +00:00
// When the wizard initializes
procedure InitializeWizard();
2008-02-15 13:22:12 +00:00
begin
2008-11-15 16:51:29 +00:00
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.....');
2008-02-15 13:22:12 +00:00
end;
2008-05-11 09:17:56 +00:00
// This is called to check if a page must be skipped
function ShouldSkipPage(PageID: Integer): Boolean;
2008-02-15 13:22:12 +00:00
begin
2008-05-11 09:17:56 +00:00
// Skip the .NET page?
if(PageID = page_info_net.ID) then
Result := RegKeyExists(HKLM, 'SOFTWARE\Microsoft\.NETFramework\policy\v2.0')
else
Result := False;
2008-02-15 13:22:12 +00:00
end;
2008-11-15 16:51:29 +00:00
// 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;
2008-05-11 09:17:56 +00:00
// This is called when the Next button is clicked
function NextButtonClick(CurPage: Integer): Boolean;
var
2008-11-15 16:51:29 +00:00
errorcode: Integer;
2008-02-15 13:22:12 +00:00
begin
2008-05-11 09:17:56 +00:00
// 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
2008-11-15 16:51:29 +00:00
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
2008-05-11 09:17:56 +00:00
finally
page_setup_net.Hide;
end;
2008-02-15 13:22:12 +00:00
end
2008-05-11 09:17:56 +00:00
Result := True;
2008-02-15 13:22:12 +00:00
end;
2008-05-11 09:17:56 +00:00
2008-05-26 15:46:08 +00:00
2008-11-15 16:51:29 +00:00