[Scummvm-git-logs] scummvm master -> f10816d9ed0b74b478799a96f26ee8f3f42f9ee2

Kirben kirben at optusnet.com.au
Wed Sep 5 03:46:46 CEST 2018


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
f10816d9ed WIN32: Rewrite Inno setup installer script. (#1324)


Commit: f10816d9ed0b74b478799a96f26ee8f3f42f9ee2
    https://github.com/scummvm/scummvm/commit/f10816d9ed0b74b478799a96f26ee8f3f42f9ee2
Author: Lothar Serra Mari (serra at scummvm.org)
Date: 2018-09-05T11:46:42+10:00

Commit Message:
WIN32: Rewrite Inno setup installer script. (#1324)

* WIN32: Rewrite Inno setup installer

* WIN32: Add small bmp for usage in the Inno setup script

* WIN32: Fix spacing in Inno setup script

* WIN32: Re-add the documentation files to the Start Menu

* WIN32: Add scummvm icon to the Inno setup uninstaller

* WIN32: Remove now obsolete scummvm.iss.in file

* WIN32: Remove reference to Inno installer in update-version.pl

* WIN32: Add reference to Inno setup bmp file in ports.mk

Changed paths:
  A dists/win32/graphics/scummvm-install.bmp
  R dists/win32/ScummVM.iss.in
    devtools/update-version.pl
    dists/win32/ScummVM.iss
    ports.mk


diff --git a/devtools/update-version.pl b/devtools/update-version.pl
index 7e627cb..75f6f0e 100755
--- a/devtools/update-version.pl
+++ b/devtools/update-version.pl
@@ -50,7 +50,6 @@ my @subs_files = qw(
 	dists/gph/README-GPH
 	dists/gph/scummvm.ini
 	dists/riscos/!Boot,feb
-	dists/win32/ScummVM.iss
 	backends/platform/psp/README.PSP
 	snapcraft.yaml
 	);
diff --git a/dists/win32/ScummVM.iss b/dists/win32/ScummVM.iss
index 2c9f74d..786c101 100644
--- a/dists/win32/ScummVM.iss
+++ b/dists/win32/ScummVM.iss
@@ -1,251 +1,287 @@
-#define AppName "ScummVM"
-
-[Setup]
-AppCopyright=2018
-AppName={#AppName}
-AppVersion=2.1.0git
-AppVerName={#AppName} 2.1.0git
-AppPublisher=The ScummVM Team
-AppPublisherURL=http://www.scummvm.org/
-AppSupportURL=http://www.scummvm.org/
-AppUpdatesURL=http://www.scummvm.org/
-DefaultDirName={pf}\{#AppName}
-DefaultGroupName={#AppName}
-AllowNoIcons=true
-AlwaysUsePersonalGroup=false
-EnableDirDoesntExistWarning=false
-Compression=lzma
-OutputDir=C:\{#AppName}
-OutputBaseFilename=scummvm-win32
-DisableStartupPrompt=true
-AppendDefaultDirName=false
-SolidCompression=true
-DirExistsWarning=no
-SetupIconFile=graphics\scummvm-install.ico
-WizardImageFile=graphics\left.bmp
-ShowLanguageDialog=yes
-LanguageDetectionMethod=uilanguage
-PrivilegesRequired=none
-
-; This privilege escalation code comes from
-; https://stackoverflow.com/a/35435534/252087
-
-#define InnoSetupReg \
-  "Software\Microsoft\Windows\CurrentVersion\Uninstall\" + AppName + "_is1"
-#define InnoSetupAppPathReg "Inno Setup: App Path"
-
-[Code]
-function IsWinVista: Boolean;
-begin
-  Result := (GetWindowsVersion >= $06000000);
-end;
-
-function IsElevated: Boolean;
-begin
-  Result := IsAdminLoggedOn or IsPowerUserLoggedOn;
-end;
-
-function HaveWriteAccessToApp: Boolean;
-var
-  FileName: string;
-begin
-  FileName := AddBackslash(WizardDirValue) + 'writetest.tmp';
-  Result := SaveStringToFile(FileName, 'test', False);
-  if Result then
-  begin
-    Log(Format(
-      'Have write access to the last installation path [%s]', [WizardDirValue]));
-    DeleteFile(FileName);
-  end
-    else
-  begin
-    Log(Format('Does not have write access to the last installation path [%s]', [
-      WizardDirValue]));
-  end;
-end;
-
-procedure ExitProcess(uExitCode: UINT);
-  external 'ExitProcess at kernel32.dll stdcall';
-function ShellExecute(hwnd: HWND; lpOperation: string; lpFile: string;
-  lpParameters: string; lpDirectory: string; nShowCmd: Integer): THandle;
-  external 'ShellExecuteW at shell32.dll stdcall';
-
-function Elevate: Boolean;
-var
-  I: Integer;
-  RetVal: Integer;
-  Params: string;
-  S: string;
-begin
-  { Collect current instance parameters }
-  for I := 1 to ParamCount do
-  begin
-    S := ParamStr(I);
-    { Unique log file name for the elevated instance }
-    if CompareText(Copy(S, 1, 5), '/LOG=') = 0 then
-    begin
-      S := S + '-elevated';
-    end;
-    { Do not pass our /SL5 switch }
-    if CompareText(Copy(S, 1, 5), '/SL5=') <> 0 then
-    begin
-      Params := Params + AddQuotes(S) + ' ';
-    end;
-  end;
-
-  { ... and add selected language }
-  Params := Params + '/LANG=' + ActiveLanguage;
-
-  Log(Format('Elevating setup with parameters [%s]', [Params]));
-  RetVal := ShellExecute(0, 'runas', ExpandConstant('{srcexe}'), Params, '', SW_SHOW);
-  Log(Format('Running elevated setup returned [%d]', [RetVal]));
-  Result := (RetVal > 32);
-  { if elevated executing of this setup succeeded, then... }
-  if Result then
-  begin
-    Log('Elevation succeeded');
-    { exit this non-elevated setup instance }
-    ExitProcess(0);
-  end
-    else
-  begin
-    Log(Format('Elevation failed [%s]', [SysErrorMessage(RetVal)]));
-  end;
-end;
-
-procedure InitializeWizard;
-var
-  S: string;
-  Upgrade: Boolean;
-begin
-  Upgrade :=
-    RegQueryStringValue(HKLM, '{#InnoSetupReg}', '{#InnoSetupAppPathReg}', S) or
-    RegQueryStringValue(HKCU, '{#InnoSetupReg}', '{#InnoSetupAppPathReg}', S);
-
-  { elevate }
-
-  if not IsWinVista then
-  begin
-    Log(Format('This version of Windows [%x] does not support elevation', [
-      GetWindowsVersion]));
-  end
-    else
-  if IsElevated then
-  begin
-    Log('Running elevated');
-  end
-    else
-  begin
-    Log('Running non-elevated');
-    if Upgrade then
-    begin
-      if not HaveWriteAccessToApp then
-      begin
-        Elevate;
-      end;
-    end
-      else
-    begin
-      if not Elevate then
-      begin
-        WizardForm.DirEdit.Text := ExpandConstant('{localappdata}\{#AppName}');
-        Log(Format('Falling back to local application user folder [%s]', [
-          WizardForm.DirEdit.Text]));
-      end;
-    end;
-  end;
-end;
+#define AppName "ScummVM"
+#define FileVersion=GetFileVersion('scummvm.exe') 
+#define ProductVersion=GetStringFileInfo('scummvm.exe', 'ProductVersion')
+#define Copyright=GetStringFileInfo('scummvm.exe', 'LegalCopyright')
+
+[Setup]
+AppCopyright={#Copyright}
+AppName={#AppName}
+AppVersion={#ProductVersion}
+VersionInfoVersion={#FileVersion}
+AppVerName={#AppName} {#ProductVersion}
+AppPublisher=The ScummVM Team
+AppPublisherURL=http://www.scummvm.org/
+AppSupportURL=http://www.scummvm.org/
+AppUpdatesURL=http://www.scummvm.org/
+DefaultDirName={pf}\{#AppName}
+DefaultGroupName={#AppName}
+AllowNoIcons=true
+AlwaysUsePersonalGroup=false
+EnableDirDoesntExistWarning=false
+Compression=lzma2/ultra
+OutputDir=C:\{#AppName}
+OutputBaseFilename=scummvm-win32
+DisableStartupPrompt=true
+AppendDefaultDirName=false
+SolidCompression=true
+DirExistsWarning=no
+SetupIconFile=graphics\scummvm-install.ico
UninstallDisplayIcon={app}\scummvm.exe
+WizardImageFile=graphics\left.bmp
+WizardSmallImageFile=graphics\scummvm-install.bmp
+ShowLanguageDialog=yes
+LanguageDetectionMethod=uilanguage
+PrivilegesRequired=none
+DisableWelcomePage=False
+
+
+; This privilege escalation code comes from
+; https://stackoverflow.com/a/35435534/252087
+
+#define InnoSetupReg \
+  "Software\Microsoft\Windows\CurrentVersion\Uninstall\" + AppName + "_is1"
+#define InnoSetupAppPathReg "Inno Setup: App Path"
+
+[Code]
+function IsWinVista: Boolean;
+begin
+  Result := (GetWindowsVersion >= $06000000);
+end;
+
+function IsElevated: Boolean;
+begin
+  Result := IsAdminLoggedOn or IsPowerUserLoggedOn;
+end;
+
+function HaveWriteAccessToApp: Boolean;
+var
+  FileName: string;
+begin
+  FileName := AddBackslash(WizardDirValue) + 'writetest.tmp';
+  Result := SaveStringToFile(FileName, 'test', False);
+  if Result then
+  begin
+    Log(Format(
+      'Have write access to the last installation path [%s]', [WizardDirValue]));
+    DeleteFile(FileName);
+  end
+    else
+  begin
+    Log(Format('Does not have write access to the last installation path [%s]', [
+      WizardDirValue]));
+  end;
+end;
+
+procedure ExitProcess(uExitCode: UINT);
+  external 'ExitProcess at kernel32.dll stdcall';
+function ShellExecute(hwnd: HWND; lpOperation: string; lpFile: string;
+  lpParameters: string; lpDirectory: string; nShowCmd: Integer): THandle;
+  external 'ShellExecuteW at shell32.dll stdcall';
+
+function Elevate: Boolean;
+var
+  I: Integer;
+  RetVal: Integer;
+  Params: string;
+  S: string;
+begin
+  { Collect current instance parameters }
+  for I := 1 to ParamCount do
+  begin
+    S := ParamStr(I);
+    { Unique log file name for the elevated instance }
+    if CompareText(Copy(S, 1, 5), '/LOG=') = 0 then
+    begin
+      S := S + '-elevated';
+    end;
+    { Do not pass our /SL5 switch }
+    if CompareText(Copy(S, 1, 5), '/SL5=') <> 0 then
+    begin
+      Params := Params + AddQuotes(S) + ' ';
+    end;
+  end;
+
+  { ... and add selected language }
+  Params := Params + '/LANG=' + ActiveLanguage;
+
+  Log(Format('Elevating setup with parameters [%s]', [Params]));
+  RetVal := ShellExecute(0, 'runas', ExpandConstant('{srcexe}'), Params, '', SW_SHOW);
+  Log(Format('Running elevated setup returned [%d]', [RetVal]));
+  Result := (RetVal > 32);
+  { if elevated executing of this setup succeeded, then... }
+  if Result then
+  begin
+    Log('Elevation succeeded');
+    { exit this non-elevated setup instance }
+    ExitProcess(0);
+  end
+    else
+  begin
+    Log(Format('Elevation failed [%s]', [SysErrorMessage(RetVal)]));
+  end;
+end;
+
+procedure InitializeWizard;
+var
+  S: string;
+  Upgrade: Boolean;
+begin
+  Upgrade :=
+    RegQueryStringValue(HKLM, '{#InnoSetupReg}', '{#InnoSetupAppPathReg}', S) or
+    RegQueryStringValue(HKCU, '{#InnoSetupReg}', '{#InnoSetupAppPathReg}', S);
+
+  { elevate }
+
+  if not IsWinVista then
+  begin
+    Log(Format('This version of Windows [%x] does not support elevation', [
+      GetWindowsVersion]));
+  end
+    else
+  if IsElevated then
+  begin
+    Log('Running elevated');
+  end
+    else
+  begin
+    Log('Running non-elevated');
+    if Upgrade then
+    begin
+      if not HaveWriteAccessToApp then
+      begin
+        Elevate;
+      end;
+    end
+      else
+    begin
+      if not Elevate then
+      begin
+        WizardForm.DirEdit.Text := ExpandConstant('{localappdata}\{#AppName}');
+        Log(Format('Falling back to local application user folder [%s]', [
+          WizardForm.DirEdit.Text]));
+      end;
+    end;
+  end;
+end;
+
 
 [Languages]
-Name: en; MessagesFile: compiler:Default.isl
-Name: br; MessagesFile: compiler:Languages\BrazilianPortuguese.isl
-Name: ca; MessagesFile: compiler:Languages\Catalan.isl
-Name: cz; MessagesFile: compiler:Languages\Czech.isl
-Name: da; MessagesFile: compiler:Languages\Danish.isl
-Name: fr; MessagesFile: compiler:Languages\French.isl
-Name: de; MessagesFile: compiler:Languages\German.isl
-Name: hu; MessagesFile: compiler:Languages\Hungarian.isl
-Name: it; MessagesFile: compiler:Languages\Italian.isl
-Name: nb; MessagesFile: compiler:Languages\Norwegian.isl
-Name: pl; MessagesFile: compiler:Languages\Polish.isl
-Name: ru; MessagesFile: compiler:Languages\Russian.isl
-Name: es; MessagesFile: compiler:Languages\Spanish.isl
-Name: se; MessagesFile: compiler:Languages\Swedish.isl
+Name: english; MessagesFile: compiler:Default.isl
+Name: portuguese; MessagesFile: compiler:Languages\BrazilianPortuguese.isl
+Name: catalan; MessagesFile: compiler:Languages\Catalan.isl
+Name: czech; MessagesFile: compiler:Languages\Czech.isl
+Name: danish; MessagesFile: compiler:Languages\Danish.isl
+Name: french; MessagesFile: compiler:Languages\French.isl
+Name: german; MessagesFile: compiler:Languages\German.isl
+Name: hungarian; MessagesFile: compiler:Languages\Hungarian.isl
+Name: italian; MessagesFile: compiler:Languages\Italian.isl
+Name: norwegian; MessagesFile: compiler:Languages\Norwegian.isl
+Name: polish; MessagesFile: compiler:Languages\Polish.isl
+Name: russian; MessagesFile: compiler:Languages\Russian.isl
+Name: spanish; MessagesFile: compiler:Languages\Spanish.isl
+Name: swedish; MessagesFile: compiler:Languages\Swedish.isl
+Name: basque; MessagesFile: compiler:Languages\Basque.isl
+Name: belarusian; MessagesFile: compiler:Languages\Belarusian.isl
+Name: dutch; MessagesFile: compiler:Languages\Dutch.isl
+Name: finnish; MessagesFile: compiler:Languages\Finnish.isl
+Name: galician; MessagesFile: compiler:Languages\Galician.isl
+Name: greek; MessagesFile: compiler:Languages\Greek.isl
+Name: polish; MessagesFile: compiler:Languages\Polish.isl
+Name: ukrainian; MessagesFile: compiler:Languages\Ukrainian.isl
 
-[Icons]
+[Tasks]
+Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}" 
+
+[Icons]
+; Optional desktop icon
+Name: "{userdesktop}\ScummVM"; Filename: "{app}\scummvm.exe"; Tasks: desktopicon
+
+; Start menu icons
+; General
 Name: {group}\{cm:UninstallProgram, ScummVM}; Filename: {uninstallexe}
 Name: {group}\ScummVM; Filename: {app}\scummvm.exe; WorkingDir: {app}; Comment: scummvm; Flags: createonlyiffileexists; IconIndex: 0
-Name: {group}\ScummVM (noconsole); Filename: {app}\scummvm.exe; Parameters: "--no-console"; WorkingDir: {app}; Comment: scummvm; Flags: createonlyiffileexists; IconIndex: 0; Languages: not de
-Name: {group}\ScummVM (ohne Konsolenfenster); Filename: {app}\scummvm.exe; Parameters: "--no-console"; WorkingDir: {app}; Comment: scummvm; Flags: createonlyiffileexists; IconIndex:0; Languages: de
-Name: {group}\Authors; Filename: {app}\AUTHORS.txt; WorkingDir: {app}; Comment: AUTHORS; Flags: createonlyiffileexists; Languages: not de
-Name: {group}\Mitwirkende; Filename: {app}\AUTHORS.txt; WorkingDir: {app}; Comment: AUTHORS; Flags: createonlyiffileexists; Languages: de
-Name: {group}\Copying; Filename: {app}\COPYING.txt; WorkingDir: {app}; Comment: COPYING; Flags: createonlyiffileexists
-Name: {group}\Copying.BSD; Filename: {app}\COPYING.BSD.txt; WorkingDir: {app}; Comment: COPYING.BSD; Flags: createonlyiffileexists
-Name: {group}\Copying.FREEFONT; Filename: {app}\COPYING.FREEFONT.txt; WorkingDir: {app}; Comment: COPYING.FREEFONT; Flags: createonlyiffileexists
-Name: {group}\Copying.LGPL; Filename: {app}\COPYING.LGPL.txt; WorkingDir: {app}; Comment: COPYING.LGPL; Flags: createonlyiffileexists
-Name: {group}\Copyright; Filename: {app}\COPYRIGHT.txt; WorkingDir: {app}; Comment: COPYRIGHT; Flags: createonlyiffileexists
-;NEWS
-Name: {group}\News; Filename: {app}\NEWS.txt; WorkingDir: {app}; Comment: NEWS; Flags: createonlyiffileexists; Languages: not de
-Name: {group}\Neues; Filename: {app}\NEUES.txt; WorkingDir: {app}; Comment: NEUES; Flags: createonlyiffileexists; Languages: de
-;QUICKSTART
-Name: {group}\Schnellstart; Filename: {app}\Schnellstart.txt; WorkingDir: {app}; Comment: Schnellstart; Flags: createonlyiffileexists; Languages: de
-Name: {group}\InicioRapido; Filename: {app}\InicioRapido.txt; WorkingDir: {app}; Comment: InicioRapido; Flags: createonlyiffileexists; Languages: es
-Name: {group}\DemarrageRapide; Filename: {app}\DemarrageRapide.txt; WorkingDir: {app}; Comment: DemarrageRapide; Flags: createonlyiffileexists; Languages: fr
-Name: {group}\GuidaRapida; Filename: {app}\GuidaRapida.txt; WorkingDir: {app}; Comment: GuidaRapida; Flags: createonlyiffileexists; Languages: it
-Name: {group}\HurtigStart; Filename: {app}\HurtigStart.txt; WorkingDir: {app}; Comment: HurtigStart; Flags: createonlyiffileexists; Languages: nb
-Name: {group}\Snabbstart; Filename: {app}\Snabbstart.txt; WorkingDir: {app}; Comment: Snabbstart; Flags: createonlyiffileexists; Languages: se
-;README
-Name: {group}\Readme; Filename: {app}\README.txt; WorkingDir: {app}; Comment: README; Flags: createonlyiffileexists; Languages: not (cz or de or se)
-Name: {group}\PrectiMe; Filename: {app}\PrectiMe.txt; WorkingDir: {app}; Comment: PrectiMe; Flags: createonlyiffileexists; Languages: cz
-Name: {group}\Liesmich; Filename: {app}\LIESMICH.txt; WorkingDir: {app}; Comment: LIESMICH; Flags: createonlyiffileexists; Languages: de
-Name: {group}\LasMig; Filename: {app}\LasMig.txt; WorkingDir: {app}; Comment: LasMig; Flags: createonlyiffileexists; Languages: se
-
-Name: {group}\Saved Games\Migrate Saved Games; Filename: {app}\migration.bat; WorkingDir: {app}; Comment: Migrate Saved Games; IconIndex: 0; MinVersion: 0, 1; Languages: not de
-Name: {group}\Spielstände\Spielstände migrieren; Filename: {app}\migration.bat; WorkingDir: {app}; Comment: Spielstände migrieren; IconIndex: 0; MinVersion: 0, 1; Languages: de
-Name: {group}\Saved Games\Saved Games (old default); Filename: {app}; WorkingDir: {app}; Comment: Saved Games (old default); IconIndex: 0; MinVersion: 0, 1; Languages: not de
-Name: {group}\Spielstände\Spielstände (alter Standard); Filename: {app}; WorkingDir: {app}; Comment: Spielstände (alter Standard); IconIndex: 0; MinVersion: 0, 1; Languages: de
-Name: {group}\Saved Games\Saved Games (new default); Filename: {userappdata}\ScummVM\Saved Games; WorkingDir: {userappdata}\ScummVM\Saved Games; Comment: Saved Games (new default); IconIndex: 0; MinVersion: 0, 1; Languages: not de
-Name: {group}\Spielstände\Spielstände; Filename: {userappdata}\ScummVM\Saved Games; WorkingDir: {userappdata}\ScummVM\Saved Games; Comment: Spielstände; IconIndex: 0; MinVersion: 0, 1; Languages: de
+Name: {group}\ScummVM (noconsole); Filename: {app}\scummvm.exe; Parameters: "--no-console"; WorkingDir: {app}; Comment: scummvm; Flags: createonlyiffileexists; IconIndex: 0; Languages: not german
+Name: {group}\ScummVM (ohne Konsolenfenster); Filename: {app}\scummvm.exe; Parameters: "--no-console"; WorkingDir: {app}; Comment: scummvm; Flags: createonlyiffileexists; IconIndex:0; Languages: german
+Name: {group}\Saved Games\Saved Games; Filename: {userappdata}\ScummVM\Saved Games; WorkingDir: {userappdata}\ScummVM\Saved Games; Comment: Saved Games; IconIndex: 0; MinVersion: 0, 1; Languages: not german
+Name: {group}\Spielstände\Spielstände; Filename: {userappdata}\ScummVM\Saved Games; WorkingDir: {userappdata}\ScummVM\Saved Games; Comment: Spielstände; IconIndex: 0; MinVersion: 0, 1; Languages: german
+Name: {group}\Saved Games\Saved Games (old default); Filename: {app}; WorkingDir: {app}; Comment: Saved Games (old default); IconIndex: 0; MinVersion: 0, 1; Languages: not german
+Name: {group}\Spielstände\Spielstände (alter Standard); Filename: {app}; WorkingDir: {app}; Comment: Spielstände (alter Standard); IconIndex: 0; MinVersion: 0, 1; Languages: german
+
+; DOCUMENTATION
+Name: {group}\Authors; Filename: {app}\AUTHORS.txt; WorkingDir: {app}; Comment: AUTHORS; Flags: createonlyiffileexists; Languages: not german
+Name: {group}\Mitwirkende; Filename: {app}\AUTHORS.txt; WorkingDir: {app}; Comment: AUTHORS; Flags: createonlyiffileexists; Languages: german
+Name: {group}\Copying; Filename: {app}\COPYING.txt; WorkingDir: {app}; Comment: COPYING; Flags: createonlyiffileexists
+Name: {group}\Copying.BSD; Filename: {app}\COPYING.BSD.txt; WorkingDir: {app}; Comment: COPYING.BSD; Flags: createonlyiffileexists
+Name: {group}\Copying.FREEFONT; Filename: {app}\COPYING.FREEFONT.txt; WorkingDir: {app}; Comment: COPYING.FREEFONT; Flags: createonlyiffileexists
+Name: {group}\Copying.LGPL; Filename: {app}\COPYING.LGPL.txt; WorkingDir: {app}; Comment: COPYING.LGPL; Flags: createonlyiffileexists
+Name: {group}\Copyright; Filename: {app}\COPYRIGHT.txt; WorkingDir: {app}; Comment: COPYRIGHT; Flags: createonlyiffileexists
+
+; NEWS
+Name: {group}\News; Filename: {app}\NEWS.txt; WorkingDir: {app}; Comment: NEWS; Flags: createonlyiffileexists; Languages: not german
+Name: {group}\Neues; Filename: {app}\NEUES.txt; WorkingDir: {app}; Comment: NEUES; Flags: createonlyiffileexists; Languages: german
+
+; QUICKSTART
+Name: {group}\Schnellstart; Filename: {app}\Schnellstart.txt; WorkingDir: {app}; Comment: Schnellstart; Flags: createonlyiffileexists; Languages: german
+Name: {group}\InicioRapido; Filename: {app}\InicioRapido.txt; WorkingDir: {app}; Comment: InicioRapido; Flags: createonlyiffileexists; Languages: spanish
+Name: {group}\DemarrageRapide; Filename: {app}\DemarrageRapide.txt; WorkingDir: {app}; Comment: DemarrageRapide; Flags: createonlyiffileexists; Languages: french
+Name: {group}\GuidaRapida; Filename: {app}\GuidaRapida.txt; WorkingDir: {app}; Comment: GuidaRapida; Flags: createonlyiffileexists; Languages: italian
+Name: {group}\HurtigStart; Filename: {app}\HurtigStart.txt; WorkingDir: {app}; Comment: HurtigStart; Flags: createonlyiffileexists; Languages: norwegian
+Name: {group}\Snabbstart; Filename: {app}\Snabbstart.txt; WorkingDir: {app}; Comment: Snabbstart; Flags: createonlyiffileexists; Languages: swedish
+
+; README
+Name: {group}\Readme; Filename: {app}\README.txt; WorkingDir: {app}; Comment: README; Flags: createonlyiffileexists; Languages: not (czech or german or swedish)
+Name: {group}\PrectiMe; Filename: {app}\PrectiMe.txt; WorkingDir: {app}; Comment: PrectiMe; Flags: createonlyiffileexists; Languages: czech
+Name: {group}\Liesmich; Filename: {app}\LIESMICH.txt; WorkingDir: {app}; Comment: LIESMICH; Flags: createonlyiffileexists; Languages: german
+Name: {group}\LasMig; Filename: {app}\LasMig.txt; WorkingDir: {app}; Comment: LasMig; Flags: createonlyiffileexists; Languages: swedish
 
 [Run]
-Filename: {app}\ScummVM.exe; Flags: nowait skipifdoesntexist postinstall skipifsilent
-;Creates a symbolic link for standard save games area, under Windows Vista/7
-Filename: {cmd}; Parameters: "/c ""mklink /d ""%userprofile%\Saved Games\ScummVM"" ""%appdata%\ScummVM\Saved games"" "" "; MinVersion: 0, 6.1
+Filename: {app}\ScummVM.exe; Flags: nowait skipifdoesntexist postinstall skipifsilent
+
+; Creates a symbolic link for standard save games area, under Windows Vista and higher
+; Filename: {cmd}; Parameters: "/c ""mklink /d ""%userprofile%\Saved Games\ScummVM"" ""%appdata%\ScummVM\Saved games"" "" "; MinVersion: 0, 6.1
 
 [UninstallDelete]
 Type: files; Name: {app}\ISTool.url
 
 [Dirs]
-Name: "{userappdata}\ScummVM"; MinVersion: 0, 1
-Name: "{userappdata}\ScummVM\Saved Games"; MinVersion: 0, 1
+Name: "{userappdata}\ScummVM"; MinVersion: 0, 1
+
+; Create the Saved Games folder and prevent it from being deleted during an uninstall process
+Name: "{userappdata}\ScummVM\Saved Games"; MinVersion: 0, 1; Flags: uninsneveruninstall
 
-[Files]
+[Files]
+; AUTHORS and LICENSING
 Source: AUTHORS.txt; DestDir: {app}; Flags: ignoreversion
 Source: COPYING.txt; DestDir: {app}; Flags: ignoreversion
 Source: COPYING.BSD.txt; DestDir: {app}; Flags: ignoreversion
 Source: COPYING.FREEFONT.txt; DestDir: {app}; Flags: ignoreversion
 Source: COPYING.LGPL.txt; DestDir: {app}; Flags: ignoreversion
-Source: COPYRIGHT.txt; DestDir: {app}; Flags: ignoreversion
-;NEWS
-Source: NEWS.txt; DestDir: {app}; Flags: ignoreversion; Languages: not de
-Source: doc/de/NEUES.txt; DestDir: {app}; Flags: ignoreversion; Languages: de
-;QUICKSTART
-Source: doc/de/Schnellstart.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: de
-Source: doc/es/InicioRapido.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: es
-Source: doc/fr/DemarrageRapide.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: fr
-Source: doc/it/GuidaRapida.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: it
-Source: doc/no-nb/HurtigStart.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: nb
-Source: doc/se/Snabbstart.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: se
-;README
-Source: README.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: not (cz or de or se)
-Source: doc/cz/PrectiMe.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: cz
-Source: doc/de/LIESMICH.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: de
-Source: doc/se/LasMig.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: se
+Source: COPYRIGHT.txt; DestDir: {app}; Flags: ignoreversion
+
+; NEWS
+Source: NEWS.txt; DestDir: {app}; Flags: ignoreversion; Languages: not german
+Source: doc/de/NEUES.txt; DestDir: {app}; Flags: ignoreversion; Languages: german
+
+; QUICKSTART
+Source: doc/de/Schnellstart.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: german
+Source: doc/es/InicioRapido.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: spanish
+Source: doc/fr/DemarrageRapide.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: french
+Source: doc/it/GuidaRapida.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: italian
+Source: doc/no-nb/HurtigStart.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: norwegian
+Source: doc/se/Snabbstart.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: swedish
+
+; README
+Source: README.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: not (czech or german or swedish)
+Source: doc/cz/PrectiMe.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: czech
+Source: doc/de/LIESMICH.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: german
+Source: doc/se/LasMig.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: swedish
 Source: README-SDL.txt; DestDir: {app}; Flags: ignoreversion
-Source: scummvm.exe; DestDir: {app}; Flags: ignoreversion
+Source: scummvm.exe; DestDir: {app}; Flags: ignoreversion
+
+; ScummVM executable and libraries
 Source: SDL2.dll; DestDir: {app}; Flags: replacesameversion
-;Source: SDL2_net.dll; DestDir: {app}; Flags: replacesameversion
-;Source: WinSparkle.dll; DestDir: {app}; Flags: replacesameversion
-;Migration script for saved games in Windows NT4 onwards
+; Source: SDL2_net.dll; DestDir: {app}; Flags: replacesameversion
+; Source: WinSparkle.dll; DestDir: {app}; Flags: replacesameversion
+
+; Migration script for saved games in Windows NT4 onwards
 Source: migration.bat; DestDir: {app}; Flags: ignoreversion; MinVersion: 0, 1
-Source: migration.txt; DestDir: {app}; Flags: ignoreversion; MinVersion: 0, 1
+Source: migration.txt; DestDir: {app}; Flags: ignoreversion; MinVersion: 0, 1
diff --git a/dists/win32/ScummVM.iss.in b/dists/win32/ScummVM.iss.in
deleted file mode 100644
index bc24f83..0000000
--- a/dists/win32/ScummVM.iss.in
+++ /dev/null
@@ -1,251 +0,0 @@
-#define AppName "ScummVM"
-
-[Setup]
-AppCopyright=2017
-AppName={#AppName}
-AppVersion=@VERSION@
-AppVerName={#AppName} @VERSION@
-AppPublisher=The ScummVM Team
-AppPublisherURL=http://www.scummvm.org/
-AppSupportURL=http://www.scummvm.org/
-AppUpdatesURL=http://www.scummvm.org/
-DefaultDirName={pf}\{#AppName}
-DefaultGroupName={#AppName}
-AllowNoIcons=true
-AlwaysUsePersonalGroup=false
-EnableDirDoesntExistWarning=false
-Compression=lzma
-OutputDir=C:\{#AppName}
-OutputBaseFilename=scummvm-win32
-DisableStartupPrompt=true
-AppendDefaultDirName=false
-SolidCompression=true
-DirExistsWarning=no
-SetupIconFile=graphics\scummvm-install.ico
-WizardImageFile=graphics\left.bmp
-ShowLanguageDialog=yes
-LanguageDetectionMethod=uilanguage
-PrivilegesRequired=none
-
-; This privilege escalation code comes from
-; https://stackoverflow.com/a/35435534/252087
-
-#define InnoSetupReg \
-  "Software\Microsoft\Windows\CurrentVersion\Uninstall\" + AppName + "_is1"
-#define InnoSetupAppPathReg "Inno Setup: App Path"
-
-[Code]
-function IsWinVista: Boolean;
-begin
-  Result := (GetWindowsVersion >= $06000000);
-end;
-
-function IsElevated: Boolean;
-begin
-  Result := IsAdminLoggedOn or IsPowerUserLoggedOn;
-end;
-
-function HaveWriteAccessToApp: Boolean;
-var
-  FileName: string;
-begin
-  FileName := AddBackslash(WizardDirValue) + 'writetest.tmp';
-  Result := SaveStringToFile(FileName, 'test', False);
-  if Result then
-  begin
-    Log(Format(
-      'Have write access to the last installation path [%s]', [WizardDirValue]));
-    DeleteFile(FileName);
-  end
-    else
-  begin
-    Log(Format('Does not have write access to the last installation path [%s]', [
-      WizardDirValue]));
-  end;
-end;
-
-procedure ExitProcess(uExitCode: UINT);
-  external 'ExitProcess at kernel32.dll stdcall';
-function ShellExecute(hwnd: HWND; lpOperation: string; lpFile: string;
-  lpParameters: string; lpDirectory: string; nShowCmd: Integer): THandle;
-  external 'ShellExecuteW at shell32.dll stdcall';
-
-function Elevate: Boolean;
-var
-  I: Integer;
-  RetVal: Integer;
-  Params: string;
-  S: string;
-begin
-  { Collect current instance parameters }
-  for I := 1 to ParamCount do
-  begin
-    S := ParamStr(I);
-    { Unique log file name for the elevated instance }
-    if CompareText(Copy(S, 1, 5), '/LOG=') = 0 then
-    begin
-      S := S + '-elevated';
-    end;
-    { Do not pass our /SL5 switch }
-    if CompareText(Copy(S, 1, 5), '/SL5=') <> 0 then
-    begin
-      Params := Params + AddQuotes(S) + ' ';
-    end;
-  end;
-
-  { ... and add selected language }
-  Params := Params + '/LANG=' + ActiveLanguage;
-
-  Log(Format('Elevating setup with parameters [%s]', [Params]));
-  RetVal := ShellExecute(0, 'runas', ExpandConstant('{srcexe}'), Params, '', SW_SHOW);
-  Log(Format('Running elevated setup returned [%d]', [RetVal]));
-  Result := (RetVal > 32);
-  { if elevated executing of this setup succeeded, then... }
-  if Result then
-  begin
-    Log('Elevation succeeded');
-    { exit this non-elevated setup instance }
-    ExitProcess(0);
-  end
-    else
-  begin
-    Log(Format('Elevation failed [%s]', [SysErrorMessage(RetVal)]));
-  end;
-end;
-
-procedure InitializeWizard;
-var
-  S: string;
-  Upgrade: Boolean;
-begin
-  Upgrade :=
-    RegQueryStringValue(HKLM, '{#InnoSetupReg}', '{#InnoSetupAppPathReg}', S) or
-    RegQueryStringValue(HKCU, '{#InnoSetupReg}', '{#InnoSetupAppPathReg}', S);
-
-  { elevate }
-
-  if not IsWinVista then
-  begin
-    Log(Format('This version of Windows [%x] does not support elevation', [
-      GetWindowsVersion]));
-  end
-    else
-  if IsElevated then
-  begin
-    Log('Running elevated');
-  end
-    else
-  begin
-    Log('Running non-elevated');
-    if Upgrade then
-    begin
-      if not HaveWriteAccessToApp then
-      begin
-        Elevate;
-      end;
-    end
-      else
-    begin
-      if not Elevate then
-      begin
-        WizardForm.DirEdit.Text := ExpandConstant('{localappdata}\{#AppName}');
-        Log(Format('Falling back to local application user folder [%s]', [
-          WizardForm.DirEdit.Text]));
-      end;
-    end;
-  end;
-end;
-
-[Languages]
-Name: en; MessagesFile: compiler:Default.isl
-Name: br; MessagesFile: compiler:Languages\BrazilianPortuguese.isl
-Name: ca; MessagesFile: compiler:Languages\Catalan.isl
-Name: cz; MessagesFile: compiler:Languages\Czech.isl
-Name: da; MessagesFile: compiler:Languages\Danish.isl
-Name: fr; MessagesFile: compiler:Languages\French.isl
-Name: de; MessagesFile: compiler:Languages\German.isl
-Name: hu; MessagesFile: compiler:Languages\Hungarian.isl
-Name: it; MessagesFile: compiler:Languages\Italian.isl
-Name: nb; MessagesFile: compiler:Languages\Norwegian.isl
-Name: pl; MessagesFile: compiler:Languages\Polish.isl
-Name: ru; MessagesFile: compiler:Languages\Russian.isl
-Name: es; MessagesFile: compiler:Languages\Spanish.isl
-Name: se; MessagesFile: compiler:Languages\Swedish.isl
-
-[Icons]
-Name: {group}\{cm:UninstallProgram, ScummVM}; Filename: {uninstallexe}
-Name: {group}\ScummVM; Filename: {app}\scummvm.exe; WorkingDir: {app}; Comment: scummvm; Flags: createonlyiffileexists; IconIndex: 0
-Name: {group}\ScummVM (noconsole); Filename: {app}\scummvm.exe; Parameters: "--no-console"; WorkingDir: {app}; Comment: scummvm; Flags: createonlyiffileexists; IconIndex: 0; Languages: not de
-Name: {group}\ScummVM (ohne Konsolenfenster); Filename: {app}\scummvm.exe; Parameters: "--no-console"; WorkingDir: {app}; Comment: scummvm; Flags: createonlyiffileexists; IconIndex:0; Languages: de
-Name: {group}\Authors; Filename: {app}\AUTHORS.txt; WorkingDir: {app}; Comment: AUTHORS; Flags: createonlyiffileexists; Languages: not de
-Name: {group}\Mitwirkende; Filename: {app}\AUTHORS.txt; WorkingDir: {app}; Comment: AUTHORS; Flags: createonlyiffileexists; Languages: de
-Name: {group}\Copying; Filename: {app}\COPYING.txt; WorkingDir: {app}; Comment: COPYING; Flags: createonlyiffileexists
-Name: {group}\Copying.BSD; Filename: {app}\COPYING.BSD.txt; WorkingDir: {app}; Comment: COPYING.BSD; Flags: createonlyiffileexists
-Name: {group}\Copying.FREEFONT; Filename: {app}\COPYING.FREEFONT.txt; WorkingDir: {app}; Comment: COPYING.FREEFONT; Flags: createonlyiffileexists
-Name: {group}\Copying.LGPL; Filename: {app}\COPYING.LGPL.txt; WorkingDir: {app}; Comment: COPYING.LGPL; Flags: createonlyiffileexists
-Name: {group}\Copyright; Filename: {app}\COPYRIGHT.txt; WorkingDir: {app}; Comment: COPYRIGHT; Flags: createonlyiffileexists
-;NEWS
-Name: {group}\News; Filename: {app}\NEWS.txt; WorkingDir: {app}; Comment: NEWS; Flags: createonlyiffileexists; Languages: not de
-Name: {group}\Neues; Filename: {app}\NEUES.txt; WorkingDir: {app}; Comment: NEUES; Flags: createonlyiffileexists; Languages: de
-;QUICKSTART
-Name: {group}\Schnellstart; Filename: {app}\Schnellstart.txt; WorkingDir: {app}; Comment: Schnellstart; Flags: createonlyiffileexists; Languages: de
-Name: {group}\InicioRapido; Filename: {app}\InicioRapido.txt; WorkingDir: {app}; Comment: InicioRapido; Flags: createonlyiffileexists; Languages: es
-Name: {group}\DemarrageRapide; Filename: {app}\DemarrageRapide.txt; WorkingDir: {app}; Comment: DemarrageRapide; Flags: createonlyiffileexists; Languages: fr
-Name: {group}\GuidaRapida; Filename: {app}\GuidaRapida.txt; WorkingDir: {app}; Comment: GuidaRapida; Flags: createonlyiffileexists; Languages: it
-Name: {group}\HurtigStart; Filename: {app}\HurtigStart.txt; WorkingDir: {app}; Comment: HurtigStart; Flags: createonlyiffileexists; Languages: nb
-Name: {group}\Snabbstart; Filename: {app}\Snabbstart.txt; WorkingDir: {app}; Comment: Snabbstart; Flags: createonlyiffileexists; Languages: se
-;README
-Name: {group}\Readme; Filename: {app}\README.txt; WorkingDir: {app}; Comment: README; Flags: createonlyiffileexists; Languages: not (cz or de or se)
-Name: {group}\PrectiMe; Filename: {app}\PrectiMe.txt; WorkingDir: {app}; Comment: PrectiMe; Flags: createonlyiffileexists; Languages: cz
-Name: {group}\Liesmich; Filename: {app}\LIESMICH.txt; WorkingDir: {app}; Comment: LIESMICH; Flags: createonlyiffileexists; Languages: de
-Name: {group}\LasMig; Filename: {app}\LasMig.txt; WorkingDir: {app}; Comment: LasMig; Flags: createonlyiffileexists; Languages: se
-
-Name: {group}\Saved Games\Migrate Saved Games; Filename: {app}\migration.bat; WorkingDir: {app}; Comment: Migrate Saved Games; IconIndex: 0; MinVersion: 0, 1; Languages: not de
-Name: {group}\Spielstände\Spielstände migrieren; Filename: {app}\migration.bat; WorkingDir: {app}; Comment: Spielstände migrieren; IconIndex: 0; MinVersion: 0, 1; Languages: de
-Name: {group}\Saved Games\Saved Games (old default); Filename: {app}; WorkingDir: {app}; Comment: Saved Games (old default); IconIndex: 0; MinVersion: 0, 1; Languages: not de
-Name: {group}\Spielstände\Spielstände (alter Standard); Filename: {app}; WorkingDir: {app}; Comment: Spielstände (alter Standard); IconIndex: 0; MinVersion: 0, 1; Languages: de
-Name: {group}\Saved Games\Saved Games (new default); Filename: {userappdata}\ScummVM\Saved Games; WorkingDir: {userappdata}\ScummVM\Saved Games; Comment: Saved Games (new default); IconIndex: 0; MinVersion: 0, 1; Languages: not de
-Name: {group}\Spielstände\Spielstände; Filename: {userappdata}\ScummVM\Saved Games; WorkingDir: {userappdata}\ScummVM\Saved Games; Comment: Spielstände; IconIndex: 0; MinVersion: 0, 1; Languages: de
-
-[Run]
-Filename: {app}\ScummVM.exe; Flags: nowait skipifdoesntexist postinstall skipifsilent
-;Creates a symbolic link for standard save games area, under Windows Vista/7
-Filename: {cmd}; Parameters: "/c ""mklink /d ""%userprofile%\Saved Games\ScummVM"" ""%appdata%\ScummVM\Saved games"" "" "; MinVersion: 0, 6.1
-
-[UninstallDelete]
-Type: files; Name: {app}\ISTool.url
-
-[Dirs]
-Name: "{userappdata}\ScummVM"; MinVersion: 0, 1
-Name: "{userappdata}\ScummVM\Saved Games"; MinVersion: 0, 1
-
-[Files]
-Source: AUTHORS.txt; DestDir: {app}; Flags: ignoreversion
-Source: COPYING.txt; DestDir: {app}; Flags: ignoreversion
-Source: COPYING.BSD.txt; DestDir: {app}; Flags: ignoreversion
-Source: COPYING.FREEFONT.txt; DestDir: {app}; Flags: ignoreversion
-Source: COPYING.LGPL.txt; DestDir: {app}; Flags: ignoreversion
-Source: COPYRIGHT.txt; DestDir: {app}; Flags: ignoreversion
-;NEWS
-Source: NEWS.txt; DestDir: {app}; Flags: ignoreversion; Languages: not de
-Source: doc/de/NEUES.txt; DestDir: {app}; Flags: ignoreversion; Languages: de
-;QUICKSTART
-Source: doc/de/Schnellstart.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: de
-Source: doc/es/InicioRapido.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: es
-Source: doc/fr/DemarrageRapide.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: fr
-Source: doc/it/GuidaRapida.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: it
-Source: doc/no-nb/HurtigStart.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: nb
-Source: doc/se/Snabbstart.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: se
-;README
-Source: README.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: not (cz or de or se)
-Source: doc/cz/PrectiMe.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: cz
-Source: doc/de/LIESMICH.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: de
-Source: doc/se/LasMig.txt; DestDir: {app}; Flags: ignoreversion isreadme; Languages: se
-Source: README-SDL.txt; DestDir: {app}; Flags: ignoreversion
-Source: scummvm.exe; DestDir: {app}; Flags: ignoreversion
-Source: SDL2.dll; DestDir: {app}; Flags: replacesameversion
-;Source: SDL2_net.dll; DestDir: {app}; Flags: replacesameversion
-;Source: WinSparkle.dll; DestDir: {app}; Flags: replacesameversion
-;Migration script for saved games in Windows NT4 onwards
-Source: migration.bat; DestDir: {app}; Flags: ignoreversion; MinVersion: 0, 1
-Source: migration.txt; DestDir: {app}; Flags: ignoreversion; MinVersion: 0, 1
diff --git a/dists/win32/graphics/scummvm-install.bmp b/dists/win32/graphics/scummvm-install.bmp
new file mode 100644
index 0000000..a03ae85
Binary files /dev/null and b/dists/win32/graphics/scummvm-install.bmp differ
diff --git a/ports.mk b/ports.mk
index 2674aaf..1163a07 100644
--- a/ports.mk
+++ b/ports.mk
@@ -491,6 +491,7 @@ win32dist: all
 	cp $(WIN32SDLPATH)/SDL2.dll $(WIN32PATH)
 	cp $(srcdir)/dists/win32/graphics/left.bmp $(WIN32PATH)/graphics
 	cp $(srcdir)/dists/win32/graphics/scummvm-install.ico $(WIN32PATH)/graphics
+	cp $(srcdir)/dists/win32/graphics/scummvm-install.bmp $(WIN32PATH)/graphics	
 	cp $(srcdir)/dists/win32/migration.bat $(WIN32PATH)
 	cp $(srcdir)/dists/win32/migration.txt $(WIN32PATH)
 	cp $(srcdir)/dists/win32/ScummVM.iss $(WIN32PATH)





More information about the Scummvm-git-logs mailing list