diff --git a/src/AppInstallerCLITests/Versions.cpp b/src/AppInstallerCLITests/Versions.cpp index 38e0dcc1b9..ec91271e60 100644 --- a/src/AppInstallerCLITests/Versions.cpp +++ b/src/AppInstallerCLITests/Versions.cpp @@ -373,7 +373,7 @@ TEST_CASE("VersionRange", "[versions]") // Create REQUIRE_NOTHROW(VersionRange{ Version{ "1.0" }, Version{ "2.0" } }); REQUIRE_NOTHROW(VersionRange{ Version{ "1.0" }, Version{ "1.0" } }); - REQUIRE_THROWS(VersionRange{ Version{ "2.0" }, Version{ "1.0" } }); + REQUIRE_NOTHROW(VersionRange{ Version{ "2.0" }, Version{ "1.0" } }); // Overlaps REQUIRE(VersionRange{ Version{ "1.0" }, Version{ "2.0" } }.Overlaps(VersionRange{ Version{ "2.0" }, Version{ "3.0" } })); diff --git a/src/AppInstallerSharedLib/Versions.cpp b/src/AppInstallerSharedLib/Versions.cpp index f268146f27..975f3367a2 100644 --- a/src/AppInstallerSharedLib/Versions.cpp +++ b/src/AppInstallerSharedLib/Versions.cpp @@ -533,11 +533,18 @@ namespace AppInstaller::Utility return m_buildMetadata; } - VersionRange::VersionRange(Version minVersion, Version maxVersion) + VersionRange::VersionRange(Version first, Version second) { - THROW_HR_IF(E_INVALIDARG, minVersion > maxVersion); - m_minVersion = std::move(minVersion); - m_maxVersion = std::move(maxVersion); + if (first < second) + { + m_minVersion = std::move(first); + m_maxVersion = std::move(second); + } + else + { + m_minVersion = std::move(second); + m_maxVersion = std::move(first); + } } bool VersionRange::Overlaps(const VersionRange& other) const