diff options
Diffstat (limited to 'dists/win32')
-rw-r--r-- | dists/win32/ScummVM.iss | 496 | ||||
-rw-r--r-- | dists/win32/ScummVM.iss.in | 251 | ||||
-rw-r--r-- | dists/win32/graphics/scummvm-install.bmp | bin | 0 -> 196662 bytes |
3 files changed, 266 insertions, 481 deletions
diff --git a/dists/win32/ScummVM.iss b/dists/win32/ScummVM.iss index 2c9f74db24..786c10164c 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@kernel32.dll stdcall'; -function ShellExecute(hwnd: HWND; lpOperation: string; lpFile: string; - lpParameters: string; lpDirectory: string; nShowCmd: Integer): THandle; - external 'ShellExecuteW@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@kernel32.dll stdcall';
+function ShellExecute(hwnd: HWND; lpOperation: string; lpFile: string;
+ lpParameters: string; lpDirectory: string; nShowCmd: Integer): THandle;
+ external 'ShellExecuteW@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 bc24f83f14..0000000000 --- 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@kernel32.dll stdcall'; -function ShellExecute(hwnd: HWND; lpOperation: string; lpFile: string; - lpParameters: string; lpDirectory: string; nShowCmd: Integer): THandle; - external 'ShellExecuteW@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 Binary files differnew file mode 100644 index 0000000000..a03ae85d28 --- /dev/null +++ b/dists/win32/graphics/scummvm-install.bmp |