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:
