View Issue Details

IDProjectCategoryView StatusLast Update
0001214OpenMPTGeneralpublic2020-06-07 07:30
Reportermanx Assigned Tomanx  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product VersionOpenMPT 1.29.00.* (old testing) 
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) 
Summary0001214: Remove portable mode from installer
Description

Portable mode has about nothing in common with the regular install procedure. In particular, portable mode does not modify any global or user system state (and it should not), basically making it equivalent to just extracting the files. I think we should default the zip archive distributions to portable mode, and remove portable mode from the installer.

TagsNo tags attached.
Attached Files
installer-noportable-v1.patch (56,449 bytes)   
Index: build/auto/build_openmpt_release_packages.py
===================================================================
--- build/auto/build_openmpt_release_packages.py	(revision 12100)
+++ build/auto/build_openmpt_release_packages.py	(working copy)
@@ -2,6 +2,7 @@
 # OpenMPT packaging script by Saga Musix
 # https://openmpt.org/
 
+from pathlib import Path
 from subprocess import Popen
 from sys import executable
 import os, shutil, hashlib
@@ -109,10 +110,14 @@
 remove_file("installer/" + openmpt_version_name + "-Setup-x64.exe")
 remove_file("installer/" + openmpt_version_name + ".zip")
 remove_file("installer/" + openmpt_version_name + "-x64.zip")
+remove_file("installer/" + openmpt_version_name + "-portable.zip")
+remove_file("installer/" + openmpt_version_name + "-portable-x64.zip")
 remove_file("installer/" + openmpt_version_name + "-Setup.exe.digests")
 remove_file("installer/" + openmpt_version_name + "-Setup-x64.exe.digests")
 remove_file("installer/" + openmpt_version_name + ".zip.digests")
 remove_file("installer/" + openmpt_version_name + "-x64.zip.digests")
+remove_file("installer/" + openmpt_version_name + "-portable.zip.digests")
+remove_file("installer/" + openmpt_version_name + "-portable-x64.zip.digests")
 
 print("Generating manual...")
 pManual = Popen([executable, "wiki.py"], cwd="mptrack/manual_generator/")
@@ -126,11 +131,13 @@
 copy_binaries("bin/release/vs2019-win7-static/x86/", openmpt_zip_32bit_path)
 copy_pluginbridge("bin/release/vs2019-win7-static/", "x86", openmpt_zip_32bit_path)
 copy_pluginbridge("bin/release/vs2019-win7-static/", "amd64", openmpt_zip_32bit_path)
+Path(openmpt_zip_32bit_path + "OpenMPT.portable").touch()
 print("Copying 64-bit binaries...")
 shutil.rmtree(openmpt_zip_64bit_basepath, ignore_errors=True)
 copy_binaries("bin/release/vs2019-win7-static/amd64/", openmpt_zip_64bit_path)
 copy_pluginbridge("bin/release//vs2019-win7-static/", "x86", openmpt_zip_64bit_path)
 copy_pluginbridge("bin/release//vs2019-win7-static/", "amd64", openmpt_zip_64bit_path)
+Path(openmpt_zip_64bit_path + "OpenMPT.portable").touch()
 
 if not singleThreaded:
 	pManual.communicate()
@@ -156,10 +163,10 @@
 copy_other(openmpt_zip_64bit_path,    openmpt_version_short)
 
 print("Creating zip files and installers...")
-p7z32    = Popen([path7z, "a", "-tzip", "-mx=9", "../" + openmpt_version_name + ".zip",            openmpt_version_name + "/"], cwd=openmpt_zip_32bit_basepath)
+p7z32    = Popen([path7z, "a", "-tzip", "-mx=9", "../" + openmpt_version_name + "-portable.zip",            openmpt_version_name + "/"], cwd=openmpt_zip_32bit_basepath)
 if singleThreaded:
 	p7z32.communicate()
-p7z64    = Popen([path7z, "a", "-tzip", "-mx=9", "../" + openmpt_version_name + "-x64.zip",        openmpt_version_name + "/"], cwd=openmpt_zip_64bit_basepath)
+p7z64    = Popen([path7z, "a", "-tzip", "-mx=9", "../" + openmpt_version_name + "-portable-x64.zip",        openmpt_version_name + "/"], cwd=openmpt_zip_64bit_basepath)
 if singleThreaded:
 	p7z64.communicate()
 pInno32  = Popen([pathISCC, "win32.iss"], cwd="installer/")
@@ -195,8 +202,8 @@
 
 hash_file("installer/" + openmpt_version_name + "-Setup.exe")
 hash_file("installer/" + openmpt_version_name + "-Setup-x64.exe")
-hash_file("installer/" + openmpt_version_name + ".zip")
-hash_file("installer/" + openmpt_version_name + "-x64.zip")
+hash_file("installer/" + openmpt_version_name + "-portable.zip")
+hash_file("installer/" + openmpt_version_name + "-portable-x64.zip")
 
 shutil.rmtree(openmpt_zip_32bit_basepath)
 shutil.rmtree(openmpt_zip_64bit_basepath)
Index: build/auto/package_openmpt_installer_args.cmd
===================================================================
--- build/auto/package_openmpt_installer_args.cmd	(revision 12100)
+++ build/auto/package_openmpt_installer_args.cmd	(working copy)
@@ -22,14 +22,14 @@
 mkdir openmpt
 mkdir openmpt\pkg.win
 mkdir openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%
-copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup.exe              openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-Setup.exe
-copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup.exe.digests      openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-Setup.exe.digests
-copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup-x64.exe          openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-Setup-x64.exe
-copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup-x64.exe.digests  openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-Setup-x64.exe.digests
-copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%.zip                    openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%.zip
-copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%.zip.digests            openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%.zip.digests
-copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-x64.zip                openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-x64.zip
-copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-x64.zip.digests        openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-x64.zip.digests
+copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup.exe                openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-Setup.exe
+copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup.exe.digests        openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-Setup.exe.digests
+copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup-x64.exe            openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-Setup-x64.exe
+copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-Setup-x64.exe.digests    openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-Setup-x64.exe.digests
+copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable.zip             openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-portable.zip
+copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable.zip.digests     openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-portable.zip.digests
+copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-x64.zip         openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-portable-x64.zip
+copy /y ..\installer\OpenMPT-%OPENMPT_VERSION%-portable-x64.zip.digests openmpt\pkg.win\%OPENMPT_VERSION_MAJORMAJOR%.%OPENMPT_VERSION_MAJOR%\OpenMPT-%OPENMPT_VERSION%-%SVNVERSION%-portable-x64.zip.digests
 ..\build\tools\7zip\7z.exe a -ttar openmpt-pkg.win.tar openmpt || goto error
 rmdir /s /q openmpt
 cd .. || goto error
Index: installer/filetypes.iss
===================================================================
--- installer/filetypes.iss	(revision 12100)
+++ installer/filetypes.iss	(working copy)
@@ -108,133 +108,133 @@
 Root: HKCR; Subkey: ".wow"; ValueType: string; ValueName: ""; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: associate_exotic\wow
 
 ; important (setup)
-Root: HKCR; Subkey: "OpenMPTFile"; ValueType: string; ValueName: ""; ValueData: "OpenMPT Module"; Flags: uninsdeletekey; Tasks: associate_common or associate_exotic or not portable
-Root: HKCR; SubKey: "OpenMPTFile"; ValueType: string; ValueName: "PerceivedType"; ValueData: "audio"; Tasks: associate_common or associate_exotic or not portable
-Root: HKCR; Subkey: "OpenMPTFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\mpt.ico,0"; Tasks: associate_common or associate_exotic or not portable
-Root: HKCR; Subkey: "OpenMPTFile\shell\Open"; ValueType: string; ValueName: "MultiSelectModel"; ValueData: "Player"; Tasks: associate_common or associate_exotic or not portable
-Root: HKCR; Subkey: "OpenMPTFile\shell\Open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\OpenMPT.exe"" /shared ""%1"""; Tasks: associate_common or associate_exotic or not portable
+Root: HKCR; Subkey: "OpenMPTFile"; ValueType: string; ValueName: ""; ValueData: "OpenMPT Module"; Flags: uninsdeletekey
+Root: HKCR; SubKey: "OpenMPTFile"; ValueType: string; ValueName: "PerceivedType"; ValueData: "audio"
+Root: HKCR; Subkey: "OpenMPTFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\mpt.ico,0"
+Root: HKCR; Subkey: "OpenMPTFile\shell\Open"; ValueType: string; ValueName: "MultiSelectModel"; ValueData: "Player"
+Root: HKCR; Subkey: "OpenMPTFile\shell\Open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\OpenMPT.exe"" /shared ""%1"""
 ; remove DDE action if it still exists from OpenMPT 1.27 or earlier
-Root: HKCR; Subkey: "OpenMPTFile\shell\Open\ddeexec"; ValueType: none; Flags: deletekey; Tasks: associate_common or associate_exotic or not portable
+Root: HKCR; Subkey: "OpenMPTFile\shell\Open\ddeexec"; ValueType: none; Flags: deletekey
 
 ; Application capabilities
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT"; Flags: uninsdeletekeyifempty; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities"; ValueType: string; ValueName: "ApplicationDescription"; ValueData: "Open ModPlug Tracker is an application for editing and playing tracked music in various formats."; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities"; ValueType: string; ValueName: "ApplicationName"; ValueData: "OpenMPT"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities"; ValueType: string; ValueName: "ApplicationIcon"; ValueData: "{app}\OpenMPT.exe,0"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/it"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/xm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/s3m"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-s3m"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-zipped-mod"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-zipped-it"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-tracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-screamtracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-protracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-startracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-fasttracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-oktalyzer-tracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-taketracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT"; Flags: uninsdeletekeyifempty
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities"; ValueType: string; ValueName: "ApplicationDescription"; ValueData: "Open ModPlug Tracker is an application for editing and playing tracked music in various formats."; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities"; ValueType: string; ValueName: "ApplicationName"; ValueData: "OpenMPT"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities"; ValueType: string; ValueName: "ApplicationIcon"; ValueData: "{app}\OpenMPT.exe,0"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/it"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/xm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/s3m"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-s3m"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-zipped-mod"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-zipped-it"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-tracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-screamtracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-protracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-startracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-fasttracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-oktalyzer-tracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-taketracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
 
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mod"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".s3m"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".xm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".it"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mptm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mdr"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mdz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".s3z"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".xmz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".itz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mptmz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".669"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".amf"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ams"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".c67"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dbm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".digi"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dmf"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dsm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dtm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".far"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".gdm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".imf"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ice"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".itp"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".j2b"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".m15"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mdl"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".med"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mms"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mo3"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mt2"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mtm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".okt"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".oxm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".plm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".psm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".pt36"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ptm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".sfx"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".sfx2"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".st26"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stp"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ult"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".umx"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".wow"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mod"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".s3m"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".xm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".it"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mptm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mdr"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mdz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".s3z"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".xmz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".itz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mptmz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".669"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".amf"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ams"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".c67"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dbm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".digi"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dmf"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dsm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dtm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".far"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".gdm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".imf"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ice"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".itp"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".j2b"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".m15"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mdl"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".med"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mms"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mo3"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mt2"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mtm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".okt"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".oxm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".plm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".psm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".pt36"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ptm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".sfx"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".sfx2"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".st26"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stp"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ult"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".umx"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".wow"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
 
-Root: HKLM; Subkey: "Software\RegisteredApplications"; ValueType: string; ValueName: "OpenMPT"; ValueData: "Software\Clients\Media\OpenMPT\Capabilities"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKLM; Subkey: "Software\RegisteredApplications"; ValueType: string; ValueName: "OpenMPT"; ValueData: "Software\Clients\Media\OpenMPT\Capabilities"; Flags: uninsdeletevalue
 
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mod"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".s3m"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".xm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".it"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mptm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mdr"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mdz"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".s3z"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".xmz"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".itz"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mptmz"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".669"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".amf"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ams"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".c67"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dbm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".digi"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dmf"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dsm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dtm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".far"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".gdm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".imf"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ice"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".itp"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".j2b"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".m15"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mdl"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".med"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mms"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mo3"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mt2"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mtm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".okt"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".oxm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".plm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".psm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".pt36"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ptm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".sfx"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".sfx2"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".st26"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stp"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ult"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".umx"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".wow"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mod"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".s3m"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".xm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".it"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mptm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mdr"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mdz"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".s3z"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".xmz"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".itz"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mptmz"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".669"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".amf"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ams"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".c67"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dbm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".digi"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dmf"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dsm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dtm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".far"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".gdm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".imf"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ice"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".itp"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".j2b"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".m15"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mdl"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".med"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mms"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mo3"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mt2"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mtm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".okt"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".oxm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".plm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".psm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".pt36"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ptm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".sfx"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".sfx2"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".st26"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stp"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ult"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".umx"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".wow"; ValueData: ""; Flags: uninsdeletevalue
 
 ; remove old mptrack.exe SupportedTypes
-Root: HKLM; Subkey: "Software\Classes\Applications\mptrack.exe"; ValueType: none; Flags: deletekey; Tasks: not portable
+Root: HKLM; Subkey: "Software\Classes\Applications\mptrack.exe"; ValueType: none; Flags: deletekey
 
 [Files]
 ; icon file (should be moved into EXE)
Index: installer/install.iss
===================================================================
--- installer/install.iss	(revision 12100)
+++ installer/install.iss	(working copy)
@@ -35,8 +35,6 @@
 SolidCompression=yes
 WizardImageFile=install-big.bmp
 WizardSmallImageFile=install-small.bmp
-CreateUninstallRegKey=not IsTaskSelected('portable')
-Uninstallable=not IsTaskSelected('portable')
 UninstallDisplayIcon={app}\OpenMPT.exe
 DisableWelcomePage=yes
 
@@ -45,7 +43,6 @@
 Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
 Name: startmenuicon; Description: "Create a Start Menu icon"; GroupDescription: {cm:AdditionalIcons}
 Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
-Name: portable; Description: Portable mode (use program folder for storing settings, no registry changes); GroupDescription: Options:; Flags: unchecked
 ; file associations - put this below all other [tasks]!
 #include "filetypes.iss"
 
@@ -66,8 +63,6 @@
 Source: ..\bin\{#PlatformFolder}\openmpt-soundtouch.dll; DestDir: {app}; Flags: ignoreversion
 ; Wine support
 Source: ..\bin\{#PlatformFolder}\openmpt-wine-support.zip; DestDir: {app}; Flags: ignoreversion
-; portable mode
-Source: ..\packageTemplate\OpenMPT.portable; DestDir: {app}; Flags: ignoreversion; Tasks: portable
 
 Source: ..\packageTemplate\ExampleSongs\*.*; DestDir: {app}\ExampleSongs\; Flags: ignoreversion sortfilesbyextension recursesubdirs
 
@@ -88,17 +83,15 @@
 Source: ..\packageTemplate\ExtraKeymaps\*.*; DestDir: {app}\ExtraKeymaps; Flags: ignoreversion sortfilesbyextension
 
 ; kind of auto-backup - handy!
-Source: {userappdata}\OpenMPT\Keybindings.mkb; DestDir: {userappdata}\OpenMPT; DestName: Keybindings.mkb.old; Flags: external skipifsourcedoesntexist; Tasks: not portable
-Source: {userappdata}\OpenMPT\mptrack.ini; DestDir: {userappdata}\OpenMPT; DestName: mptrack.ini.old; Flags: external skipifsourcedoesntexist; Tasks: not portable
-Source: {userappdata}\OpenMPT\SongSettings.ini; DestDir: {userappdata}\OpenMPT; DestName: SongSettings.ini.old; Flags: external skipifsourcedoesntexist; Tasks: not portable
-Source: {userappdata}\OpenMPT\plugin.cache; DestDir: {userappdata}\OpenMPT; DestName: plugin.cache.old; Flags: external skipifsourcedoesntexist; Tasks: not portable
+Source: {userappdata}\OpenMPT\Keybindings.mkb; DestDir: {userappdata}\OpenMPT; DestName: Keybindings.mkb.old; Flags: external skipifsourcedoesntexist
+Source: {userappdata}\OpenMPT\mptrack.ini; DestDir: {userappdata}\OpenMPT; DestName: mptrack.ini.old; Flags: external skipifsourcedoesntexist
+Source: {userappdata}\OpenMPT\SongSettings.ini; DestDir: {userappdata}\OpenMPT; DestName: SongSettings.ini.old; Flags: external skipifsourcedoesntexist
+Source: {userappdata}\OpenMPT\plugin.cache; DestDir: {userappdata}\OpenMPT; DestName: plugin.cache.old; Flags: external skipifsourcedoesntexist
 
 [Dirs]
-; option dirs for non-portable mode
-Name: {userappdata}\OpenMPT; Tasks: not portable
-Name: {userappdata}\OpenMPT\tunings; Tasks: not portable
-; dirst for portable mode
-Name: {app}\tunings; Tasks: portable
+; option dirs
+Name: {userappdata}\OpenMPT
+Name: {userappdata}\OpenMPT\tunings
 
 [Icons]
 ; start menu
@@ -105,8 +98,8 @@
 Name: {userprograms}\OpenMPT; Filename: {app}\OpenMPT.exe; Tasks: startmenuicon
 
 ; app's directory and keymaps directory (for ease of use)
-Name: {app}\Configuration files; Filename: {userappdata}\OpenMPT\; Tasks: not portable
-Name: {userappdata}\OpenMPT\More Keymaps; Filename: {app}\extraKeymaps\; Tasks: not portable
+Name: {app}\Configuration files; Filename: {userappdata}\OpenMPT\
+Name: {userappdata}\OpenMPT\More Keymaps; Filename: {app}\extraKeymaps\
 
 ; desktop, quick launch
 Name: {userdesktop}\OpenMPT; Filename: {app}\OpenMPT.exe; Tasks: desktopicon
@@ -146,18 +139,12 @@
 ; internet shortcut has to be deleted manually
 Type: files; Name: {app}\ModPlug Central.url
 ; normal installation
-Type: dirifempty; Name: {userappdata}\OpenMPT\Autosave; Tasks: not portable
-Type: dirifempty; Name: {userappdata}\OpenMPT\TemplateModules; Tasks: not portable
-Type: dirifempty; Name: {userappdata}\OpenMPT\tunings; Tasks: not portable
-Type: dirifempty; Name: {userappdata}\OpenMPT\Components\{#PlatformArchitecture}; Tasks: not portable
-Type: dirifempty; Name: {userappdata}\OpenMPT\Components; Tasks: not portable
-Type: dirifempty; Name: {userappdata}\OpenMPT; Tasks: not portable
-; portable installation
-Type: dirifempty; Name: {app}\Autosave; Tasks: portable
-Type: dirifempty; Name: {app}\TemplateModules; Tasks: portable
-Type: dirifempty; Name: {app}\tunings; Tasks: portable
-Type: dirifempty; Name: {userappdata}\OpenMPT\Components\{#PlatformArchitecture}; Tasks: portable
-Type: dirifempty; Name: {userappdata}\OpenMPT\Components; Tasks: portable
+Type: dirifempty; Name: {userappdata}\OpenMPT\Autosave
+Type: dirifempty; Name: {userappdata}\OpenMPT\TemplateModules
+Type: dirifempty; Name: {userappdata}\OpenMPT\tunings
+Type: dirifempty; Name: {userappdata}\OpenMPT\Components\{#PlatformArchitecture}
+Type: dirifempty; Name: {userappdata}\OpenMPT\Components
+Type: dirifempty; Name: {userappdata}\OpenMPT
 
 #include "utilities.iss"
 
@@ -174,12 +161,6 @@
 
 begin
 
-    // Not needed if portable mode is enabled.
-    if(IsTaskSelected('portable')) then
-    begin
-        Exit;
-    end;
-
     // If there was an INI file with portable mode flag set, we have to reset it (or else, the mptrack.ini in %appdata% will never be used!)
     if(IniKeyExists('Paths', 'UseAppDataDirectory', ExpandConstant('{app}\mptrack.ini'))) then
     begin
@@ -270,10 +251,6 @@
     wpSelectTasks:
         begin
             programfiles := ExpandConstant('{pf}\');
-            if((CompareText(programfiles, Copy(ExpandConstant('{app}\'), 0, Length(programfiles))) = 0) and IsTaskSelected('portable')) then
-            begin
-                MsgBox('Warning: Installing OpenMPT to' #10 + programfiles + #10 'in portable mode may lead to problems if you are not running it with an administrator account!', mbInformation, MB_OK);
-            end;
         end;
 
     BitnessPage.ID:
installer-noportable-v1.patch (56,449 bytes)   
Has the bug occurred in previous versions?
Tested code revision (in case you know it)

Relationships

related to 0001011 resolvedmanx Automatic update 
related to 0001123 resolvedmanx Provide unified multi-arch installer 
related to 0000649 resolvedmanx modern file type registration (was: Re-register MPT instantly

Activities

Saga Musix

Saga Musix

2019-03-09 22:59

administrator   ~0003894

The problem with making it the default choice of the zip package is that it would have to contain an mptrack.ini and the user would have to remember with each upgrade that they mustn't overwrite their existing mptrack.ini. I have seen this kind of requirement with other (portable) software and I find it way too dangerous to be a sane default.

manx

manx

2019-03-10 07:18

administrator   ~0003895

The portable flag does not need to be stored in mptrack.ini. We can move this information to a totally separate file, like OpenMPT.portableand just check for its existence. Storing it in the configuration file itself is kind of a chicken-egg problem in itself because the portable flag determines where to look for mptrack.ini in the first place (yes, it works, but is somewhat confusing).

harbinger

harbinger

2019-03-11 17:51

reporter   ~0003897

What advantage does one gain by an app using Windows' registry? Will the transition require anything extra?

manx

manx

2019-03-11 17:58

administrator   ~0003898

This issue is not about using the windows registry to store settings. The windows registry is only used by OpenMPT to register file types (for which the registry is the only possible interface).

The transition discussed here is about how OpenMPT remembers whether it stores its data in the user directory (standard system-wide installed mode) or in its own program folder (portable mode), and will not require any extra action by the user.

Saga Musix

Saga Musix

2019-03-11 17:58

administrator   ~0003899

Last edited: 2019-03-11 17:59

This report is not about removing portable mode, merely about changing the way it is enabled. There will be no (manual) transition required for existing installations.

edit: manx beat me to it

manx

manx

2019-03-16 12:57

administrator   ~0003903

r11464 move the portable flag to OpenMPT.portable.

manx

manx

2020-01-05 13:50

administrator   ~0004178

installer-noportable-v3.patch (49,411 bytes)   
Index: installer/filetypes.iss
===================================================================
--- installer/filetypes.iss	(revision 12447)
+++ installer/filetypes.iss	(working copy)
@@ -108,133 +108,133 @@
 Root: HKCR; Subkey: ".wow"; ValueType: string; ValueName: ""; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: associate_exotic\wow
 
 ; important (setup)
-Root: HKCR; Subkey: "OpenMPTFile"; ValueType: string; ValueName: ""; ValueData: "OpenMPT Module"; Flags: uninsdeletekey; Tasks: associate_common or associate_exotic or not portable
-Root: HKCR; SubKey: "OpenMPTFile"; ValueType: string; ValueName: "PerceivedType"; ValueData: "audio"; Tasks: associate_common or associate_exotic or not portable
-Root: HKCR; Subkey: "OpenMPTFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\mpt.ico,0"; Tasks: associate_common or associate_exotic or not portable
-Root: HKCR; Subkey: "OpenMPTFile\shell\Open"; ValueType: string; ValueName: "MultiSelectModel"; ValueData: "Player"; Tasks: associate_common or associate_exotic or not portable
-Root: HKCR; Subkey: "OpenMPTFile\shell\Open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\OpenMPT.exe"" /shared ""%1"""; Tasks: associate_common or associate_exotic or not portable
+Root: HKCR; Subkey: "OpenMPTFile"; ValueType: string; ValueName: ""; ValueData: "OpenMPT Module"; Flags: uninsdeletekey
+Root: HKCR; SubKey: "OpenMPTFile"; ValueType: string; ValueName: "PerceivedType"; ValueData: "audio"
+Root: HKCR; Subkey: "OpenMPTFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\mpt.ico,0"
+Root: HKCR; Subkey: "OpenMPTFile\shell\Open"; ValueType: string; ValueName: "MultiSelectModel"; ValueData: "Player"
+Root: HKCR; Subkey: "OpenMPTFile\shell\Open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\OpenMPT.exe"" /shared ""%1"""
 ; remove DDE action if it still exists from OpenMPT 1.27 or earlier
-Root: HKCR; Subkey: "OpenMPTFile\shell\Open\ddeexec"; ValueType: none; Flags: deletekey; Tasks: associate_common or associate_exotic or not portable
+Root: HKCR; Subkey: "OpenMPTFile\shell\Open\ddeexec"; ValueType: none; Flags: deletekey
 
 ; Application capabilities
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT"; Flags: uninsdeletekeyifempty; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities"; ValueType: string; ValueName: "ApplicationDescription"; ValueData: "Open ModPlug Tracker is an application for editing and playing tracked music in various formats."; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities"; ValueType: string; ValueName: "ApplicationName"; ValueData: "OpenMPT"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities"; ValueType: string; ValueName: "ApplicationIcon"; ValueData: "{app}\OpenMPT.exe,0"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/it"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/xm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/s3m"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-s3m"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-zipped-mod"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-zipped-it"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-tracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-screamtracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-protracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-startracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-fasttracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-oktalyzer-tracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-taketracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT"; Flags: uninsdeletekeyifempty
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities"; ValueType: string; ValueName: "ApplicationDescription"; ValueData: "Open ModPlug Tracker is an application for editing and playing tracked music in various formats."; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities"; ValueType: string; ValueName: "ApplicationName"; ValueData: "OpenMPT"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities"; ValueType: string; ValueName: "ApplicationIcon"; ValueData: "{app}\OpenMPT.exe,0"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/it"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/xm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/s3m"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-s3m"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-zipped-mod"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-zipped-it"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-tracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-screamtracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-protracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-startracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-fasttracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-oktalyzer-tracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\MIMEAssociations"; ValueType: string; ValueName: "audio/x-taketracker-module"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
 
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mod"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".s3m"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".xm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".it"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mptm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mdr"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mdz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".s3z"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".xmz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".itz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mptmz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".669"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".amf"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ams"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".c67"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dbm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".digi"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dmf"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dsm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dtm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".far"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".gdm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".imf"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ice"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".itp"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".j2b"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".m15"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mdl"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".med"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mms"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mo3"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mt2"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mtm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".okt"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".oxm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".plm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".psm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".pt36"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ptm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".sfx"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".sfx2"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".st26"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stp"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ult"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".umx"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".wow"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mod"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".s3m"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".xm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".it"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mptm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mdr"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mdz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".s3z"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".xmz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".itz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mptmz"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".669"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".amf"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ams"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".c67"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dbm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".digi"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dmf"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dsm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".dtm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".far"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".gdm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".imf"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ice"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".itp"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".j2b"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".m15"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mdl"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".med"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mms"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mo3"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mt2"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".mtm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".okt"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".oxm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".plm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".psm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".pt36"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ptm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".sfx"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".sfx2"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".st26"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stm"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stp"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ult"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".umx"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Clients\Media\OpenMPT\Capabilities\FileAssociations"; ValueType: string; ValueName: ".wow"; ValueData: "OpenMPTFile"; Flags: uninsdeletevalue
 
-Root: HKLM; Subkey: "Software\RegisteredApplications"; ValueType: string; ValueName: "OpenMPT"; ValueData: "Software\Clients\Media\OpenMPT\Capabilities"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKLM; Subkey: "Software\RegisteredApplications"; ValueType: string; ValueName: "OpenMPT"; ValueData: "Software\Clients\Media\OpenMPT\Capabilities"; Flags: uninsdeletevalue
 
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mod"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".s3m"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".xm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".it"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mptm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mdr"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mdz"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".s3z"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".xmz"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".itz"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mptmz"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".669"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".amf"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ams"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".c67"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dbm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".digi"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dmf"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dsm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dtm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".far"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".gdm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".imf"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ice"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".itp"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".j2b"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".m15"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mdl"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".med"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mms"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mo3"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mt2"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mtm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".okt"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".oxm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".plm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".psm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".pt36"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ptm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".sfx"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".sfx2"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".st26"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stm"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stp"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ult"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".umx"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".wow"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mod"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".s3m"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".xm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".it"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mptm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mdr"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mdz"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".s3z"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".xmz"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".itz"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mptmz"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".669"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".amf"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ams"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".c67"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dbm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".digi"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dmf"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dsm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".dtm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".far"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".gdm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".imf"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ice"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".itp"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".j2b"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".m15"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mdl"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".med"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mms"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mo3"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mt2"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".mtm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".okt"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".oxm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".plm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".psm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".pt36"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ptm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".sfx"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".sfx2"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".st26"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stm"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stp"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ult"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".umx"; ValueData: ""; Flags: uninsdeletevalue
+Root: HKLM; Subkey: "Software\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".wow"; ValueData: ""; Flags: uninsdeletevalue
 
 ; remove old mptrack.exe SupportedTypes
-Root: HKLM; Subkey: "Software\Classes\Applications\mptrack.exe"; ValueType: none; Flags: deletekey; Tasks: not portable
+Root: HKLM; Subkey: "Software\Classes\Applications\mptrack.exe"; ValueType: none; Flags: deletekey
 
 [Files]
 ; icon file (should be moved into EXE)
Index: installer/install.iss
===================================================================
--- installer/install.iss	(revision 12447)
+++ installer/install.iss	(working copy)
@@ -35,8 +35,6 @@
 SolidCompression=yes
 WizardImageFile=install-big.bmp
 WizardSmallImageFile=install-small.bmp
-CreateUninstallRegKey=not IsTaskSelected('portable')
-Uninstallable=not IsTaskSelected('portable')
 UninstallDisplayIcon={app}\OpenMPT.exe
 DisableWelcomePage=yes
 
@@ -45,7 +43,6 @@
 Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
 Name: startmenuicon; Description: "Create a Start Menu icon"; GroupDescription: {cm:AdditionalIcons}
 Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
-Name: portable; Description: Portable mode (use program folder for storing settings, no registry changes); GroupDescription: Options:; Flags: unchecked
 ; file associations - put this below all other [tasks]!
 #include "filetypes.iss"
 
@@ -66,8 +63,6 @@
 Source: ..\bin\{#PlatformFolder}\openmpt-soundtouch.dll; DestDir: {app}; Flags: ignoreversion
 ; Wine support
 Source: ..\bin\{#PlatformFolder}\openmpt-wine-support.zip; DestDir: {app}; Flags: ignoreversion
-; portable mode
-Source: ..\packageTemplate\OpenMPT.portable; DestDir: {app}; Flags: ignoreversion; Tasks: portable
 
 Source: ..\packageTemplate\ExampleSongs\*.*; DestDir: {app}\ExampleSongs\; Flags: ignoreversion sortfilesbyextension recursesubdirs
 
@@ -88,17 +83,15 @@
 Source: ..\packageTemplate\ExtraKeymaps\*.*; DestDir: {app}\ExtraKeymaps; Flags: ignoreversion sortfilesbyextension
 
 ; kind of auto-backup - handy!
-Source: {userappdata}\OpenMPT\Keybindings.mkb; DestDir: {userappdata}\OpenMPT; DestName: Keybindings.mkb.old; Flags: external skipifsourcedoesntexist; Tasks: not portable
-Source: {userappdata}\OpenMPT\mptrack.ini; DestDir: {userappdata}\OpenMPT; DestName: mptrack.ini.old; Flags: external skipifsourcedoesntexist; Tasks: not portable
-Source: {userappdata}\OpenMPT\SongSettings.ini; DestDir: {userappdata}\OpenMPT; DestName: SongSettings.ini.old; Flags: external skipifsourcedoesntexist; Tasks: not portable
-Source: {userappdata}\OpenMPT\plugin.cache; DestDir: {userappdata}\OpenMPT; DestName: plugin.cache.old; Flags: external skipifsourcedoesntexist; Tasks: not portable
+Source: {userappdata}\OpenMPT\Keybindings.mkb; DestDir: {userappdata}\OpenMPT; DestName: Keybindings.mkb.old; Flags: external skipifsourcedoesntexist
+Source: {userappdata}\OpenMPT\mptrack.ini; DestDir: {userappdata}\OpenMPT; DestName: mptrack.ini.old; Flags: external skipifsourcedoesntexist
+Source: {userappdata}\OpenMPT\SongSettings.ini; DestDir: {userappdata}\OpenMPT; DestName: SongSettings.ini.old; Flags: external skipifsourcedoesntexist
+Source: {userappdata}\OpenMPT\plugin.cache; DestDir: {userappdata}\OpenMPT; DestName: plugin.cache.old; Flags: external skipifsourcedoesntexist
 
 [Dirs]
-; option dirs for non-portable mode
-Name: {userappdata}\OpenMPT; Tasks: not portable
-Name: {userappdata}\OpenMPT\tunings; Tasks: not portable
-; dirst for portable mode
-Name: {app}\tunings; Tasks: portable
+; option dirs
+Name: {userappdata}\OpenMPT
+Name: {userappdata}\OpenMPT\tunings
 
 [Icons]
 ; start menu
@@ -105,8 +98,8 @@
 Name: {userprograms}\OpenMPT; Filename: {app}\OpenMPT.exe; Tasks: startmenuicon
 
 ; app's directory and keymaps directory (for ease of use)
-Name: {app}\Configuration files; Filename: {userappdata}\OpenMPT\; Tasks: not portable
-Name: {userappdata}\OpenMPT\More Keymaps; Filename: {app}\extraKeymaps\; Tasks: not portable
+Name: {app}\Configuration files; Filename: {userappdata}\OpenMPT\
+Name: {userappdata}\OpenMPT\More Keymaps; Filename: {app}\extraKeymaps\
 
 ; desktop, quick launch
 Name: {userdesktop}\OpenMPT; Filename: {app}\OpenMPT.exe; Tasks: desktopicon
@@ -146,18 +139,12 @@
 ; internet shortcut has to be deleted manually
 Type: files; Name: {app}\ModPlug Central.url
 ; normal installation
-Type: dirifempty; Name: {userappdata}\OpenMPT\Autosave; Tasks: not portable
-Type: dirifempty; Name: {userappdata}\OpenMPT\TemplateModules; Tasks: not portable
-Type: dirifempty; Name: {userappdata}\OpenMPT\tunings; Tasks: not portable
-Type: dirifempty; Name: {userappdata}\OpenMPT\Components\{#PlatformArchitecture}; Tasks: not portable
-Type: dirifempty; Name: {userappdata}\OpenMPT\Components; Tasks: not portable
-Type: dirifempty; Name: {userappdata}\OpenMPT; Tasks: not portable
-; portable installation
-Type: dirifempty; Name: {app}\Autosave; Tasks: portable
-Type: dirifempty; Name: {app}\TemplateModules; Tasks: portable
-Type: dirifempty; Name: {app}\tunings; Tasks: portable
-Type: dirifempty; Name: {userappdata}\OpenMPT\Components\{#PlatformArchitecture}; Tasks: portable
-Type: dirifempty; Name: {userappdata}\OpenMPT\Components; Tasks: portable
+Type: dirifempty; Name: {userappdata}\OpenMPT\Autosave
+Type: dirifempty; Name: {userappdata}\OpenMPT\TemplateModules
+Type: dirifempty; Name: {userappdata}\OpenMPT\tunings
+Type: dirifempty; Name: {userappdata}\OpenMPT\Components\{#PlatformArchitecture}
+Type: dirifempty; Name: {userappdata}\OpenMPT\Components
+Type: dirifempty; Name: {userappdata}\OpenMPT
 
 #include "utilities.iss"
 
@@ -174,12 +161,6 @@
 
 begin
 
-    // Not needed if portable mode is enabled.
-    if(IsTaskSelected('portable')) then
-    begin
-        Exit;
-    end;
-
     // If there was an INI file with portable mode flag set, we have to reset it (or else, the mptrack.ini in %appdata% will never be used!)
     if(IniKeyExists('Paths', 'UseAppDataDirectory', ExpandConstant('{app}\mptrack.ini'))) then
     begin
@@ -263,23 +244,7 @@
 end;
 
 function NextButtonClick(CurPageID: Integer): Boolean;
-var
-    programfiles: String;
 begin
-    case CurPageID of
-    wpSelectTasks:
-        begin
-            programfiles := ExpandConstant('{pf}\');
-            if((CompareText(programfiles, Copy(ExpandConstant('{app}\'), 0, Length(programfiles))) = 0) and IsTaskSelected('portable')) then
-            begin
-                MsgBox('Warning: Installing OpenMPT to' #10 + programfiles + #10 'in portable mode may lead to problems if you are not running it with an administrator account!', mbInformation, MB_OK);
-            end;
-        end;
-
-    BitnessPage.ID:
-        begin;
-        end;
-    end;
     Result := true;
 end;
 
installer-noportable-v3.patch (49,411 bytes)   
manx

manx

2020-06-07 07:30

administrator   ~0004372

r12991 / 1.30.00.04

Issue History

Date Modified Username Field Change
2019-03-08 15:34 manx New Issue
2019-03-08 15:34 manx Relationship added related to 0001011
2019-03-08 15:34 manx Relationship added related to 0001123
2019-03-08 15:34 manx Relationship added related to 0000649
2019-03-09 22:59 Saga Musix Note Added: 0003894
2019-03-10 07:18 manx Note Added: 0003895
2019-03-11 17:51 harbinger Note Added: 0003897
2019-03-11 17:58 manx Note Added: 0003898
2019-03-11 17:58 Saga Musix Note Added: 0003899
2019-03-11 17:59 Saga Musix Note Edited: 0003899
2019-03-16 12:57 manx Note Added: 0003903
2019-09-24 13:00 manx File Added: installer-noportable-v1.patch
2019-09-24 13:00 manx Target Version => OpenMPT 1.29.01.00 / libopenmpt 0.5.0 (upgrade first)
2019-09-24 13:00 manx Assigned To => manx
2019-09-24 13:00 manx Status new => assigned
2020-01-05 13:50 manx Note Added: 0004178
2020-01-05 13:50 manx File Added: installer-noportable-v3.patch
2020-04-14 16:20 manx Target Version OpenMPT 1.29.01.00 / libopenmpt 0.5.0 (upgrade first) => OpenMPT 1.30.01.00 / libopenmpt 0.6.0 (upgrade first)
2020-06-07 07:30 manx Status assigned => resolved
2020-06-07 07:30 manx Resolution open => fixed
2020-06-07 07:30 manx Fixed in Version => OpenMPT 1.30.01.00 / libopenmpt 0.6.0 (upgrade first)
2020-06-07 07:30 manx Note Added: 0004372