aboutsummaryrefslogtreecommitdiff
path: root/dists/win32
diff options
context:
space:
mode:
Diffstat (limited to 'dists/win32')
-rw-r--r--dists/win32/ScummVM.iss3
-rw-r--r--dists/win32/ScummVM.iss.in251
2 files changed, 253 insertions, 1 deletions
diff --git a/dists/win32/ScummVM.iss b/dists/win32/ScummVM.iss
index 38745c885a..2c9f74db24 100644
--- a/dists/win32/ScummVM.iss
+++ b/dists/win32/ScummVM.iss
@@ -3,7 +3,8 @@
[Setup]
AppCopyright=2018
AppName={#AppName}
-AppVerName={#AppName} Git
+AppVersion=2.1.0git
+AppVerName={#AppName} 2.1.0git
AppPublisher=The ScummVM Team
AppPublisherURL=http://www.scummvm.org/
AppSupportURL=http://www.scummvm.org/
diff --git a/dists/win32/ScummVM.iss.in b/dists/win32/ScummVM.iss.in
new file mode 100644
index 0000000000..bc24f83f14
--- /dev/null
+++ b/dists/win32/ScummVM.iss.in
@@ -0,0 +1,251 @@
+#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