]> git.mxchange.org Git - flightgear.git/blobdiff - package/Win32-Inno/FlightGear.iss
Merge branch 'durk/atcdcl-cond'
[flightgear.git] / package / Win32-Inno / FlightGear.iss
index cca9a468449c0f030e3780e166a885fe482bc01f..3b65deff740f810223e6b8174b1d6057ea3256bb 100644 (file)
 ;
 
 [Setup]
+AppId=FlightGear
 AppName=FlightGear
-OutputBaseFilename=fgsetup-2.0.0-RC2
-AppVerName=FlightGear v2.0.0-RC2
-AppPublisher=The FlightGear Organization
+AppPublisher=The FlightGear Team
+OutputBaseFilename=fgsetup-2.0.0
+AppVerName=FlightGear v2.0.0
 AppPublisherURL=http://www.flightgear.org
 AppSupportURL=http://www.flightgear.org
 AppUpdatesURL=http://www.flightgear.org
 DefaultDirName={pf}\FlightGear
-DefaultGroupName=FlightGear v2.0.0-RC2
+DefaultGroupName=FlightGear v2.0.0
 LicenseFile=X:\data\COPYING
 Uninstallable=yes
 SetupIconFile=x:\flightgear.ico
-VersionInfoVersion=1.9.9.992
+VersionInfoVersion=2.0.0.0
 WizardImageFile=X:\setupimg.bmp
+WizardImageStretch=No
 WizardSmallImageFile=X:\setupsmall.bmp
+VersionInfoCompany=The FlightGear Team
+UninstallDisplayIcon={app}\bin\Win32\fgrun.exe
 
 [Tasks]
 ; NOTE: The following entry contains English phrases ("Create a desktop icon" and "Additional icons"). You are free to translate them into another language if required.
@@ -43,14 +47,16 @@ Name: "insoal"; Description: "Install OpenAL (the sound engine)"
 [Files]
 ; NOTE: run subst X: F:\ (or whatever path the expanded tree resides at)
 Source: "X:\*.txt"; DestDir: "{app}"; Flags: ignoreversion
-Source: "X:\bin\*.*"; DestDir: "{app}\bin"; Flags: ignoreversion recursesubdirs
+Source: "X:\bin\Win32\*.*"; DestDir: "{app}\bin\Win32"; Flags: ignoreversion recursesubdirs
+Source: "X:\bin\vcredist_x86.exe"; DestDir: "{app}\bin"; Flags: ignoreversion
+Source: "X:\bin\OpenAL\oalinst.exe"; DestDir: "{app}\bin\OpenAL"; Flags: ignoreversion
 Source: "X:\data\*.*"; DestDir: "{app}\data"; Flags: ignoreversion recursesubdirs
 ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
 
 [Dirs]
 ; Make the user installable scenery directory
 Name: "{app}\scenery"; Permissions: everyone-modify
-Name: "{app}\terrasync"; Permissions: everyone-modify
+Name: "{code:TerrasyncDir}"; Permissions: everyone-modify
 
 [Icons]
 Name: "{group}\FlightGear Launcher"; Filename: "{app}\bin\Win32\fgrun.exe"; WorkingDir: "{app}";
@@ -58,12 +64,13 @@ Name: "{group}\FlightGear Launcher"; Filename: "{app}\bin\Win32\fgrun.exe"; Work
 Name: "{group}\FlightGear Manual"; Filename: "{app}\data\Docs\getstart.pdf"
 Name: "{group}\FlightGear Documentation"; Filename: "{app}\data\Docs\index.html"
 Name: "{group}\Flightgear Wiki"; Filename: "http://wiki.flightgear.org"
-Name: "{userdesktop}\FlightGear v2.0.0-RC2"; Filename: "{app}\bin\Win32\fgrun.exe"; WorkingDir: "{app}"; Tasks: desktopicon
+Name: "{userdesktop}\FlightGear v2.0.0"; Filename: "{app}\bin\Win32\fgrun.exe"; WorkingDir: "{app}"; Tasks: desktopicon
 
 Name: "{group}\Tools\Install & Uninstall Scenery"; Filename: "{app}\bin\Win32\fgadmin.exe"; WorkingDir: "{app}";
 Name: "{group}\Tools\TerraSync"; Filename: "{app}\bin\Win32\terrasync.exe"; Parameters: "-S -p 5505 -d ""{app}\terrasync"""; WorkingDir: "{app}";
 Name: "{group}\Tools\Uninstall FlightGear"; Filename: "{uninstallexe}"
 
+Name: "{group}\Tools\js_demo"; Filename: "{app}\bin\Win32\js_demo.exe"
 Name: "{group}\Tools\fgjs"; Filename: "cmd"; Parameters: "/k fgjs.exe ""--fg-root={app}\data"""; WorkingDir: "{app}\bin\Win32";
 Name: "{group}\Tools\GPSsmooth"; Filename: "cmd"; Parameters: "/k ""{app}\bin\Win32\GPSsmooth.exe"" -h"; WorkingDir: "{app}\bin\Win32";
 Name: "{group}\Tools\UGsmooth"; Filename: "cmd"; Parameters: "/k ""{app}\bin\Win32\UGsmooth.exe"" -h"; WorkingDir: "{app}\bin\Win32";
@@ -80,12 +87,84 @@ Name: "{group}\Tools\Explore Documentation Folder"; Filename: "{app}\data\Docs"
 Filename: "{app}\bin\vcredist_x86.exe"; WorkingDir: "{app}"; Parameters: "/qb!"; Description: "Installing Flightgear prerequisites"
 
 ; Put installation directory into the fgrun.prefs
-filename: "{app}\bin\Win32\fgrun.exe"; WorkingDir: "{app}\bin\Win32"; Parameters: "--silent ""--fg-exe={app}\bin\Win32\fgfs.exe"" ""--fg-root={app}\data"" ""--fg-scenery={app}\data\Scenery;{app}\scenery;{app}\terrasync"""
+filename: "{app}\bin\Win32\fgrun.exe"; WorkingDir: "{app}\bin\Win32"; Parameters: "--silent ""--fg-exe={app}\bin\Win32\fgfs.exe"" ""--ts-exe={app}\bin\Win32\terrasync.exe"" ""--fg-root={app}\data"" ""--fg-scenery={app}\data\Scenery;{app}\scenery;{code:TerrasyncDir}"" --ts-dir=3"
 
 ; Put installation and source directories into the fgadmin.prefs
 filename: "{app}\bin\Win32\fgadmin.exe"; WorkingDir: "{app}\bin\Win32"; Parameters: "--silent ""--install-source={src}\..\Scenery"" ""--scenery-dest={app}\scenery"""
-
 Filename: "{app}\bin\OpenAL\oalinst.exe"; WorkingDir: "{app}"; Description: "Installing OpenAL"; Tasks: insoal
+;Filename: "{app}\bin\Win32\fgrun.exe"; WorkingDir: "{app}"; Description: "Launch FlightGear"; Flags: postinstall skipifsilent
+
+[Registry]
+Root: HKLM; Subkey: "Software\flightgear.org"; ValueType: string; ValueName: "TerrasyncDir"; ValueData: "{code:TerrasyncDir}"
+
+[Code]
+var
+  TerrasyncDirPage: TInputDirWizardPage;
+
+procedure URLLabelOnClick(Sender: TObject);
+var
+  ErrorCode: Integer;
+begin
+  ShellExec('open', 'http://www.flightgear.org', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
+end;
+
+procedure CreateURLLabel(ParentForm: TSetupForm; CancelButton: TNewButton);
+var
+  URLLabel: TNewStaticText;
+begin
+  URLLabel := TNewStaticText.Create(ParentForm);
+  URLLabel.Caption := 'www.flightgear.org';
+  URLLabel.Cursor := crHand;
+  URLLabel.OnClick := @URLLabelOnClick;
+  URLLabel.Parent := ParentForm;
+  { Alter Font *after* setting Parent so the correct defaults are inherited first }
+  URLLabel.Font.Style := URLLabel.Font.Style + [fsUnderline];
+  URLLabel.Font.Color := clBlue;
+  URLLabel.Top := CancelButton.Top + CancelButton.Height - URLLabel.Height - 2;
+  URLLabel.Left := ScaleX(20);
+end;
+
+procedure InitializeWizard();
+begin
+  TerrasyncDirPage := CreateInputDirPage(wpSelectDir,
+    'Select Terrasync Directory', 'Where should scenery downloaded by Terrasync be put?',
+    'Select the folder in which Terrasync would download additional scenery, then click Next.',
+    False, 'Terrasync Folder');
+  TerrasyncDirPage.Add('');
+
+  CreateURLLabel(WizardForm, WizardForm.CancelButton);
+end;
+
+function NextButtonClick(CurPageID: Integer): Boolean;
+begin
+  if CurPageID = wpSelectDir then begin
+    TerrasyncDirPage.Values[0] := GetPreviousData( 'TerrasyncDir', ExpandConstant('{reg:HKLM\Software\flightgear.org,TerrasyncDir|{app}\terrasync}') );
+  end;
+  Result := True;
+end;
+
+function TerrasyncDir(Param: String): String;
+begin
+  Result := TerrasyncDirPage.Values[0];
+end;
+
+procedure RegisterPreviousData(PreviousDataKey: Integer);
+begin
+  { Store the settings so we can restore them next time }
+  SetPreviousData(PreviousDataKey, 'TerrasyncDir', TerrasyncDirPage.Values[0]);
+end;
+
+function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
+var
+  S: String;
+begin
+  S := '';
+  S := S + MemoDirInfo + NewLine + NewLine;
+  S := S + 'Terrasync folder:' + NewLine;
+  S := S + Space + TerrasyncDirPage.Values[0] + NewLine + NewLine;
+  S := S + MemoGroupInfo + NewLine + NewLine;
+  S := S + MemoTasksInfo + NewLine + NewLine;
 
-Filename: "{app}\bin\Win32\fgrun.exe"; WorkingDir: "{app}"; Description: "Launch FlightGear"; Flags: postinstall skipifsilent
+  Result := S;
+end;