From d87ae92cea184b4785cfb99e9ea270952c0e4379 Mon Sep 17 00:00:00 2001 From: Andrew Leader Date: Mon, 27 Apr 2020 09:50:11 -0700 Subject: [PATCH 01/10] .NET Core 3.0 support for desktop toasts --- .../DesktopNotificationManagerCompat.cs | 93 +++++++++++++++++-- ThirdPartyNotices.txt | 27 ++++++ 2 files changed, 110 insertions(+), 10 deletions(-) diff --git a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs index 89cecae17eb..a6aa4c4f2ff 100644 --- a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs +++ b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs @@ -2,6 +2,27 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +/* + * License for the RegisterActivator portion of code from FrecherxDachs +The MIT License (MIT) +Copyright (c) 2020 Michael Dietrich +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + * */ + using System; using System.Collections; using System.Collections.Generic; @@ -10,6 +31,7 @@ using System.Runtime.InteropServices; using System.Text; using Windows.UI.Notifications; +using static DesktopNotifications.NotificationActivator; namespace Microsoft.Toolkit.Uwp.Notifications { @@ -28,7 +50,7 @@ public class DesktopNotificationManagerCompat private static bool _registeredActivator; /// - /// If not running under the Desktop Bridge, you must call this method to register your AUMID with the Compat library and to + /// If you're not using MSIX or sparse packages, you must call this method to register your AUMID with the Compat library and to /// register your COM CLSID and EXE in LocalServer32 registry. Feel free to call this regardless, and we will no-op if running /// under Desktop Bridge. Call this upon application startup, before calling any other APIs. /// @@ -78,19 +100,70 @@ private static void RegisterComServer(string exePath) /// /// Your implementation of NotificationActivator. Must have GUID and ComVisible attributes on class. public static void RegisterActivator() - where T : NotificationActivator + where T : NotificationActivator, new() { - // Register type - var regService = new RegistrationServices(); - - regService.RegisterTypeForComClients( - typeof(T), - RegistrationClassContext.LocalServer, - RegistrationConnectionType.MultipleUse); + // Big thanks to FrecherxDachs for figuring out the following code which works in .NET Core 3: https://github.com/FrecherxDachs/UwpNotificationNetCoreTest + var uuid = typeof(T).GUID; + uint _cookie; + CoRegisterClassObject(uuid, new NotificationActivatorClassFactory(), CLSCTX_LOCAL_SERVER, + REGCLS_MULTIPLEUSE, out _cookie); _registeredActivator = true; } + [ComImport] + [Guid("00000001-0000-0000-C000-000000000046")] + [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] + private interface IClassFactory + { + [PreserveSig] + int CreateInstance(IntPtr pUnkOuter, ref Guid riid, out IntPtr ppvObject); + + [PreserveSig] + int LockServer(bool fLock); + } + + private const int CLASS_E_NOAGGREGATION = -2147221232; + private const int E_NOINTERFACE = -2147467262; + private const int CLSCTX_LOCAL_SERVER = 4; + private const int REGCLS_MULTIPLEUSE = 1; + private const int S_OK = 0; + private static readonly Guid IUnknownGuid = new Guid("00000000-0000-0000-C000-000000000046"); + + private class NotificationActivatorClassFactory : IClassFactory where T : NotificationActivator, new() + { + public int CreateInstance(IntPtr pUnkOuter, ref Guid riid, out IntPtr ppvObject) + { + ppvObject = IntPtr.Zero; + + if (pUnkOuter != IntPtr.Zero) + Marshal.ThrowExceptionForHR(CLASS_E_NOAGGREGATION); + + if (riid == typeof(T).GUID || riid == IUnknownGuid) + // Create the instance of the .NET object + ppvObject = Marshal.GetComInterfaceForObject(new T(), + typeof(INotificationActivationCallback)); + else + // The object that ppvObject points to does not support the + // interface identified by riid. + Marshal.ThrowExceptionForHR(E_NOINTERFACE); + return S_OK; + } + + public int LockServer(bool fLock) + { + return S_OK; + } + } + + [DllImport("ole32.dll")] + private static extern int CoRegisterClassObject( + [MarshalAs(UnmanagedType.LPStruct)] Guid rclsid, + [MarshalAs(UnmanagedType.IUnknown)] object pUnk, + uint dwClsContext, + uint flags, + out uint lpdwRegister); + /// /// Creates a toast notifier. You must have called first (and also if you're a classic Win32 app), or this will throw an exception. /// @@ -151,7 +224,7 @@ private static void EnsureRegistered() } /// - /// Gets a value indicating whether http images can be used within toasts. This is true if running under Desktop Bridge. + /// Gets a value indicating whether http images can be used within toasts. This is true if running with package identity (MSIX or sparse package). /// public static bool CanUseHttpImages { diff --git a/ThirdPartyNotices.txt b/ThirdPartyNotices.txt index 4d874d686c1..74ccb4f0739 100644 --- a/ThirdPartyNotices.txt +++ b/ThirdPartyNotices.txt @@ -6,6 +6,7 @@ Do Not Translate or Localize This project incorporates components from the projects listed below. The original copyright notices and the licenses under which the .NET Foundation received such components are set forth below. The .NET Foundation reserves all rights not expressly granted herein, whether by implication, estoppel or otherwise. 1. PedroLamas/DeferredEvents version 1.0.4 (https://github.com/PedroLamas/DeferredEvents) +2. FrecherxDachs/UwpNotificationNetCoreTest commit 5c1a4a3 (https://github.com/FrecherxDachs/UwpNotificationNetCoreTest) %% PedroLamas/DeferredEvents NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -30,3 +31,29 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= END OF PedroLamas/DeferredEvents NOTICES AND INFORMATION + +%% FrecherxDachs/UwpNotificationNetCoreTest NOTICES AND INFORMATION BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2020 Michael Dietrich + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF FrecherxDachs/UwpNotificationNetCoreTest NOTICES AND INFORMATION \ No newline at end of file From db581cb6ab232a6a07b356b65220e549eac20d6f Mon Sep 17 00:00:00 2001 From: Andrew Leader Date: Mon, 27 Apr 2020 10:16:51 -0700 Subject: [PATCH 02/10] Fix compile error --- .../DesktopNotificationManagerCompat.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs index a6aa4c4f2ff..ccaa0267dce 100644 --- a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs +++ b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs @@ -31,7 +31,7 @@ THE SOFTWARE. using System.Runtime.InteropServices; using System.Text; using Windows.UI.Notifications; -using static DesktopNotifications.NotificationActivator; +using static Microsoft.Toolkit.Uwp.Notifications.NotificationActivator; namespace Microsoft.Toolkit.Uwp.Notifications { From 13a79414d9c587a1e7679a1ddcf3fb393e28ad0c Mon Sep 17 00:00:00 2001 From: Andrew Leader Date: Mon, 27 Apr 2020 20:20:00 -0700 Subject: [PATCH 03/10] StyleCop fixes --- .../DesktopNotificationManagerCompat.cs | 38 +++++++++++++------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs index ccaa0267dce..271202ac11a 100644 --- a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs +++ b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs @@ -45,6 +45,13 @@ public class DesktopNotificationManagerCompat /// public const string ToastActivatedLaunchArg = "-ToastActivated"; + private const int CLASS_E_NOAGGREGATION = -2147221232; + private const int E_NOINTERFACE = -2147467262; + private const int CLSCTX_LOCAL_SERVER = 4; + private const int REGCLS_MULTIPLEUSE = 1; + private const int S_OK = 0; + private static readonly Guid IUnknownGuid = new Guid("00000000-0000-0000-C000-000000000046"); + private static bool _registeredAumidAndComServer; private static string _aumid; private static bool _registeredActivator; @@ -104,9 +111,13 @@ public static void RegisterActivator() { // Big thanks to FrecherxDachs for figuring out the following code which works in .NET Core 3: https://github.com/FrecherxDachs/UwpNotificationNetCoreTest var uuid = typeof(T).GUID; - uint _cookie; - CoRegisterClassObject(uuid, new NotificationActivatorClassFactory(), CLSCTX_LOCAL_SERVER, - REGCLS_MULTIPLEUSE, out _cookie); + uint cookie; + CoRegisterClassObject( + uuid, + new NotificationActivatorClassFactory(), + CLSCTX_LOCAL_SERVER, + REGCLS_MULTIPLEUSE, + out cookie); _registeredActivator = true; } @@ -123,30 +134,33 @@ private interface IClassFactory int LockServer(bool fLock); } - private const int CLASS_E_NOAGGREGATION = -2147221232; - private const int E_NOINTERFACE = -2147467262; - private const int CLSCTX_LOCAL_SERVER = 4; - private const int REGCLS_MULTIPLEUSE = 1; - private const int S_OK = 0; - private static readonly Guid IUnknownGuid = new Guid("00000000-0000-0000-C000-000000000046"); - - private class NotificationActivatorClassFactory : IClassFactory where T : NotificationActivator, new() + private class NotificationActivatorClassFactory : IClassFactory + where T : NotificationActivator, new() { + public int CreateInstance(IntPtr pUnkOuter, ref Guid riid, out IntPtr ppvObject) { ppvObject = IntPtr.Zero; if (pUnkOuter != IntPtr.Zero) + { Marshal.ThrowExceptionForHR(CLASS_E_NOAGGREGATION); + } if (riid == typeof(T).GUID || riid == IUnknownGuid) + { // Create the instance of the .NET object - ppvObject = Marshal.GetComInterfaceForObject(new T(), + ppvObject = Marshal.GetComInterfaceForObject( + new T(), typeof(INotificationActivationCallback)); + } else + { // The object that ppvObject points to does not support the // interface identified by riid. Marshal.ThrowExceptionForHR(E_NOINTERFACE); + } + return S_OK; } From 4f8675111abce705e2e1d37584cb307d72543e80 Mon Sep 17 00:00:00 2001 From: Andrew Leader Date: Tue, 28 Apr 2020 08:59:14 -0700 Subject: [PATCH 04/10] Fix last style error --- .../DesktopNotificationManagerCompat.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs index 271202ac11a..8359780b416 100644 --- a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs +++ b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs @@ -137,7 +137,6 @@ private interface IClassFactory private class NotificationActivatorClassFactory : IClassFactory where T : NotificationActivator, new() { - public int CreateInstance(IntPtr pUnkOuter, ref Guid riid, out IntPtr ppvObject) { ppvObject = IntPtr.Zero; From bc14c6d731eef3a06c241cae3242b9f1beb7bfda Mon Sep 17 00:00:00 2001 From: Andrew Leader Date: Tue, 28 Apr 2020 10:05:44 -0700 Subject: [PATCH 05/10] Include desktop code in .NET Core 3 NuGet --- .../Microsoft.Toolkit.Uwp.Notifications.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Microsoft.Toolkit.Uwp.Notifications/Microsoft.Toolkit.Uwp.Notifications.csproj b/Microsoft.Toolkit.Uwp.Notifications/Microsoft.Toolkit.Uwp.Notifications.csproj index 0b2cf702e3a..ac25f1906ce 100644 --- a/Microsoft.Toolkit.Uwp.Notifications/Microsoft.Toolkit.Uwp.Notifications.csproj +++ b/Microsoft.Toolkit.Uwp.Notifications/Microsoft.Toolkit.Uwp.Notifications.csproj @@ -1,7 +1,7 @@  - netstandard1.4;uap10.0;native;net461 + netstandard1.4;uap10.0;native;net461;netcoreapp3.0 $(DefineConstants);NETFX_CORE Windows Community Toolkit Notifications @@ -27,7 +27,7 @@ - + From a8cb1ae940007e95880cfa1d6f973cdba333bb9f Mon Sep 17 00:00:00 2001 From: Andrew Leader Date: Tue, 28 Apr 2020 18:08:10 -0700 Subject: [PATCH 06/10] NuGet works on .NET Core and seemingly everything else --- .../DesktopNotificationManagerCompat.cs | 3 -- ...Microsoft.Toolkit.Uwp.Notifications.csproj | 43 +++++++++++++------ 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs index 8359780b416..a89d49f3391 100644 --- a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs +++ b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs @@ -24,10 +24,7 @@ THE SOFTWARE. * */ using System; -using System.Collections; -using System.Collections.Generic; using System.Diagnostics; -using System.Linq; using System.Runtime.InteropServices; using System.Text; using Windows.UI.Notifications; diff --git a/Microsoft.Toolkit.Uwp.Notifications/Microsoft.Toolkit.Uwp.Notifications.csproj b/Microsoft.Toolkit.Uwp.Notifications/Microsoft.Toolkit.Uwp.Notifications.csproj index ac25f1906ce..9ceccd958ec 100644 --- a/Microsoft.Toolkit.Uwp.Notifications/Microsoft.Toolkit.Uwp.Notifications.csproj +++ b/Microsoft.Toolkit.Uwp.Notifications/Microsoft.Toolkit.Uwp.Notifications.csproj @@ -14,6 +14,35 @@ notifications win10 windows 10 tile tiles toast toasts badge xml uwp c# csharp c++ true + + + + + + + + + + + + $(DefineConstants);WINDOWS_UWP + + + + + + + + + + + + + + + + + @@ -27,20 +56,6 @@ - - - - - - - - - $(MSBuildProgramFiles32)\Windows Kits\10\UnionMetadata\$(TargetPlatformVersion)\Windows.winmd - true - False - - - winmdobj UAP From 197eb2f6a650672e711d7003fb03908f3cdfbef7 Mon Sep 17 00:00:00 2001 From: Andrew Leader Date: Wed, 6 May 2020 16:49:14 -0700 Subject: [PATCH 07/10] Simplify license details --- .../DesktopNotificationManagerCompat.cs | 26 ++++--------------- ThirdPartyNotices.txt | 2 +- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs index a89d49f3391..581d301a306 100644 --- a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs +++ b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs @@ -2,27 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -/* - * License for the RegisterActivator portion of code from FrecherxDachs -The MIT License (MIT) -Copyright (c) 2020 Michael Dietrich -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - * */ - using System; using System.Diagnostics; using System.Runtime.InteropServices; @@ -99,6 +78,11 @@ private static void RegisterComServer(string exePath) key.SetValue(null, '"' + exePath + '"' + " " + ToastActivatedLaunchArg); } + + /* + * RegisterActivator code and all internal dependencies is from FrecherxDachs. + * See entry #2 in ThirdPartyNotices.txt in root repository directory for full license. */ + /// /// Registers the activator type as a COM server client so that Windows can launch your activator. /// diff --git a/ThirdPartyNotices.txt b/ThirdPartyNotices.txt index 74ccb4f0739..200b959ac1c 100644 --- a/ThirdPartyNotices.txt +++ b/ThirdPartyNotices.txt @@ -6,7 +6,7 @@ Do Not Translate or Localize This project incorporates components from the projects listed below. The original copyright notices and the licenses under which the .NET Foundation received such components are set forth below. The .NET Foundation reserves all rights not expressly granted herein, whether by implication, estoppel or otherwise. 1. PedroLamas/DeferredEvents version 1.0.4 (https://github.com/PedroLamas/DeferredEvents) -2. FrecherxDachs/UwpNotificationNetCoreTest commit 5c1a4a3 (https://github.com/FrecherxDachs/UwpNotificationNetCoreTest) +2. FrecherxDachs/UwpNotificationNetCoreTest commit 5c1a4a3 (https://github.com/FrecherxDachs/UwpNotificationNetCoreTest), used in DesktopNotificationManagerCompat.cs to support .NET Core 3.0. %% PedroLamas/DeferredEvents NOTICES AND INFORMATION BEGIN HERE ========================================= From a552d921b2877d252e781a57015622830ff3f05c Mon Sep 17 00:00:00 2001 From: Andrew Leader Date: Thu, 7 May 2020 16:52:12 -0700 Subject: [PATCH 08/10] Fix stylecop whitespace error --- .../DesktopNotificationManagerCompat.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs index 581d301a306..384e2b8bc86 100644 --- a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs +++ b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs @@ -77,7 +77,6 @@ private static void RegisterComServer(string exePath) // We also wrap EXE path in quotes for extra security key.SetValue(null, '"' + exePath + '"' + " " + ToastActivatedLaunchArg); } - /* * RegisterActivator code and all internal dependencies is from FrecherxDachs. @@ -273,4 +272,4 @@ private static bool IsWindows7OrLower } } } -} \ No newline at end of file +} From f5ef1012078b9748696bde3ffb176d023a8b9b9a Mon Sep 17 00:00:00 2001 From: Andrew Leader Date: Fri, 8 May 2020 09:20:59 -0700 Subject: [PATCH 09/10] One more style fix --- .../DesktopNotificationManagerCompat.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs index 384e2b8bc86..f70be4537fb 100644 --- a/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs +++ b/Microsoft.Toolkit.Uwp.Notifications/DesktopNotificationManager/DesktopNotificationManagerCompat.cs @@ -77,7 +77,7 @@ private static void RegisterComServer(string exePath) // We also wrap EXE path in quotes for extra security key.SetValue(null, '"' + exePath + '"' + " " + ToastActivatedLaunchArg); } - + /* * RegisterActivator code and all internal dependencies is from FrecherxDachs. * See entry #2 in ThirdPartyNotices.txt in root repository directory for full license. */ From 69c7e7d83afe31a88f9488114c04280585e50d34 Mon Sep 17 00:00:00 2001 From: "Michael Hawker MSFT (XAML Llama)" Date: Tue, 12 May 2020 09:19:39 -0700 Subject: [PATCH 10/10] Update username change for @MichaeIDietrich to paths in repo --- ThirdPartyNotices.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ThirdPartyNotices.txt b/ThirdPartyNotices.txt index 200b959ac1c..128e038252e 100644 --- a/ThirdPartyNotices.txt +++ b/ThirdPartyNotices.txt @@ -6,7 +6,7 @@ Do Not Translate or Localize This project incorporates components from the projects listed below. The original copyright notices and the licenses under which the .NET Foundation received such components are set forth below. The .NET Foundation reserves all rights not expressly granted herein, whether by implication, estoppel or otherwise. 1. PedroLamas/DeferredEvents version 1.0.4 (https://github.com/PedroLamas/DeferredEvents) -2. FrecherxDachs/UwpNotificationNetCoreTest commit 5c1a4a3 (https://github.com/FrecherxDachs/UwpNotificationNetCoreTest), used in DesktopNotificationManagerCompat.cs to support .NET Core 3.0. +2. MichaeIDietrich/UwpNotificationNetCoreTest commit 5c1a4a3 (https://github.com/MichaeIDietrich/UwpNotificationNetCoreTest), used in DesktopNotificationManagerCompat.cs to support .NET Core 3.0. %% PedroLamas/DeferredEvents NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -32,7 +32,7 @@ THE SOFTWARE. ========================================= END OF PedroLamas/DeferredEvents NOTICES AND INFORMATION -%% FrecherxDachs/UwpNotificationNetCoreTest NOTICES AND INFORMATION BEGIN HERE +%% MichaeIDietrich/UwpNotificationNetCoreTest NOTICES AND INFORMATION BEGIN HERE ========================================= The MIT License (MIT) @@ -56,4 +56,4 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF FrecherxDachs/UwpNotificationNetCoreTest NOTICES AND INFORMATION \ No newline at end of file +END OF FrecherxDachs/UwpNotificationNetCoreTest NOTICES AND INFORMATION