diff --git a/CHANGELOG b/CHANGELOG index ddcfc9d..f8bfbf4 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,6 @@ innoextract 1.9 (TBD) + - Added preliminary support for Inno Setup 6.1.0 - Added support for a modified Inno Setup 5.4.2 variant - Fixed output directory being created for unsupported installers - Fixed some safe non-ASCII characters being stripped from filenames diff --git a/src/setup/icon.cpp b/src/setup/icon.cpp index 148d1c3..46be687 100644 --- a/src/setup/icon.cpp +++ b/src/setup/icon.cpp @@ -58,6 +58,14 @@ void icon_entry::load(std::istream & is, const info & i) { app_user_model_id.clear(); } + if(i.version >= INNO_VERSION(6, 1, 0)) { + const size_t guid_size = 16; + app_user_model_toast_activator_clsid.resize(guid_size); + is.read(&app_user_model_toast_activator_clsid[0], std::streamsize(guid_size)); + } else { + app_user_model_toast_activator_clsid.clear(); + } + load_version_data(is, i.version); icon_index = util::load(is, i.version.bits()); @@ -98,6 +106,9 @@ void icon_entry::load(std::istream & is, const info & i) { if(i.version >= INNO_VERSION(5, 5, 0)) { flagreader.add(PreventPinning); } + if(i.version >= INNO_VERSION(6, 1, 0)) { + flagreader.add(HasAppUserModelToastActivatorCLSID); + } options = flagreader; } diff --git a/src/setup/icon.hpp b/src/setup/icon.hpp index 74f9fd9..9453c09 100644 --- a/src/setup/icon.hpp +++ b/src/setup/icon.hpp @@ -48,6 +48,7 @@ struct icon_entry : public item { FolderShortcut, ExcludeFromShowInNewInstall, PreventPinning, + HasAppUserModelToastActivatorCLSID, // obsolete options: RunMinimized ); @@ -65,6 +66,7 @@ struct icon_entry : public item { std::string icon_file; std::string comment; std::string app_user_model_id; + std::string app_user_model_toast_activator_clsid; int icon_index; diff --git a/src/setup/run.cpp b/src/setup/run.cpp index 29647ca..0a83790 100644 --- a/src/setup/run.cpp +++ b/src/setup/run.cpp @@ -103,6 +103,9 @@ void run_entry::load(std::istream & is, const info & i) { if(i.version >= INNO_VERSION(5, 2, 0)) { flagreader.add(RunAsOriginalUser); } + if(i.version >= INNO_VERSION(6, 1, 0)) { + flagreader.add(DontLogParameters); + } options = flagreader; } diff --git a/src/setup/run.hpp b/src/setup/run.hpp index af3032f..dedb9c7 100644 --- a/src/setup/run.hpp +++ b/src/setup/run.hpp @@ -49,7 +49,8 @@ struct run_entry : public item { HideWizard, Bits32, Bits64, - RunAsOriginalUser + RunAsOriginalUser, + DontLogParameters ); enum wait_condition { diff --git a/src/setup/version.cpp b/src/setup/version.cpp index 39e30a2..48de384 100644 --- a/src/setup/version.cpp +++ b/src/setup/version.cpp @@ -180,6 +180,7 @@ const known_version versions[] = { { "Inno Setup Setup Data (5.6.2)", /* prerelease */ INNO_VERSION_EXT(5, 6, 2, 0), 0 }, { "Inno Setup Setup Data (5.6.2) (u)", /* prerelease */ INNO_VERSION_EXT(5, 6, 2, 0), version::Unicode }, { "Inno Setup Setup Data (6.0.0) (u)", INNO_VERSION_EXT(6, 0, 0, 0), version::Unicode }, + { "Inno Setup Setup Data (6.1.0) (u)", INNO_VERSION_EXT(6, 1, 0, 0), version::Unicode }, }; } // anonymous namespace