View Issue Details

IDProjectCategoryView StatusLast Update
0001123OpenMPTInstaller and Updatepublic2024-10-10 08:17
Reportermanx Assigned Tomanx  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Target VersionOpenMPT 1.30.01.00 / libopenmpt 0.6.0 (upgrade first)Fixed in VersionOpenMPT 1.30.01.00 / libopenmpt 0.6.0 (upgrade first) 
Summary0001123: Provide unified multi-arch installer
Description

InnoSetup supports multi-arch installers just fine, and version 5.6.0 will support ARM64.

Bundling all architecture versions into a single installer simplifies users choice and eases switching between x86 and amd64 version by easily having the possibility to have both of them installed at the same time.
Depending on adoption of Windows 10 on ARM, this might be even more important, because Windows 10 on ARM supports at least 3 architectures: x86, ARM, ARM64, and might also support amd64 in the future

A disadvantage is increased download size, however I do not think that would matter much nowadays. Severely bandwidth or traffic limited users could resort to individual architecture-specific portable zip archives which we could continue to provide.

TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)

Relationships

related to 0001011 resolvedmanx Automatic update 
related to 0001120 resolvedmanx Rethink PluginBridge naming 
related to 0000649 resolvedmanx modern file type registration (was: Re-register MPT instantly
related to 0001185 resolvedmanx Restructure MSVC bin directory layout 
related to 0001186 resolvedmanx Remove Windows XP support 
related to 0001213 resolvedmanx Admin-level installer modifies per-user directories 
related to 0001214 resolvedmanx Remove portable mode from installer 
related to 0001429 resolved Force shared instance via INI setting 
related to 0001430 closedmanx decide how /shared should behave with non-matching architectures of OpenMPT.exe 

Activities

Saga Musix

Saga Musix

2018-05-27 10:41

administrator   ~0003533

One reason this was not done in the past is that it actually complicates switching between x64 and x86 versions instead of easing it. The application ID in the installer is static, so for a unified installer it would have to be identical between x86 and x64. In return, this would imply that after installing the x64 version, the x86 version would be offered to be installed into the same folder, which we do not support. This could be "solved" by always defaulting to a default installation path based on the bitness when running the installer, but this again complicates the upgrading procedure for non-default path installations, which are still quite popular.

manx

manx

2018-05-27 11:28

administrator   ~0003534

That's not exactly what I had in mind here.
The goal would be to install all supported binaries for the particular system, into the same directory, using the system-native ProgramFiles folder (and ignoring Microsoft's recommendation to install binaries for different architectures into completely separate folder structures, which frankly does not make sense for applications supporting multiple architectures (and is ignored by basically every program that does this already (like 7zip, TortoiseSVN, VisualStudio itself (64bit hosted compilers), LibreOffice))).

What I have in mind is a directory layout as follows:

%ProgramFiles%\OpenMPT\
%ProgramFiles%\OpenMPT\bin\
%ProgramFiles%\OpenMPT\bin\x86\
%ProgramFiles%\OpenMPT\bin\x86\mptrack.exe
%ProgramFiles%\OpenMPT\bin\x86\PluginBridge.exe
%ProgramFiles%\OpenMPT\bin\amd64\
%ProgramFiles%\OpenMPT\bin\amd64\mptrack.exe
%ProgramFiles%\OpenMPT\bin\amd64\PluginBridge.exe
%ProgramFiles%\OpenMPT\bin\arm\
%ProgramFiles%\OpenMPT\bin\arm\mptrack.exe
%ProgramFiles%\OpenMPT\bin\arm\PluginBridge.exe
%ProgramFiles%\OpenMPT\bin\arm64\
%ProgramFiles%\OpenMPT\bin\arm64\mptrack.exe
%ProgramFiles%\OpenMPT\bin\arm64\PluginBridge.exe
%ProgramFiles%\OpenMPT\README
%ProgramFiles%\OpenMPT\Manual.chm
%ProgramFiles%\OpenMPT\Licenses\

and providing Start Menu entries for all variants directly.

manx

manx

2019-03-24 18:49

administrator   ~0003904

r11480 adds path detection for the optional new multi-arch layout

Saga Musix

Saga Musix

2019-03-31 13:57

administrator   ~0003909

As we will change the default paths anyway, invalidating any previously used executable location, we can also finally make the change to renaming mptrack.exe to OpenMPT.exe.

manx

manx

2019-05-22 06:08

administrator   ~0003946

https://forum.openmpt.org/index.php?topic=6168.0

manx

manx

2020-06-07 07:29

administrator   ~0004369

r12991 / 1.30.00.04

Issue History

Date Modified Username Field Change
2018-05-27 06:21 manx New Issue
2018-05-27 06:22 manx Relationship added related to 0001011
2018-05-27 06:22 manx Relationship added related to 0001120
2018-05-27 06:22 manx Description Updated
2018-05-27 10:41 Saga Musix Note Added: 0003533
2018-05-27 11:28 manx Note Added: 0003534
2018-09-12 06:12 manx Relationship added related to 0000649
2019-01-07 15:14 manx Relationship added related to 0001186
2019-02-19 07:19 manx Relationship added related to 0001185
2019-03-08 12:55 manx Relationship added related to 0001213
2019-03-08 15:34 manx Relationship added related to 0001214
2019-03-24 18:49 manx Note Added: 0003904
2019-03-24 18:50 manx Assigned To => manx
2019-03-24 18:50 manx Status new => assigned
2019-03-31 13:57 Saga Musix Note Added: 0003909
2019-05-22 06:08 manx Note Added: 0003946
2020-05-10 09:05 manx Assigned To manx =>
2020-05-10 09:05 manx Status assigned => acknowledged
2020-05-10 09:05 manx Target Version OpenMPT 1.?? (long term goals) => OpenMPT 1.30.01.00 / libopenmpt 0.6.0 (upgrade first)
2020-06-07 07:29 manx Assigned To => manx
2020-06-07 07:29 manx Status acknowledged => resolved
2020-06-07 07:29 manx Resolution open => fixed
2020-06-07 07:29 manx Fixed in Version => OpenMPT 1.30.00.* (old testing)
2020-06-07 07:29 manx Note Added: 0004369
2020-06-07 07:30 manx Fixed in Version OpenMPT 1.30.00.* (old testing) => OpenMPT 1.30.01.00 / libopenmpt 0.6.0 (upgrade first)
2021-03-02 19:52 manx Relationship added related to 0001429
2021-03-02 20:01 manx Relationship added related to 0001430
2024-10-10 08:17 manx Category General => Installer and Update