Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
|
@ -0,0 +1,357 @@
|
|||
; OpenMPT Install script
|
||||
; https://openmpt.org/
|
||||
|
||||
|
||||
|
||||
#define BuildFolder "release\vs2019-win10-static"
|
||||
#define BuildFolderLegacyx86 "release\vs2019-win7-static"
|
||||
#define BuildFolderLegacyamd64 "release\vs2019-win7-static"
|
||||
|
||||
#define DefaultArchName "x86"
|
||||
|
||||
#define GetAppVersion GetFileProductVersion("..\bin\" + BuildFolder + "\" + DefaultArchName + "\OpenMPT.exe")
|
||||
#define GetAppVersionMedium Copy(GetAppVersion, 1, 7)
|
||||
#define GetAppVersionShort Copy(GetAppVersion, 1, 4)
|
||||
|
||||
|
||||
|
||||
[Setup]
|
||||
|
||||
AlwaysShowComponentsList=no
|
||||
AppId={{40c97d3e-7763-4b88-8c6a-0901befee4af}
|
||||
AppVerName=OpenMPT {#GetAppVersion}
|
||||
AppVersion={#GetAppVersion}
|
||||
AppName=OpenMPT
|
||||
AppPublisher=OpenMPT
|
||||
AppPublisherURL=https://openmpt.org/
|
||||
AppSupportURL=https://forum.openmpt.org/
|
||||
AppUpdatesURL=https://openmpt.org/
|
||||
ArchitecturesInstallIn64BitMode=x64 arm64 ia64
|
||||
ChangesAssociations=yes
|
||||
Compression=lzma2/ultra64
|
||||
;DefaultDirName={autopf}\OpenMPT
|
||||
DefaultDirName={code:CodeGetDefaultDirName|}
|
||||
DefaultGroupName=OpenMPT
|
||||
DirExistsWarning=auto
|
||||
DisableDirPage=auto
|
||||
AlwaysShowDirOnReadyPage=yes
|
||||
DisableProgramGroupPage=yes
|
||||
DisableReadyMemo=no
|
||||
DisableWelcomePage=no
|
||||
MinVersion=6.1sp1
|
||||
OutputDir=.\
|
||||
OutputBaseFilename=OpenMPT-{#GetAppVersion}-Setup
|
||||
PrivilegesRequired=admin
|
||||
PrivilegesRequiredOverridesAllowed=commandline dialog
|
||||
SetupIconFile=..\mptrack\res\MPTRACK.ICO
|
||||
SolidCompression=yes
|
||||
TimeStampsInUTC=yes
|
||||
UninstallDisplayIcon={app}\OpenMPT App Icon.ico
|
||||
VersionInfoCopyright=Copyright © 2004-2022 OpenMPT Project Developers and Contributors, Copyright © 1997-2003 Olivier Lapicque
|
||||
VersionInfoProductTextVersion={#GetAppVersion}
|
||||
VersionInfoProductVersion={#GetAppVersion}
|
||||
VersionInfoTextVersion={#GetAppVersion}
|
||||
VersionInfoVersion={#GetAppVersion}
|
||||
WizardImageFile=install-big.bmp
|
||||
WizardSmallImageFile=install-small.bmp
|
||||
WizardStyle=modern
|
||||
|
||||
|
||||
|
||||
[Types]
|
||||
|
||||
Name: "default"; Description: "Default installation"; Flags: iscustom
|
||||
|
||||
|
||||
|
||||
[Components]
|
||||
|
||||
Name: "archx86"; Description: "OpenMPT x86"; Types: default; Flags: fixed disablenouninstallwarning
|
||||
Name: "archamd64"; Description: "OpenMPT amd64"; Types: default; Flags: fixed disablenouninstallwarning
|
||||
Name: "archarm"; Description: "OpenMPT arm"; Types: default; Flags: fixed disablenouninstallwarning
|
||||
Name: "archarm64"; Description: "OpenMPT arm64"; Types: default; Flags: fixed disablenouninstallwarning
|
||||
|
||||
|
||||
|
||||
[Languages]
|
||||
|
||||
Name: en; MessagesFile: compiler:Default.isl
|
||||
|
||||
|
||||
|
||||
[Files]
|
||||
|
||||
; note: packageTemplate\ contains files specific for the "install package".
|
||||
; for files that are common with the "zip package", use ..\packageTemplate\
|
||||
|
||||
Source: ..\bin\{#BuildFolder}\x86\OpenMPT.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolder}\x86\PluginBridge-x86.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolder}\x86\PluginBridgeLegacy-x86.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolder}\x86\openmpt-lame.dll; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolder}\x86\openmpt-mpg123.dll; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolder}\x86\openmpt-soundtouch.dll; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolderLegacyx86}\x86\OpenMPT.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolderLegacyx86}\x86\PluginBridge-x86.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolderLegacyx86}\x86\PluginBridgeLegacy-x86.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolderLegacyx86}\x86\openmpt-lame.dll; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolderLegacyx86}\x86\openmpt-mpg123.dll; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolderLegacyx86}\x86\openmpt-soundtouch.dll; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0
|
||||
|
||||
Source: ..\bin\{#BuildFolder}\amd64\OpenMPT.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolder}\amd64\PluginBridge-amd64.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolder}\amd64\PluginBridgeLegacy-amd64.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolder}\amd64\openmpt-lame.dll; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolder}\amd64\openmpt-mpg123.dll; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolder}\amd64\openmpt-soundtouch.dll; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\OpenMPT.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\PluginBridge-amd64.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\PluginBridgeLegacy-amd64.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\openmpt-lame.dll; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\openmpt-mpg123.dll; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0
|
||||
Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\openmpt-soundtouch.dll; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0
|
||||
|
||||
Source: ..\bin\{#BuildFolder}\arm\OpenMPT.exe; DestDir: {app}\bin\arm; Flags: ignoreversion; Components: archarm
|
||||
Source: ..\bin\{#BuildFolder}\arm\PluginBridge-arm.exe; DestDir: {app}\bin\arm; Flags: ignoreversion; Components: archarm
|
||||
Source: ..\bin\{#BuildFolder}\arm\PluginBridgeLegacy-arm.exe; DestDir: {app}\bin\arm; Flags: ignoreversion; Components: archarm
|
||||
Source: ..\bin\{#BuildFolder}\arm\openmpt-lame.dll; DestDir: {app}\bin\arm; Flags: ignoreversion; Components: archarm
|
||||
Source: ..\bin\{#BuildFolder}\arm\openmpt-mpg123.dll; DestDir: {app}\bin\arm; Flags: ignoreversion; Components: archarm
|
||||
Source: ..\bin\{#BuildFolder}\arm\openmpt-soundtouch.dll; DestDir: {app}\bin\arm; Flags: ignoreversion; Components: archarm
|
||||
|
||||
Source: ..\bin\{#BuildFolder}\arm64\OpenMPT.exe; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64
|
||||
Source: ..\bin\{#BuildFolder}\arm64\PluginBridge-arm64.exe; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64
|
||||
Source: ..\bin\{#BuildFolder}\arm64\PluginBridgeLegacy-arm64.exe; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64
|
||||
Source: ..\bin\{#BuildFolder}\arm64\openmpt-lame.dll; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64
|
||||
Source: ..\bin\{#BuildFolder}\arm64\openmpt-mpg123.dll; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64
|
||||
Source: ..\bin\{#BuildFolder}\arm64\openmpt-soundtouch.dll; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64
|
||||
|
||||
Source: "..\mptrack\res\MPTRACK.ICO"; DestName: "OpenMPT App Icon.ico"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "..\packageTemplate\OpenMPT File Icon.ico"; DestName: "OpenMPT File Icon.ico"; DestDir: "{app}"; Flags: ignoreversion
|
||||
|
||||
Source: ..\bin\{#BuildFolder}\{#DefaultArchName}\openmpt-wine-support.zip; DestDir: {app}; Flags: ignoreversion
|
||||
|
||||
; todo: use proper folder
|
||||
Source: ..\packageTemplate\ExampleSongs\*.*; DestDir: {app}\ExampleSongs\; Flags: ignoreversion recursesubdirs
|
||||
|
||||
Source: packageTemplate\readme.txt; DestDir: {app}; Flags: ignoreversion
|
||||
Source: ..\packageTemplate\History.txt; DestDir: {app}; Flags: ignoreversion
|
||||
Source: ..\packageTemplate\OpenMPT Manual.chm; DestDir: {app}; Flags: ignoreversion
|
||||
|
||||
Source: ..\packageTemplate\ReleaseNotesImages\*.*; DestDir: {app}\ReleaseNotesImages\; Flags: ignoreversion
|
||||
Source: ..\packageTemplate\Release Notes.html; DestDir: {app}; Flags: ignoreversion
|
||||
|
||||
Source: ..\packageTemplate\OpenMPT Support and Community Forum.url; DestDir: {app}; Flags: ignoreversion
|
||||
Source: ..\packageTemplate\OpenMPT Issue Tracker.url; DestDir: {app}; Flags: ignoreversion
|
||||
|
||||
Source: ..\packageTemplate\License.txt; DestDir: {app}; Flags: ignoreversion
|
||||
Source: ..\packageTemplate\Licenses\*.*; DestDir: {app}\Licenses; Flags: ignoreversion
|
||||
|
||||
Source: ..\packageTemplate\ExtraKeymaps\*.*; DestDir: {app}\ExtraKeymaps; Flags: ignoreversion
|
||||
|
||||
|
||||
|
||||
[Icons]
|
||||
|
||||
Name: {autodesktop}\OpenMPT; Filename: {app}\bin\x86\OpenMPT.exe; Check: CheckDefaultArch('x86')
|
||||
Name: {autodesktop}\OpenMPT; Filename: {app}\bin\amd64\OpenMPT.exe; Check: CheckDefaultArch('amd64')
|
||||
Name: {autodesktop}\OpenMPT; Filename: {app}\bin\arm\OpenMPT.exe; Check: CheckDefaultArch('arm')
|
||||
Name: {autodesktop}\OpenMPT; Filename: {app}\bin\arm64\OpenMPT.exe; Check: CheckDefaultArch('arm64')
|
||||
|
||||
Name: {group}\OpenMPT; Filename: {app}\bin\x86\OpenMPT.exe; Check: CheckDefaultArch('x86')
|
||||
Name: {group}\OpenMPT; Filename: {app}\bin\amd64\OpenMPT.exe; Check: CheckDefaultArch('amd64')
|
||||
Name: {group}\OpenMPT; Filename: {app}\bin\arm\OpenMPT.exe; Check: CheckDefaultArch('arm')
|
||||
Name: {group}\OpenMPT; Filename: {app}\bin\arm64\OpenMPT.exe; Check: CheckDefaultArch('arm64')
|
||||
|
||||
Name: {group}\OpenMPT (x86); Filename: {app}\bin\x86\OpenMPT.exe; Components: archx86
|
||||
Name: {group}\OpenMPT (amd64); Filename: {app}\bin\amd64\OpenMPT.exe; Components: archamd64
|
||||
Name: {group}\OpenMPT (arm); Filename: {app}\bin\arm\OpenMPT.exe; Components: archarm
|
||||
Name: {group}\OpenMPT (arm64); Filename: {app}\bin\arm64\OpenMPT.exe; Components: archarm64
|
||||
|
||||
Name: {group}\Manual; Filename: {app}\OpenMPT Manual.chm
|
||||
Name: {group}\Support and Community Forum; Filename: {app}\OpenMPT Support and Community Forum.url
|
||||
|
||||
|
||||
|
||||
[Registry]
|
||||
|
||||
#include "filetypes-multi-arch.iss"
|
||||
|
||||
|
||||
|
||||
[Run]
|
||||
|
||||
Filename: "{app}\Release Notes.html"; Description: "View Release Notes"; Flags: runasoriginaluser shellexec nowait postinstall skipifsilent
|
||||
|
||||
Filename: {app}\bin\x86\OpenMPT.exe; Parameters: """{code:RandomExampleFile}"""; Description: {cm:LaunchProgram,OpenMPT}; Flags: runasoriginaluser nowait postinstall skipifsilent; Check: CheckDefaultArch('x86')
|
||||
Filename: {app}\bin\amd64\OpenMPT.exe; Parameters: """{code:RandomExampleFile}"""; Description: {cm:LaunchProgram,OpenMPT}; Flags: runasoriginaluser nowait postinstall skipifsilent; Check: CheckDefaultArch('amd64')
|
||||
Filename: {app}\bin\arm\OpenMPT.exe; Parameters: """{code:RandomExampleFile}"""; Description: {cm:LaunchProgram,OpenMPT}; Flags: runasoriginaluser nowait postinstall skipifsilent; Check: CheckDefaultArch('arm')
|
||||
Filename: {app}\bin\arm64\OpenMPT.exe; Parameters: """{code:RandomExampleFile}"""; Description: {cm:LaunchProgram,OpenMPT}; Flags: runasoriginaluser nowait postinstall skipifsilent; Check: CheckDefaultArch('arm64')
|
||||
|
||||
|
||||
|
||||
[InstallDelete]
|
||||
|
||||
; as recommended by Inno Setup manual on [Components]
|
||||
|
||||
Type: files; Name: {app}\bin\x86\OpenMPT.exe
|
||||
Type: files; Name: {app}\bin\x86\PluginBridge-x86.exe
|
||||
Type: files; Name: {app}\bin\x86\PluginBridgeLegacy-x86.exe
|
||||
Type: files; Name: {app}\bin\x86\openmpt-lame.dll
|
||||
Type: files; Name: {app}\bin\x86\openmpt-mpg123.dll
|
||||
Type: files; Name: {app}\bin\x86\openmpt-soundtouch.dll
|
||||
|
||||
Type: files; Name: {app}\bin\amd64\OpenMPT.exe
|
||||
Type: files; Name: {app}\bin\amd64\PluginBridge-amd64.exe
|
||||
Type: files; Name: {app}\bin\amd64\PluginBridgeLegacy-amd64.exe
|
||||
Type: files; Name: {app}\bin\amd64\openmpt-lame.dll
|
||||
Type: files; Name: {app}\bin\amd64\openmpt-mpg123.dll
|
||||
Type: files; Name: {app}\bin\amd64\openmpt-soundtouch.dll
|
||||
|
||||
Type: files; Name: {app}\bin\arm\OpenMPT.exe
|
||||
Type: files; Name: {app}\bin\arm\PluginBridge-arm.exe
|
||||
Type: files; Name: {app}\bin\arm\PluginBridgeLegacy-arm.exe
|
||||
Type: files; Name: {app}\bin\arm\openmpt-lame.dll
|
||||
Type: files; Name: {app}\bin\arm\openmpt-mpg123.dll
|
||||
Type: files; Name: {app}\bin\arm\openmpt-soundtouch.dll
|
||||
|
||||
Type: files; Name: {app}\bin\arm64\OpenMPT.exe
|
||||
Type: files; Name: {app}\bin\arm64\PluginBridge-arm64.exe
|
||||
Type: files; Name: {app}\bin\arm64\PluginBridgeLegacy-arm64.exe
|
||||
Type: files; Name: {app}\bin\arm64\openmpt-lame.dll
|
||||
Type: files; Name: {app}\bin\arm64\openmpt-mpg123.dll
|
||||
Type: files; Name: {app}\bin\arm64\openmpt-soundtouch.dll
|
||||
|
||||
|
||||
|
||||
#include "uninstall-single-arch.iss"
|
||||
|
||||
|
||||
|
||||
[Code]
|
||||
|
||||
procedure InitializeWizard();
|
||||
begin
|
||||
WizardSelectComponents('archx86,!archamd64,!archarm,!archarm64');
|
||||
case ProcessorArchitecture() of
|
||||
paUnknown:
|
||||
begin
|
||||
WizardSelectComponents('archx86,!archamd64,!archarm,!archarm64');
|
||||
end;
|
||||
paX86:
|
||||
begin
|
||||
WizardSelectComponents('archx86,!archamd64,!archarm,!archarm64');
|
||||
end;
|
||||
paX64:
|
||||
begin
|
||||
WizardSelectComponents('archx86,archamd64,!archarm,!archarm64');
|
||||
end;
|
||||
paIA64:
|
||||
begin
|
||||
WizardSelectComponents('archx86,!archamd64,!archarm,!archarm64');
|
||||
end;
|
||||
paARM64:
|
||||
begin
|
||||
WizardSelectComponents('archx86,archamd64,archarm,archarm64');
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function GetDefaultArch(): String;
|
||||
begin
|
||||
Result := 'x86';
|
||||
case ProcessorArchitecture() of
|
||||
paUnknown:
|
||||
begin
|
||||
Result := 'x86';
|
||||
end;
|
||||
paX86:
|
||||
begin
|
||||
Result := 'x86';
|
||||
end;
|
||||
paX64:
|
||||
begin
|
||||
Result := 'amd64';
|
||||
end;
|
||||
paIA64:
|
||||
begin
|
||||
Result := 'x86';
|
||||
end;
|
||||
paARM64:
|
||||
begin
|
||||
Result := 'arm64';
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function CodeGetDefaultArch(Param: String): String;
|
||||
begin
|
||||
Result := GetDefaultArch();
|
||||
end;
|
||||
|
||||
function CheckDefaultArch(Arch: String): Boolean;
|
||||
begin
|
||||
Result := Arch = GetDefaultArch();
|
||||
end;
|
||||
|
||||
function ShouldSkipPage(PageID: Integer): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
case PageID of
|
||||
wpSelectDir:
|
||||
begin
|
||||
Result := IsAdmin() and HasPreviousSingleArchInstallPath();
|
||||
end;
|
||||
end;
|
||||
case PageID of
|
||||
wpSelectComponents:
|
||||
begin
|
||||
Result := True;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure CurStepChanged(CurStep: TSetupStep);
|
||||
begin
|
||||
case CurStep of
|
||||
ssInstall:
|
||||
begin
|
||||
if not UninstallSingleArch() then
|
||||
begin
|
||||
RaiseException('Uninstallation of previous OpenMPT installation failed. Please uninstall manually.');
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Picks a random example song file to play
|
||||
Function RandomExampleFile(Dummy: String): String;
|
||||
var
|
||||
Files: TstringList;
|
||||
FindRec: TFindRec;
|
||||
begin
|
||||
Result := '';
|
||||
if FindFirst(ExpandConstant('{app}\ExampleSongs\*'), FindRec) then
|
||||
try
|
||||
Files := TstringList.Create;
|
||||
repeat
|
||||
if FindRec.Attributes and FILE_ATTRIBUTE_DIRECTORY = 0 then
|
||||
Files.Add(FindRec.Name);
|
||||
until not FindNext(FindRec);
|
||||
Result := ExpandConstant('{app}\ExampleSongs\') + Files[Random(Files.Count)];
|
||||
finally
|
||||
FindClose(FindRec);
|
||||
end;
|
||||
end;
|
||||
|
||||
function CodeGetDefaultDirName(Param: String): String;
|
||||
begin
|
||||
if IsAdmin() and HasPreviousSingleArchInstallPath() then
|
||||
begin
|
||||
Result := GetPreviousSingleArchInstallPath();
|
||||
end
|
||||
else
|
||||
begin
|
||||
Result := ExpandConstant('{autopf}\OpenMPT');
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue