-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
WIN32: Update version numbers in ScummVM.iss using the normal system
- Loading branch information
1 parent
f53e4d1
commit ee8984c
Showing
3 changed files
with
254 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |