winget-cli

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 9bc2c1145d752307b06b3f3bcc7249da2c837585
parent 85869fe56ddc8241bd00481c77fc9e6df04194f7
Author: sreadingMSFT <74242768+sreadingMSFT@users.noreply.github.com>
Date:   Wed, 18 Aug 2021 21:04:30 -0700

Fix WinGetDev guids to prevent collision when DesktopAppInstaller is also installed. (#1346)

* Fix wingetdev guids to prevent collision

* fix whitespace
Diffstat:
Msrc/AppInstallerCLIPackage/Package.appxmanifest | 10+++++-----
Msrc/Microsoft.Management.Deployment/CreateCompositePackageCatalogOptions.cpp | 61++++++++++++++++++++++++++++---------------------------------
Msrc/Microsoft.Management.Deployment/CreateCompositePackageCatalogOptions.h | 56++++++++++++++++++++++++++++++--------------------------
Msrc/Microsoft.Management.Deployment/FindPackagesOptions.cpp | 69++++++++++++++++++++++++++++++++-------------------------------------
Msrc/Microsoft.Management.Deployment/FindPackagesOptions.h | 63++++++++++++++++++++++++++++++++++-----------------------------
Msrc/Microsoft.Management.Deployment/Helpers.h | 5-----
Msrc/Microsoft.Management.Deployment/InstallOptions.cpp | 181++++++++++++++++++++++++++++++++++++++-----------------------------------------
Msrc/Microsoft.Management.Deployment/InstallOptions.h | 99+++++++++++++++++++++++++++++++++++++++++--------------------------------------
Msrc/Microsoft.Management.Deployment/Microsoft.Management.Deployment.vcxproj | 5+++++
Msrc/Microsoft.Management.Deployment/PackageManager.cpp | 6+-----
Msrc/Microsoft.Management.Deployment/PackageManager.h | 64++++++++++++++++++++++++++++++++++------------------------------
Msrc/Microsoft.Management.Deployment/PackageMatchFilter.cpp | 7+------
Msrc/Microsoft.Management.Deployment/PackageMatchFilter.h | 66+++++++++++++++++++++++++++++++++++-------------------------------
Msrc/WinGetServer/WinMain.cpp | 15+++++----------
14 files changed, 350 insertions(+), 357 deletions(-)

diff --git a/src/AppInstallerCLIPackage/Package.appxmanifest b/src/AppInstallerCLIPackage/Package.appxmanifest @@ -38,15 +38,15 @@ <com:Extension Category="windows.comServer"> <com:ComServer> <com:ExeServer Executable="WinGetServer\WindowsPackageManagerServer.exe" DisplayName="Windows Package Manager Server" LaunchAndActivationPermission="O:SYG:SYD:(A;;11;;;WD)(A;;11;;;RC)(A;;11;;;AC)(A;;11;;;AN)S:P(ML;;NX;;;S-1-16-0)"> - <com:Class Id ="E65C7D5A-95AF-4A98-BE5F-A793029CEB56" DisplayName="PackageManager Server"> + <com:Class Id ="74CB3139-B7C5-4B9E-9388-E6616DEA288C" DisplayName="PackageManager Server"> </com:Class> - <com:Class Id ="2CAD6C15-DF8E-49DD-A748-96ADE0FE31B7" DisplayName="FindPackagesOptions Server"> + <com:Class Id ="1BD8FF3A-EC50-4F69-AEEE-DF4C9D3BAA96" DisplayName="FindPackagesOptions Server"> </com:Class> - <com:Class Id ="6444B10D-FE84-430F-932B-3D4FE5195BDF" DisplayName="CreateCompositePackageCatalogOptions Server"> + <com:Class Id ="EE160901-B317-4EA7-9CC6-5355C6D7D8A7" DisplayName="CreateCompositePackageCatalogOptions Server"> </com:Class> - <com:Class Id ="05F7019A-8FAC-4422-BCD5-4CB34FFB44A8" DisplayName="InstallOptions Server"> + <com:Class Id ="44FE0580-62F7-44D4-9E91-AA9614AB3E86" DisplayName="InstallOptions Server"> </com:Class> - <com:Class Id ="ADBF3B4A-DB8A-496C-A579-62B58F5FB13F" DisplayName="PackageMatchFilter Server"> + <com:Class Id ="3F85B9F4-487A-4C48-9035-2903F8A6D9E8" DisplayName="PackageMatchFilter Server"> </com:Class> </com:ExeServer> </com:ComServer> diff --git a/src/Microsoft.Management.Deployment/CreateCompositePackageCatalogOptions.cpp b/src/Microsoft.Management.Deployment/CreateCompositePackageCatalogOptions.cpp @@ -1,33 +1,28 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -#include "pch.h" -#pragma warning( push ) -#pragma warning ( disable : 4467 6388) -// 6388 Allow CreateInstance. -#include <wil\cppwinrt_wrl.h> -// 4467 Allow use of uuid attribute for com object creation. -#include "CreateCompositePackageCatalogOptions.h" -#pragma warning( pop ) -#include "CreateCompositePackageCatalogOptions.g.cpp" -#include "Helpers.h" - -const GUID CreateCompositePackageCatalogOptionsCLSID1 = { 0x526534B8, 0x7E46, 0x47C8, { 0x84, 0x16, 0xB1, 0x68, 0x5C, 0x32, 0x7D, 0x37 } }; //526534B8-7E46-47C8-8416-B1685C327D37 -const GUID CreateCompositePackageCatalogOptionsCLSID2 = { 0x6444B10D, 0xFE84, 0x430F, { 0x93, 0x2B, 0x3D, 0x4F, 0xE5, 0x19, 0x5B, 0xDF } }; //6444B10D-FE84-430F-932B-3D4FE5195BDF - -namespace winrt::Microsoft::Management::Deployment::implementation -{ - Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::PackageCatalogReference> CreateCompositePackageCatalogOptions::Catalogs() - { - return m_catalogs; - } - winrt::Microsoft::Management::Deployment::CompositeSearchBehavior CreateCompositePackageCatalogOptions::CompositeSearchBehavior() - { - return m_compositeSearchBehavior; - } - void CreateCompositePackageCatalogOptions::CompositeSearchBehavior(winrt::Microsoft::Management::Deployment::CompositeSearchBehavior const& value) - { - m_compositeSearchBehavior = value; - } - CoCreatableCppWinRtClassWithCLSID(CreateCompositePackageCatalogOptions, 1, &CreateCompositePackageCatalogOptionsCLSID1); - CoCreatableCppWinRtClassWithCLSID(CreateCompositePackageCatalogOptions, 2, &CreateCompositePackageCatalogOptionsCLSID2); -} +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +#include "pch.h" +#pragma warning( push ) +#pragma warning ( disable : 4467 6388) +// 6388 Allow CreateInstance. +#include <wil\cppwinrt_wrl.h> +// 4467 Allow use of uuid attribute for com object creation. +#include "CreateCompositePackageCatalogOptions.h" +#pragma warning( pop ) +#include "CreateCompositePackageCatalogOptions.g.cpp" + +namespace winrt::Microsoft::Management::Deployment::implementation +{ + Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::PackageCatalogReference> CreateCompositePackageCatalogOptions::Catalogs() + { + return m_catalogs; + } + winrt::Microsoft::Management::Deployment::CompositeSearchBehavior CreateCompositePackageCatalogOptions::CompositeSearchBehavior() + { + return m_compositeSearchBehavior; + } + void CreateCompositePackageCatalogOptions::CompositeSearchBehavior(winrt::Microsoft::Management::Deployment::CompositeSearchBehavior const& value) + { + m_compositeSearchBehavior = value; + } + CoCreatableCppWinRtClass(CreateCompositePackageCatalogOptions); +} diff --git a/src/Microsoft.Management.Deployment/CreateCompositePackageCatalogOptions.h b/src/Microsoft.Management.Deployment/CreateCompositePackageCatalogOptions.h @@ -1,26 +1,30 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -#pragma once -#include "CreateCompositePackageCatalogOptions.g.h" - -namespace winrt::Microsoft::Management::Deployment::implementation -{ - [uuid("526534B8-7E46-47C8-8416-B1685C327D37")] - struct CreateCompositePackageCatalogOptions : CreateCompositePackageCatalogOptionsT<CreateCompositePackageCatalogOptions> - { - CreateCompositePackageCatalogOptions() = default; - - winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::PackageCatalogReference> Catalogs(); - winrt::Microsoft::Management::Deployment::CompositeSearchBehavior CompositeSearchBehavior(); - void CompositeSearchBehavior(winrt::Microsoft::Management::Deployment::CompositeSearchBehavior const& value); - private: - winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::PackageCatalogReference> m_catalogs{ winrt::single_threaded_vector<Microsoft::Management::Deployment::PackageCatalogReference>() }; - winrt::Microsoft::Management::Deployment::CompositeSearchBehavior m_compositeSearchBehavior = winrt::Microsoft::Management::Deployment::CompositeSearchBehavior::RemotePackagesFromAllCatalogs; - }; -} -namespace winrt::Microsoft::Management::Deployment::factory_implementation -{ - struct CreateCompositePackageCatalogOptions : CreateCompositePackageCatalogOptionsT<CreateCompositePackageCatalogOptions, implementation::CreateCompositePackageCatalogOptions> - { - }; -} +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +#pragma once +#include "CreateCompositePackageCatalogOptions.g.h" + +namespace winrt::Microsoft::Management::Deployment::implementation +{ +#if USE_PROD_CLSIDS + [uuid("526534B8-7E46-47C8-8416-B1685C327D37")] +#else + [uuid("EE160901-B317-4EA7-9CC6-5355C6D7D8A7")] +#endif + struct CreateCompositePackageCatalogOptions : CreateCompositePackageCatalogOptionsT<CreateCompositePackageCatalogOptions> + { + CreateCompositePackageCatalogOptions() = default; + + winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::PackageCatalogReference> Catalogs(); + winrt::Microsoft::Management::Deployment::CompositeSearchBehavior CompositeSearchBehavior(); + void CompositeSearchBehavior(winrt::Microsoft::Management::Deployment::CompositeSearchBehavior const& value); + private: + winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::PackageCatalogReference> m_catalogs{ winrt::single_threaded_vector<Microsoft::Management::Deployment::PackageCatalogReference>() }; + winrt::Microsoft::Management::Deployment::CompositeSearchBehavior m_compositeSearchBehavior = winrt::Microsoft::Management::Deployment::CompositeSearchBehavior::RemotePackagesFromAllCatalogs; + }; +} +namespace winrt::Microsoft::Management::Deployment::factory_implementation +{ + struct CreateCompositePackageCatalogOptions : CreateCompositePackageCatalogOptionsT<CreateCompositePackageCatalogOptions, implementation::CreateCompositePackageCatalogOptions> + { + }; +} diff --git a/src/Microsoft.Management.Deployment/FindPackagesOptions.cpp b/src/Microsoft.Management.Deployment/FindPackagesOptions.cpp @@ -1,37 +1,32 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -#include "pch.h" -#pragma warning( push ) -#pragma warning ( disable : 4467 6388) -// 6388 Allow CreateInstance. -#include <wil\cppwinrt_wrl.h> -// 4467 Allow use of uuid attribute for com object creation. -#include "FindPackagesOptions.h" -#pragma warning( pop ) -#include "FindPackagesOptions.g.cpp" -#include "Helpers.h" - -const GUID FindPackagesOptionsCLSID1 = { 0x572DED96, 0x9C60, 0x4526, { 0x8F, 0x92, 0xEE, 0x7D, 0x91, 0xD3, 0x8C, 0x1A } }; //572DED96-9C60-4526-8F92-EE7D91D38C1A -const GUID FindPackagesOptionsCLSID2 = { 0x2CAD6C15, 0xDF8E, 0x49DD, { 0xA7, 0x48, 0x96, 0xAD, 0xE0, 0xFE, 0x31, 0xB7 } }; //2CAD6C15-DF8E-49DD-A748-96ADE0FE31B7 - -namespace winrt::Microsoft::Management::Deployment::implementation -{ - winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::PackageMatchFilter> FindPackagesOptions::Selectors() - { - return m_selectors; - } - winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::PackageMatchFilter> FindPackagesOptions::Filters() - { - return m_filters; - } - uint32_t FindPackagesOptions::ResultLimit() - { - return m_resultLimit; - } - void FindPackagesOptions::ResultLimit(uint32_t value) - { - m_resultLimit = value; - } - CoCreatableCppWinRtClassWithCLSID(FindPackagesOptions, 1, &FindPackagesOptionsCLSID1); - CoCreatableCppWinRtClassWithCLSID(FindPackagesOptions, 2, &FindPackagesOptionsCLSID2); -} +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +#include "pch.h" +#pragma warning( push ) +#pragma warning ( disable : 4467 6388) +// 6388 Allow CreateInstance. +#include <wil\cppwinrt_wrl.h> +// 4467 Allow use of uuid attribute for com object creation. +#include "FindPackagesOptions.h" +#pragma warning( pop ) +#include "FindPackagesOptions.g.cpp" + +namespace winrt::Microsoft::Management::Deployment::implementation +{ + winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::PackageMatchFilter> FindPackagesOptions::Selectors() + { + return m_selectors; + } + winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::PackageMatchFilter> FindPackagesOptions::Filters() + { + return m_filters; + } + uint32_t FindPackagesOptions::ResultLimit() + { + return m_resultLimit; + } + void FindPackagesOptions::ResultLimit(uint32_t value) + { + m_resultLimit = value; + } + CoCreatableCppWinRtClass(FindPackagesOptions); +} diff --git a/src/Microsoft.Management.Deployment/FindPackagesOptions.h b/src/Microsoft.Management.Deployment/FindPackagesOptions.h @@ -1,29 +1,34 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -#pragma once -#include "FindPackagesOptions.g.h" - -namespace winrt::Microsoft::Management::Deployment::implementation -{ - struct FindPackagesOptions : FindPackagesOptionsT<FindPackagesOptions> - { - FindPackagesOptions() = default; - - winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::PackageMatchFilter> Selectors(); - winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::PackageMatchFilter> Filters(); - uint32_t ResultLimit(); - void ResultLimit(uint32_t value); - private: - uint32_t m_resultLimit = 0; - Windows::Foundation::Collections::IVector<Microsoft::Management::Deployment::PackageMatchFilter> m_selectors{ - winrt::single_threaded_vector<winrt::Microsoft::Management::Deployment::PackageMatchFilter>() }; - Windows::Foundation::Collections::IVector<Microsoft::Management::Deployment::PackageMatchFilter> m_filters{ - winrt::single_threaded_vector<winrt::Microsoft::Management::Deployment::PackageMatchFilter>() }; - }; -} -namespace winrt::Microsoft::Management::Deployment::factory_implementation -{ - struct FindPackagesOptions : FindPackagesOptionsT<FindPackagesOptions, implementation::FindPackagesOptions> - { - }; -} +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +#pragma once +#include "FindPackagesOptions.g.h" + +namespace winrt::Microsoft::Management::Deployment::implementation +{ +#if USE_PROD_CLSIDS + [uuid("572DED96-9C60-4526-8F92-EE7D91D38C1A")] +#else + [uuid("1BD8FF3A-EC50-4F69-AEEE-DF4C9D3BAA96")] +#endif + struct FindPackagesOptions : FindPackagesOptionsT<FindPackagesOptions> + { + FindPackagesOptions() = default; + + winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::PackageMatchFilter> Selectors(); + winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Management::Deployment::PackageMatchFilter> Filters(); + uint32_t ResultLimit(); + void ResultLimit(uint32_t value); + private: + uint32_t m_resultLimit = 0; + Windows::Foundation::Collections::IVector<Microsoft::Management::Deployment::PackageMatchFilter> m_selectors{ + winrt::single_threaded_vector<winrt::Microsoft::Management::Deployment::PackageMatchFilter>() }; + Windows::Foundation::Collections::IVector<Microsoft::Management::Deployment::PackageMatchFilter> m_filters{ + winrt::single_threaded_vector<winrt::Microsoft::Management::Deployment::PackageMatchFilter>() }; + }; +} +namespace winrt::Microsoft::Management::Deployment::factory_implementation +{ + struct FindPackagesOptions : FindPackagesOptionsT<FindPackagesOptions, implementation::FindPackagesOptions> + { + }; +} diff --git a/src/Microsoft.Management.Deployment/Helpers.h b/src/Microsoft.Management.Deployment/Helpers.h @@ -1,10 +1,5 @@ #pragma once -//A version of CoCreatableCppWinRtClass that lets you pass in a uuid rather than getting it from a class property. -#define CoCreatableClassWithCLSIDWithFactory(className, instance, clsid, factory) \ - InternalWrlCreateCreatorMap(className##instance##_COM, clsid, nullptr, ::Microsoft::WRL::Details::CreateClassFactory<factory>, "minATL$__f") -#define CoCreatableCppWinRtClassWithCLSID(className, instance, clsid) CoCreatableClassWithCLSIDWithFactory(className, instance, clsid, ::wil::wrl_factory_for_winrt_com_class<className>) - namespace winrt::Microsoft::Management::Deployment::implementation { enum class Capability diff --git a/src/Microsoft.Management.Deployment/InstallOptions.cpp b/src/Microsoft.Management.Deployment/InstallOptions.cpp @@ -1,93 +1,88 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -#include "pch.h" -#pragma warning( push ) -#pragma warning ( disable : 4467 6388) -// 6388 Allow CreateInstance. -#include <wil\cppwinrt_wrl.h> -// 4467 Allow use of uuid attribute for com object creation. -#include "InstallOptions.h" -#pragma warning( pop ) -#include "InstallOptions.g.cpp" -#include "Helpers.h" - -const GUID InstallOptionsCLSID1 = { 0x1095F097, 0xEB96, 0x453B, 0xB4, 0xE6, 0x16, 0x13, 0x63, 0x7F, 0x3B, 0x14 }; //1095F097-EB96-453B-B4E6-1613637F3B14 -const GUID InstallOptionsCLSID2 = { 0x05F7019A, 0x8FAC, 0x4422, 0xBC, 0xD5, 0x4C, 0xB3, 0x4F, 0xFB, 0x44, 0xA8 }; //05F7019A-8FAC-4422-BCD5-4CB34FFB44A8 - -namespace winrt::Microsoft::Management::Deployment::implementation -{ - winrt::Microsoft::Management::Deployment::PackageVersionId InstallOptions::PackageVersionId() - { - return m_packageVersionId; - } - void InstallOptions::PackageVersionId(winrt::Microsoft::Management::Deployment::PackageVersionId const& value) - { - m_packageVersionId = value; - } - hstring InstallOptions::PreferredInstallLocation() - { - return hstring(m_preferredInstallLocation); - } - void InstallOptions::PreferredInstallLocation(hstring const& value) - { - m_preferredInstallLocation = value; - } - winrt::Microsoft::Management::Deployment::PackageInstallScope InstallOptions::PackageInstallScope() - { - return m_packageInstallScope; - } - void InstallOptions::PackageInstallScope(winrt::Microsoft::Management::Deployment::PackageInstallScope const& value) - { - m_packageInstallScope = value; - } - winrt::Microsoft::Management::Deployment::PackageInstallMode InstallOptions::PackageInstallMode() - { - return m_packageInstallMode; - } - void InstallOptions::PackageInstallMode(winrt::Microsoft::Management::Deployment::PackageInstallMode const& value) - { - m_packageInstallMode = value; - } - hstring InstallOptions::LogOutputPath() - { - return hstring(m_logOutputPath); - } - void InstallOptions::LogOutputPath(hstring const& value) - { - m_logOutputPath = value; - } - bool InstallOptions::AllowHashMismatch() - { - return m_allowHashMismatch; - } - void InstallOptions::AllowHashMismatch(bool value) - { - m_allowHashMismatch = value; - } - hstring InstallOptions::ReplacementInstallerArguments() - { - return hstring(m_replacementInstallerArguments); - } - void InstallOptions::ReplacementInstallerArguments(hstring const& value) - { - m_replacementInstallerArguments = value; - } - hstring InstallOptions::CorrelationData() - { - return hstring(m_correlationData); - } - void InstallOptions::CorrelationData(hstring const& value) - { - m_correlationData = value; - } - hstring InstallOptions::AdditionalPackageCatalogArguments() - { - return hstring(m_additionalPackageCatalogArguments); - } - void InstallOptions::AdditionalPackageCatalogArguments(hstring const& value) - { - m_additionalPackageCatalogArguments = value; - } - CoCreatableCppWinRtClassWithCLSID(InstallOptions, 1, &InstallOptionsCLSID1); - CoCreatableCppWinRtClassWithCLSID(InstallOptions, 2, &InstallOptionsCLSID2); -} +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +#include "pch.h" +#pragma warning( push ) +#pragma warning ( disable : 4467 6388) +// 6388 Allow CreateInstance. +#include <wil\cppwinrt_wrl.h> +// 4467 Allow use of uuid attribute for com object creation. +#include "InstallOptions.h" +#pragma warning( pop ) +#include "InstallOptions.g.cpp" + +namespace winrt::Microsoft::Management::Deployment::implementation +{ + winrt::Microsoft::Management::Deployment::PackageVersionId InstallOptions::PackageVersionId() + { + return m_packageVersionId; + } + void InstallOptions::PackageVersionId(winrt::Microsoft::Management::Deployment::PackageVersionId const& value) + { + m_packageVersionId = value; + } + hstring InstallOptions::PreferredInstallLocation() + { + return hstring(m_preferredInstallLocation); + } + void InstallOptions::PreferredInstallLocation(hstring const& value) + { + m_preferredInstallLocation = value; + } + winrt::Microsoft::Management::Deployment::PackageInstallScope InstallOptions::PackageInstallScope() + { + return m_packageInstallScope; + } + void InstallOptions::PackageInstallScope(winrt::Microsoft::Management::Deployment::PackageInstallScope const& value) + { + m_packageInstallScope = value; + } + winrt::Microsoft::Management::Deployment::PackageInstallMode InstallOptions::PackageInstallMode() + { + return m_packageInstallMode; + } + void InstallOptions::PackageInstallMode(winrt::Microsoft::Management::Deployment::PackageInstallMode const& value) + { + m_packageInstallMode = value; + } + hstring InstallOptions::LogOutputPath() + { + return hstring(m_logOutputPath); + } + void InstallOptions::LogOutputPath(hstring const& value) + { + m_logOutputPath = value; + } + bool InstallOptions::AllowHashMismatch() + { + return m_allowHashMismatch; + } + void InstallOptions::AllowHashMismatch(bool value) + { + m_allowHashMismatch = value; + } + hstring InstallOptions::ReplacementInstallerArguments() + { + return hstring(m_replacementInstallerArguments); + } + void InstallOptions::ReplacementInstallerArguments(hstring const& value) + { + m_replacementInstallerArguments = value; + } + hstring InstallOptions::CorrelationData() + { + return hstring(m_correlationData); + } + void InstallOptions::CorrelationData(hstring const& value) + { + m_correlationData = value; + } + hstring InstallOptions::AdditionalPackageCatalogArguments() + { + return hstring(m_additionalPackageCatalogArguments); + } + void InstallOptions::AdditionalPackageCatalogArguments(hstring const& value) + { + m_additionalPackageCatalogArguments = value; + } + CoCreatableCppWinRtClass(InstallOptions); +} diff --git a/src/Microsoft.Management.Deployment/InstallOptions.h b/src/Microsoft.Management.Deployment/InstallOptions.h @@ -1,47 +1,52 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -#pragma once -#include "InstallOptions.g.h" - -namespace winrt::Microsoft::Management::Deployment::implementation -{ - struct InstallOptions : InstallOptionsT<InstallOptions> - { - InstallOptions() = default; - - winrt::Microsoft::Management::Deployment::PackageVersionId PackageVersionId(); - void PackageVersionId(winrt::Microsoft::Management::Deployment::PackageVersionId const& value); - hstring PreferredInstallLocation(); - void PreferredInstallLocation(hstring const& value); - winrt::Microsoft::Management::Deployment::PackageInstallScope PackageInstallScope(); - void PackageInstallScope(winrt::Microsoft::Management::Deployment::PackageInstallScope const& value); - winrt::Microsoft::Management::Deployment::PackageInstallMode PackageInstallMode(); - void PackageInstallMode(winrt::Microsoft::Management::Deployment::PackageInstallMode const& value); - hstring LogOutputPath(); - void LogOutputPath(hstring const& value); - bool AllowHashMismatch(); - void AllowHashMismatch(bool value); - hstring ReplacementInstallerArguments(); - void ReplacementInstallerArguments(hstring const& value); - hstring CorrelationData(); - void CorrelationData(hstring const& value); - hstring AdditionalPackageCatalogArguments(); - void AdditionalPackageCatalogArguments(hstring const& value); - private: - winrt::Microsoft::Management::Deployment::PackageVersionId m_packageVersionId{ nullptr }; - std::wstring m_preferredInstallLocation = L""; - winrt::Microsoft::Management::Deployment::PackageInstallScope m_packageInstallScope = winrt::Microsoft::Management::Deployment::PackageInstallScope::User; - winrt::Microsoft::Management::Deployment::PackageInstallMode m_packageInstallMode = winrt::Microsoft::Management::Deployment::PackageInstallMode::Default; - std::wstring m_logOutputPath = L""; - bool m_allowHashMismatch = false; - std::wstring m_replacementInstallerArguments = L""; - std::wstring m_correlationData = L""; - std::wstring m_additionalPackageCatalogArguments = L""; - }; -} -namespace winrt::Microsoft::Management::Deployment::factory_implementation -{ - struct InstallOptions : InstallOptionsT<InstallOptions, implementation::InstallOptions> - { - }; -} +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +#pragma once +#include "InstallOptions.g.h" + +namespace winrt::Microsoft::Management::Deployment::implementation +{ +#if USE_PROD_CLSIDS + [uuid("1095F097-EB96-453B-B4E6-1613637F3B14")] +#else + [uuid("44FE0580-62F7-44D4-9E91-AA9614AB3E86")] +#endif + struct InstallOptions : InstallOptionsT<InstallOptions> + { + InstallOptions() = default; + + winrt::Microsoft::Management::Deployment::PackageVersionId PackageVersionId(); + void PackageVersionId(winrt::Microsoft::Management::Deployment::PackageVersionId const& value); + hstring PreferredInstallLocation(); + void PreferredInstallLocation(hstring const& value); + winrt::Microsoft::Management::Deployment::PackageInstallScope PackageInstallScope(); + void PackageInstallScope(winrt::Microsoft::Management::Deployment::PackageInstallScope const& value); + winrt::Microsoft::Management::Deployment::PackageInstallMode PackageInstallMode(); + void PackageInstallMode(winrt::Microsoft::Management::Deployment::PackageInstallMode const& value); + hstring LogOutputPath(); + void LogOutputPath(hstring const& value); + bool AllowHashMismatch(); + void AllowHashMismatch(bool value); + hstring ReplacementInstallerArguments(); + void ReplacementInstallerArguments(hstring const& value); + hstring CorrelationData(); + void CorrelationData(hstring const& value); + hstring AdditionalPackageCatalogArguments(); + void AdditionalPackageCatalogArguments(hstring const& value); + private: + winrt::Microsoft::Management::Deployment::PackageVersionId m_packageVersionId{ nullptr }; + std::wstring m_preferredInstallLocation = L""; + winrt::Microsoft::Management::Deployment::PackageInstallScope m_packageInstallScope = winrt::Microsoft::Management::Deployment::PackageInstallScope::User; + winrt::Microsoft::Management::Deployment::PackageInstallMode m_packageInstallMode = winrt::Microsoft::Management::Deployment::PackageInstallMode::Default; + std::wstring m_logOutputPath = L""; + bool m_allowHashMismatch = false; + std::wstring m_replacementInstallerArguments = L""; + std::wstring m_correlationData = L""; + std::wstring m_additionalPackageCatalogArguments = L""; + }; +} +namespace winrt::Microsoft::Management::Deployment::factory_implementation +{ + struct InstallOptions : InstallOptionsT<InstallOptions, implementation::InstallOptions> + { + }; +} diff --git a/src/Microsoft.Management.Deployment/Microsoft.Management.Deployment.vcxproj b/src/Microsoft.Management.Deployment/Microsoft.Management.Deployment.vcxproj @@ -125,6 +125,11 @@ <OptimizeReferences>true</OptimizeReferences> </Link> </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(UseProdCLSIDs)'=='true'"> + <ClCompile> + <PreprocessorDefinitions>USE_PROD_CLSIDS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemDefinitionGroup> <ItemGroup> <ClInclude Include="CatalogPackage.h" /> <ClInclude Include="ConnectResult.h" /> diff --git a/src/Microsoft.Management.Deployment/PackageManager.cpp b/src/Microsoft.Management.Deployment/PackageManager.cpp @@ -33,9 +33,6 @@ using namespace std::literals::chrono_literals; using namespace ::AppInstaller::CLI; -const GUID PackageManagerCLSID1 = { 0xC53A4F16, 0x787E, 0x42A4, { 0xB3, 0x04, 0x29, 0xEF, 0xFB, 0x4B, 0xF5, 0x97 } }; //C53A4F16-787E-42A4-B304-29EFFB4BF597 -const GUID PackageManagerCLSID2 = { 0xE65C7D5A, 0x95AF, 0x4A98, { 0xBE, 0x5F, 0xA7, 0x93, 0x02, 0x9C, 0xEB, 0x56 } }; //E65C7D5A-95AF-4A98-BE5F-A793029CEB56 - namespace winrt::Microsoft::Management::Deployment::implementation { winrt::Windows::Foundation::Collections::IVectorView<winrt::Microsoft::Management::Deployment::PackageCatalogReference> PackageManager::GetPackageCatalogs() @@ -510,6 +507,5 @@ namespace winrt::Microsoft::Management::Deployment::implementation return GetInstallOperation(false, package, nullptr, catalogInfo); } - CoCreatableCppWinRtClassWithCLSID(PackageManager, 1, &PackageManagerCLSID1); - CoCreatableCppWinRtClassWithCLSID(PackageManager, 2, &PackageManagerCLSID2); + CoCreatableCppWinRtClass(PackageManager); } diff --git a/src/Microsoft.Management.Deployment/PackageManager.h b/src/Microsoft.Management.Deployment/PackageManager.h @@ -1,30 +1,34 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -#pragma once -#include "PackageManager.g.h" - -namespace winrt::Microsoft::Management::Deployment::implementation -{ - [uuid("C53A4F16-787E-42A4-B304-29EFFB4BF597")] - struct PackageManager : PackageManagerT<PackageManager> - { - PackageManager() = default; - - winrt::Windows::Foundation::Collections::IVectorView<winrt::Microsoft::Management::Deployment::PackageCatalogReference> GetPackageCatalogs(); - winrt::Microsoft::Management::Deployment::PackageCatalogReference GetPredefinedPackageCatalog(winrt::Microsoft::Management::Deployment::PredefinedPackageCatalog const& predefinedPackageCatalog); - winrt::Microsoft::Management::Deployment::PackageCatalogReference GetLocalPackageCatalog(winrt::Microsoft::Management::Deployment::LocalPackageCatalog const& localPackageCatalog); - winrt::Microsoft::Management::Deployment::PackageCatalogReference GetPackageCatalogByName(hstring const& catalogName); - winrt::Microsoft::Management::Deployment::PackageCatalogReference CreateCompositePackageCatalog(winrt::Microsoft::Management::Deployment::CreateCompositePackageCatalogOptions const& options); - winrt::Windows::Foundation::IAsyncOperationWithProgress<winrt::Microsoft::Management::Deployment::InstallResult, winrt::Microsoft::Management::Deployment::InstallProgress> - InstallPackageAsync(winrt::Microsoft::Management::Deployment::CatalogPackage package, winrt::Microsoft::Management::Deployment::InstallOptions options); - //Contract 2.0 - winrt::Windows::Foundation::IAsyncOperationWithProgress<winrt::Microsoft::Management::Deployment::InstallResult, winrt::Microsoft::Management::Deployment::InstallProgress> - GetInstallProgress(winrt::Microsoft::Management::Deployment::CatalogPackage package, winrt::Microsoft::Management::Deployment::PackageCatalogInfo catalogInfo); - }; -} -namespace winrt::Microsoft::Management::Deployment::factory_implementation -{ - struct PackageManager : PackageManagerT<PackageManager, implementation::PackageManager> - { - }; -} +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +#pragma once +#include "PackageManager.g.h" + +namespace winrt::Microsoft::Management::Deployment::implementation +{ +#if USE_PROD_CLSIDS + [uuid("C53A4F16-787E-42A4-B304-29EFFB4BF597")] +#else + [uuid("74CB3139-B7C5-4B9E-9388-E6616DEA288C")] +#endif + struct PackageManager : PackageManagerT<PackageManager> + { + PackageManager() = default; + + winrt::Windows::Foundation::Collections::IVectorView<winrt::Microsoft::Management::Deployment::PackageCatalogReference> GetPackageCatalogs(); + winrt::Microsoft::Management::Deployment::PackageCatalogReference GetPredefinedPackageCatalog(winrt::Microsoft::Management::Deployment::PredefinedPackageCatalog const& predefinedPackageCatalog); + winrt::Microsoft::Management::Deployment::PackageCatalogReference GetLocalPackageCatalog(winrt::Microsoft::Management::Deployment::LocalPackageCatalog const& localPackageCatalog); + winrt::Microsoft::Management::Deployment::PackageCatalogReference GetPackageCatalogByName(hstring const& catalogName); + winrt::Microsoft::Management::Deployment::PackageCatalogReference CreateCompositePackageCatalog(winrt::Microsoft::Management::Deployment::CreateCompositePackageCatalogOptions const& options); + winrt::Windows::Foundation::IAsyncOperationWithProgress<winrt::Microsoft::Management::Deployment::InstallResult, winrt::Microsoft::Management::Deployment::InstallProgress> + InstallPackageAsync(winrt::Microsoft::Management::Deployment::CatalogPackage package, winrt::Microsoft::Management::Deployment::InstallOptions options); + //Contract 2.0 + winrt::Windows::Foundation::IAsyncOperationWithProgress<winrt::Microsoft::Management::Deployment::InstallResult, winrt::Microsoft::Management::Deployment::InstallProgress> + GetInstallProgress(winrt::Microsoft::Management::Deployment::CatalogPackage package, winrt::Microsoft::Management::Deployment::PackageCatalogInfo catalogInfo); + }; +} +namespace winrt::Microsoft::Management::Deployment::factory_implementation +{ + struct PackageManager : PackageManagerT<PackageManager, implementation::PackageManager> + { + }; +} diff --git a/src/Microsoft.Management.Deployment/PackageMatchFilter.cpp b/src/Microsoft.Management.Deployment/PackageMatchFilter.cpp @@ -13,10 +13,6 @@ #include "PackageMatchFilter.h" #pragma warning( pop ) #include "PackageMatchFilter.g.cpp" -#include "Helpers.h" - -const GUID PackageMatchFilterCLSID1 = { 0xD02C9DAF, 0x99DC, 0x429C, { 0xB5, 0x03, 0x4E, 0x50, 0x4E, 0x4A, 0xB0, 0x00 } }; //D02C9DAF-99DC-429C-B503-4E504E4AB000 -const GUID PackageMatchFilterCLSID2 = { 0xADBF3B4A, 0xDB8A, 0x496C, { 0xA5, 0x79, 0x62, 0xB5, 0x8F, 0x5F, 0xB1, 0x3F } }; //ADBF3B4A-DB8A-496C-A579-62B58F5FB13F namespace winrt::Microsoft::Management::Deployment::implementation { @@ -50,6 +46,5 @@ namespace winrt::Microsoft::Management::Deployment::implementation { m_value = value; } - CoCreatableCppWinRtClassWithCLSID(PackageMatchFilter, 1, &PackageMatchFilterCLSID1); - CoCreatableCppWinRtClassWithCLSID(PackageMatchFilter, 2, &PackageMatchFilterCLSID2); + CoCreatableCppWinRtClass(PackageMatchFilter); } diff --git a/src/Microsoft.Management.Deployment/PackageMatchFilter.h b/src/Microsoft.Management.Deployment/PackageMatchFilter.h @@ -1,31 +1,35 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -#pragma once -#include "PackageMatchFilter.g.h" - -namespace winrt::Microsoft::Management::Deployment::implementation -{ - [uuid("D02C9DAF-99DC-429C-B503-4E504E4AB000")] - struct PackageMatchFilter : PackageMatchFilterT<PackageMatchFilter> - { - PackageMatchFilter() = default; - void Initialize(::AppInstaller::Repository::PackageMatchFilter matchFilter); - - winrt::Microsoft::Management::Deployment::PackageFieldMatchOption Option(); - void Option(winrt::Microsoft::Management::Deployment::PackageFieldMatchOption const& value); - winrt::Microsoft::Management::Deployment::PackageMatchField Field(); - void Field(winrt::Microsoft::Management::Deployment::PackageMatchField const& value); - hstring Value(); - void Value(hstring const& value); - private: - hstring m_value; - winrt::Microsoft::Management::Deployment::PackageMatchField m_matchField = winrt::Microsoft::Management::Deployment::PackageMatchField::CatalogDefault; - winrt::Microsoft::Management::Deployment::PackageFieldMatchOption m_packageFieldMatchOption = winrt::Microsoft::Management::Deployment::PackageFieldMatchOption::Equals; - }; -} -namespace winrt::Microsoft::Management::Deployment::factory_implementation -{ - struct PackageMatchFilter : PackageMatchFilterT<PackageMatchFilter, implementation::PackageMatchFilter> - { - }; -} +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +#pragma once +#include "PackageMatchFilter.g.h" + +namespace winrt::Microsoft::Management::Deployment::implementation +{ +#if USE_PROD_CLSIDS + [uuid("D02C9DAF-99DC-429C-B503-4E504E4AB000")] +#else + [uuid("3F85B9F4-487A-4C48-9035-2903F8A6D9E8")] +#endif + struct PackageMatchFilter : PackageMatchFilterT<PackageMatchFilter> + { + PackageMatchFilter() = default; + void Initialize(::AppInstaller::Repository::PackageMatchFilter matchFilter); + + winrt::Microsoft::Management::Deployment::PackageFieldMatchOption Option(); + void Option(winrt::Microsoft::Management::Deployment::PackageFieldMatchOption const& value); + winrt::Microsoft::Management::Deployment::PackageMatchField Field(); + void Field(winrt::Microsoft::Management::Deployment::PackageMatchField const& value); + hstring Value(); + void Value(hstring const& value); + private: + hstring m_value; + winrt::Microsoft::Management::Deployment::PackageMatchField m_matchField = winrt::Microsoft::Management::Deployment::PackageMatchField::CatalogDefault; + winrt::Microsoft::Management::Deployment::PackageFieldMatchOption m_packageFieldMatchOption = winrt::Microsoft::Management::Deployment::PackageFieldMatchOption::Equals; + }; +} +namespace winrt::Microsoft::Management::Deployment::factory_implementation +{ + struct PackageMatchFilter : PackageMatchFilterT<PackageMatchFilter, implementation::PackageMatchFilter> + { + }; +} diff --git a/src/WinGetServer/WinMain.cpp b/src/WinGetServer/WinMain.cpp @@ -11,16 +11,11 @@ using namespace winrt::Microsoft::Management::Deployment; -CoCreatableClassWrlCreatorMapInclude(PackageManager1); -CoCreatableClassWrlCreatorMapInclude(PackageManager2); -CoCreatableClassWrlCreatorMapInclude(FindPackagesOptions1); -CoCreatableClassWrlCreatorMapInclude(FindPackagesOptions2); -CoCreatableClassWrlCreatorMapInclude(CreateCompositePackageCatalogOptions1); -CoCreatableClassWrlCreatorMapInclude(CreateCompositePackageCatalogOptions2); -CoCreatableClassWrlCreatorMapInclude(InstallOptions1); -CoCreatableClassWrlCreatorMapInclude(InstallOptions2); -CoCreatableClassWrlCreatorMapInclude(PackageMatchFilter1); -CoCreatableClassWrlCreatorMapInclude(PackageMatchFilter2); +CoCreatableClassWrlCreatorMapInclude(PackageManager); +CoCreatableClassWrlCreatorMapInclude(FindPackagesOptions); +CoCreatableClassWrlCreatorMapInclude(CreateCompositePackageCatalogOptions); +CoCreatableClassWrlCreatorMapInclude(InstallOptions); +CoCreatableClassWrlCreatorMapInclude(PackageMatchFilter); // Holds the wwinmain open until COM tells us there are no more server connections wil::unique_event _comServerExitEvent;