From 5e8f9e8617b703010d24eaa804f28591ade8adbf Mon Sep 17 00:00:00 2001 From: Jianyun Tao Date: Thu, 10 Nov 2016 15:02:41 -0800 Subject: [PATCH 1/2] Registry.LocalMachine throws on non-windows platform. --- .../Implementation/PackageManagementService.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.PackageManagement/Implementation/PackageManagementService.cs b/src/Microsoft.PackageManagement/Implementation/PackageManagementService.cs index 44d418171..b02e8d175 100644 --- a/src/Microsoft.PackageManagement/Implementation/PackageManagementService.cs +++ b/src/Microsoft.PackageManagement/Implementation/PackageManagementService.cs @@ -1037,11 +1037,16 @@ namespace Microsoft.PackageManagement.Internal.Implementation { throw new ArgumentNullException("request"); } + var providerAssemblies = Enumerable.Empty(); + +#if !CORECLR //looks like registry needs to be here for supporting .msi packages - var providerAssemblies = (_initialized ? Enumerable.Empty() : _defaultProviders) + providerAssemblies = (_initialized ? Enumerable.Empty() : _defaultProviders) .Concat(GetProvidersFromRegistry(Registry.LocalMachine, "SOFTWARE\\MICROSOFT\\PACKAGEMANAGEMENT")) .Concat(GetProvidersFromRegistry(Registry.CurrentUser, "SOFTWARE\\MICROSOFT\\PACKAGEMANAGEMENT")); +#endif + #if !COMMUNITY_BUILD // todo: these should just be strong-named references. for now, just load them from the same directory. providerAssemblies = providerAssemblies.Concat(new[] { From 260b6af5fe6b8284d3227328f3a2f6f384eb5e85 Mon Sep 17 00:00:00 2001 From: Jianyun Tao Date: Mon, 14 Nov 2016 10:16:15 -0800 Subject: [PATCH 2/2] address cr feedback --- .../Implementation/PackageManagementService.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.PackageManagement/Implementation/PackageManagementService.cs b/src/Microsoft.PackageManagement/Implementation/PackageManagementService.cs index b02e8d175..8ee834d83 100644 --- a/src/Microsoft.PackageManagement/Implementation/PackageManagementService.cs +++ b/src/Microsoft.PackageManagement/Implementation/PackageManagementService.cs @@ -1037,14 +1037,14 @@ namespace Microsoft.PackageManagement.Internal.Implementation { throw new ArgumentNullException("request"); } +#if CORECLR var providerAssemblies = Enumerable.Empty(); -#if !CORECLR +#else //looks like registry needs to be here for supporting .msi packages - providerAssemblies = (_initialized ? Enumerable.Empty() : _defaultProviders) + var providerAssemblies = (_initialized ? Enumerable.Empty() : _defaultProviders) .Concat(GetProvidersFromRegistry(Registry.LocalMachine, "SOFTWARE\\MICROSOFT\\PACKAGEMANAGEMENT")) .Concat(GetProvidersFromRegistry(Registry.CurrentUser, "SOFTWARE\\MICROSOFT\\PACKAGEMANAGEMENT")); - #endif #if !COMMUNITY_BUILD