ProjectReunion/dev/AppNotifications/AppNotification.h

60 строки
2.3 KiB
C
Исходник Постоянная ссылка Обычный вид История

// Copyright (c) Microsoft Corporation and Contributors.
// Licensed under the MIT License.
#pragma once
RI feature branch WNP_ToastNotifications_L1 into main (#2192) * RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982) * Wnp toast notifications (#1981) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Revert "Forward integrate main into WNP_ToastNotifications (#1970)" This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13. Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * User/erlangl/purifoypaul/arm64 build fix (#1983) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Fixing build files for ToastNotificationTestApp/ToastNotificationTests * File was renamed to main Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * FI main into WNP_ToastNotifications_L1 (#1993) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * FI main into feature branch WNP_ToastNotification_L1 (#2026) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. * DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995) * TDBuild - updating localized resource files. * Add new font selection APIs to DWrite API spec (#1967) * Add new font selection APIs to DWriteCore API spec. * Add descriptions of font family models and font selection algorithms. * AppLifecycle Restart API (#1134) * Initial restart API branch * Formatting to code blocks * Updates to heading * Removed preamble * Updates to overview * Removing resources content * Updating restart spec with latest changes * Fixed summary * Updates to API details, mechanism and sample * run markdown prettifier * Updating mechanism * Updating formatting for consistency * Updates to return value description * Updates to spec after latest review * Prettified to match md guidelines, fixed nits Co-authored-by: Hamza Usmani <mousma@microsoft.com> * Initial RequestRestartNow API (#1882) * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * New test passes with API. * updated comment * Error handling changes and packaged code paths. * Removed unused tests, and added new test. * cleanup * transport packaging stuff * typo * Enable control flow guard for Release only. * PR feedback * Add ARM64 * Update to support packaged scenarios. This needs to be further scoped to only Desktop Bridge apps. * Detect UWP and redirect. * Reduce access usage. * Final API Name updates * Add MRTCore interface name and id (#1989) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Generate cert (#1986) * Update DevCheck to generate MSTest.pfx/.cer * Refactor temp handling. Add .user dir * Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil * Add -Remove-DevTestCert and -Remove-DevTestPfx * Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx * Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use * Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx * Update MSTest references * Start of changing NMAKEfiles to MSBuild * Add new file * MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects * 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts... * Tweaked the vcxproj to successfully create .msix via MakeMSIX! * Moved MakeMSIX.targets to the root (with other build files) * It works! Got the test projects building with the .pfx and .pwd * Rewiring test projects to use MakeMsix.targets instead of NMake * Yet more MakeMsix fixup * Fixed the package name * Added dummy Clean command (for now) * Fixed Deployment's test package where source files get put to different subdir+filename inside the msix * Fix DevCheck Start-Service to gracefully degrade if not running as admin * DeploymentTests were missing a build order dependency on BootstrapDLL project * Updated DevCheck generated cert to have 12-month lifespan (like current one) * Move Framework.* projects from makemsix.cmd to MakeMSIX.targets * Delete makemsix.cmd (obsolete) * Updated test projects to use static manifests instead of generated from a template (unnecessary complexity) * Deleted obsolete MakeAppxManifestFromTemplate.* * Removed obsolete manifest/template handling. Removed printfery debugging * Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error * Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr) * Deleted obsolete files * Replaced SolutionDir with RepoRoot * Rewrote installer's testpackage creation project to use MakeMSIX * Fixed naming inconsistencies * Addressed some issues. More to come * Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun * Fix bad merge * Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets * Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets * Updated projects to use the common RepoTestCertificate* * Removed obsolete and redundant <Error> check * Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late * Test WTH is going on * Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers * Add DevCheck support to RunTestsInHelix job * Merge/Port 1.0 license support into main/1.1 (#2012) * Update installer to support both publishing IDs used in App SDK. (#1759) * draft changes * fixing typo Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Added MSIX license support (#1783) * Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf) * Simplified help * Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install * It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting. * Add license support to Deployment API and a new InstallLicenses API (#1790) * Updated DeploymentManager to install license files if necessary * Add stubs for the InstallLicenseFile() methods * Change installer to install licenses BEFORE packages, for higher reliability * Copy the license header to the source tree to use whehn building via the pipeline] * Add Licensing API and export from Bootstrap'r * Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN * yml changes to pickup licensing package when needed. * moving restore to the top of the pipeline. * moving back, wrong stage * Fixed license filename * add nuget authenticate call * differnt connection * adding nuget config for build * avoid using licensing support in github / PR builds, which don't have access to the resources * update script to capture package version / name. * one missed check * Incorported feedback * udpdating nuget.config name to avoid conflicts. Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Incorporated feedback Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019) * Exclude CsWinRT.Dependency (#2021) * cert management has changed Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#2037) * Wnp toast notifications (#1981) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Revert "Forward integrate main into WNP_ToastNotifications (#1970)" This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13. Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * User/erlangl/purifoypaul/arm64 build fix (#1983) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Fixing build files for ToastNotificationTestApp/ToastNotificationTests * File was renamed to main Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Add ToastNotificationManger::Setting API (#1984) * Add ToastNotificationManger::Setting API * Addressing nits * Update ToastNotificationManager.cpp * Add Foreground/Background handlers for ToastActivation (#1973) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Copy branch based on WNP_ToastNotifications * Address nit * Addressing nits * Address nits * Change name from ToastActivation->AppNotification * Change more constants * Reuse deserialize function Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> * FI WNP_ToastNotifications_L1into WNP_ToastNotifications_L2 (#1997) * RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982) * Wnp toast notifications (#1981) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Revert "Forward integrate main into WNP_ToastNotifications (#1970)" This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13. Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * User/erlangl/purifoypaul/arm64 build fix (#1983) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Fixing build files for ToastNotificationTestApp/ToastNotificationTests * File was renamed to main Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * FI main into WNP_ToastNotifications_L1 (#1993) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> * Implemented ToastNotification + unit tests (#1996) Implemented ToastNotification + unit tests * Add ToastRegistration functions to PushNotificationsLongRunningTask (#1976) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Rebase to WPN_ToastNotifications * Update externs.h * Rename toastGuid->appId * Addressing nits * Add sink check to AddToastRegistrationMapping * Adding lock to HasSinkForAppId * Change lock to shared lock * Add unit tests, rename appId->toastAppId * Add BuildAppIdentifier * Remove HasSinkForAppId * Move toastStorage to ToastNotificationManager * Address nits * Update platform.cpp * Adding packaged apps treated as unpackaged scenario * Flip the bool * Update platform.cpp * Fix remaining nits * last nits Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> * FI feature branch WNP_ToastNotification_L1 into WNP_ToastNotification_L2 (#2029) * RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982) * Wnp toast notifications (#1981) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Revert "Forward integrate main into WNP_ToastNotifications (#1970)" This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13. Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * User/erlangl/purifoypaul/arm64 build fix (#1983) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Fixing build files for ToastNotificationTestApp/ToastNotificationTests * File was renamed to main Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * FI main into WNP_ToastNotifications_L1 (#1993) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * FI main into feature branch WNP_ToastNotification_L1 (#2026) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. * DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995) * TDBuild - updating localized resource files. * Add new font selection APIs to DWrite API spec (#1967) * Add new font selection APIs to DWriteCore API spec. * Add descriptions of font family models and font selection algorithms. * AppLifecycle Restart API (#1134) * Initial restart API branch * Formatting to code blocks * Updates to heading * Removed preamble * Updates to overview * Removing resources content * Updating restart spec with latest changes * Fixed summary * Updates to API details, mechanism and sample * run markdown prettifier * Updating mechanism * Updating formatting for consistency * Updates to return value description * Updates to spec after latest review * Prettified to match md guidelines, fixed nits Co-authored-by: Hamza Usmani <mousma@microsoft.com> * Initial RequestRestartNow API (#1882) * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * New test passes with API. * updated comment * Error handling changes and packaged code paths. * Removed unused tests, and added new test. * cleanup * transport packaging stuff * typo * Enable control flow guard for Release only. * PR feedback * Add ARM64 * Update to support packaged scenarios. This needs to be further scoped to only Desktop Bridge apps. * Detect UWP and redirect. * Reduce access usage. * Final API Name updates * Add MRTCore interface name and id (#1989) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Generate cert (#1986) * Update DevCheck to generate MSTest.pfx/.cer * Refactor temp handling. Add .user dir * Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil * Add -Remove-DevTestCert and -Remove-DevTestPfx * Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx * Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use * Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx * Update MSTest references * Start of changing NMAKEfiles to MSBuild * Add new file * MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects * 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts... * Tweaked the vcxproj to successfully create .msix via MakeMSIX! * Moved MakeMSIX.targets to the root (with other build files) * It works! Got the test projects building with the .pfx and .pwd * Rewiring test projects to use MakeMsix.targets instead of NMake * Yet more MakeMsix fixup * Fixed the package name * Added dummy Clean command (for now) * Fixed Deployment's test package where source files get put to different subdir+filename inside the msix * Fix DevCheck Start-Service to gracefully degrade if not running as admin * DeploymentTests were missing a build order dependency on BootstrapDLL project * Updated DevCheck generated cert to have 12-month lifespan (like current one) * Move Framework.* projects from makemsix.cmd to MakeMSIX.targets * Delete makemsix.cmd (obsolete) * Updated test projects to use static manifests instead of generated from a template (unnecessary complexity) * Deleted obsolete MakeAppxManifestFromTemplate.* * Removed obsolete manifest/template handling. Removed printfery debugging * Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error * Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr) * Deleted obsolete files * Replaced SolutionDir with RepoRoot * Rewrote installer's testpackage creation project to use MakeMSIX * Fixed naming inconsistencies * Addressed some issues. More to come * Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun * Fix bad merge * Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets * Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets * Updated projects to use the common RepoTestCertificate* * Removed obsolete and redundant <Error> check * Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late * Test WTH is going on * Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers * Add DevCheck support to RunTestsInHelix job * Merge/Port 1.0 license support into main/1.1 (#2012) * Update installer to support both publishing IDs used in App SDK. (#1759) * draft changes * fixing typo Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Added MSIX license support (#1783) * Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf) * Simplified help * Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install * It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting. * Add license support to Deployment API and a new InstallLicenses API (#1790) * Updated DeploymentManager to install license files if necessary * Add stubs for the InstallLicenseFile() methods * Change installer to install licenses BEFORE packages, for higher reliability * Copy the license header to the source tree to use whehn building via the pipeline] * Add Licensing API and export from Bootstrap'r * Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN * yml changes to pickup licensing package when needed. * moving restore to the top of the pipeline. * moving back, wrong stage * Fixed license filename * add nuget authenticate call * differnt connection * adding nuget config for build * avoid using licensing support in github / PR builds, which don't have access to the resources * update script to capture package version / name. * one missed check * Incorported feedback * udpdating nuget.config name to avoid conflicts. Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Incorporated feedback Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019) * Exclude CsWinRT.Dependency (#2021) * cert management has changed Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Fixing merge errors * Undoing change since it's coming from main Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * build fix * Changes not meant to go back into L1 Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Paul Purifoy <33183370+pmpurifoy@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: Daniel Ayala <14967941+danielayala94@users.noreply.github.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * RI WNP_ToastNotification_L2 into WNP_ToastNotification_L1 (#2048) * Wnp toast notifications (#1981) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Revert "Forward integrate main into WNP_ToastNotifications (#1970)" This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13. Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * User/erlangl/purifoypaul/arm64 build fix (#1983) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Fixing build files for ToastNotificationTestApp/ToastNotificationTests * File was renamed to main Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Add ToastNotificationManger::Setting API (#1984) * Add ToastNotificationManger::Setting API * Addressing nits * Update ToastNotificationManager.cpp * Add Foreground/Background handlers for ToastActivation (#1973) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Copy branch based on WNP_ToastNotifications * Address nit * Addressing nits * Address nits * Change name from ToastActivation->AppNotification * Change more constants * Reuse deserialize function Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> * FI WNP_ToastNotifications_L1into WNP_ToastNotifications_L2 (#1997) * RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982) * Wnp toast notifications (#1981) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Revert "Forward integrate main into WNP_ToastNotifications (#1970)" This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13. Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * User/erlangl/purifoypaul/arm64 build fix (#1983) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Fixing build files for ToastNotificationTestApp/ToastNotificationTests * File was renamed to main Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * FI main into WNP_ToastNotifications_L1 (#1993) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> * Implemented ToastNotification + unit tests (#1996) Implemented ToastNotification + unit tests * Add ToastRegistration functions to PushNotificationsLongRunningTask (#1976) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Rebase to WPN_ToastNotifications * Update externs.h * Rename toastGuid->appId * Addressing nits * Add sink check to AddToastRegistrationMapping * Adding lock to HasSinkForAppId * Change lock to shared lock * Add unit tests, rename appId->toastAppId * Add BuildAppIdentifier * Remove HasSinkForAppId * Move toastStorage to ToastNotificationManager * Address nits * Update platform.cpp * Adding packaged apps treated as unpackaged scenario * Flip the bool * Update platform.cpp * Fix remaining nits * last nits Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> * FI feature branch WNP_ToastNotification_L1 into WNP_ToastNotification_L2 (#2029) * RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982) * Wnp toast notifications (#1981) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Revert "Forward integrate main into WNP_ToastNotifications (#1970)" This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13. Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * User/erlangl/purifoypaul/arm64 build fix (#1983) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Fixing build files for ToastNotificationTestApp/ToastNotificationTests * File was renamed to main Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * FI main into WNP_ToastNotifications_L1 (#1993) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * FI main into feature branch WNP_ToastNotification_L1 (#2026) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. * DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995) * TDBuild - updating localized resource files. * Add new font selection APIs to DWrite API spec (#1967) * Add new font selection APIs to DWriteCore API spec. * Add descriptions of font family models and font selection algorithms. * AppLifecycle Restart API (#1134) * Initial restart API branch * Formatting to code blocks * Updates to heading * Removed preamble * Updates to overview * Removing resources content * Updating restart spec with latest changes * Fixed summary * Updates to API details, mechanism and sample * run markdown prettifier * Updating mechanism * Updating formatting for consistency * Updates to return value description * Updates to spec after latest review * Prettified to match md guidelines, fixed nits Co-authored-by: Hamza Usmani <mousma@microsoft.com> * Initial RequestRestartNow API (#1882) * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * New test passes with API. * updated comment * Error handling changes and packaged code paths. * Removed unused tests, and added new test. * cleanup * transport packaging stuff * typo * Enable control flow guard for Release only. * PR feedback * Add ARM64 * Update to support packaged scenarios. This needs to be further scoped to only Desktop Bridge apps. * Detect UWP and redirect. * Reduce access usage. * Final API Name updates * Add MRTCore interface name and id (#1989) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Generate cert (#1986) * Update DevCheck to generate MSTest.pfx/.cer * Refactor temp handling. Add .user dir * Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil * Add -Remove-DevTestCert and -Remove-DevTestPfx * Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx * Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use * Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx * Update MSTest references * Start of changing NMAKEfiles to MSBuild * Add new file * MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects * 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts... * Tweaked the vcxproj to successfully create .msix via MakeMSIX! * Moved MakeMSIX.targets to the root (with other build files) * It works! Got the test projects building with the .pfx and .pwd * Rewiring test projects to use MakeMsix.targets instead of NMake * Yet more MakeMsix fixup * Fixed the package name * Added dummy Clean command (for now) * Fixed Deployment's test package where source files get put to different subdir+filename inside the msix * Fix DevCheck Start-Service to gracefully degrade if not running as admin * DeploymentTests were missing a build order dependency on BootstrapDLL project * Updated DevCheck generated cert to have 12-month lifespan (like current one) * Move Framework.* projects from makemsix.cmd to MakeMSIX.targets * Delete makemsix.cmd (obsolete) * Updated test projects to use static manifests instead of generated from a template (unnecessary complexity) * Deleted obsolete MakeAppxManifestFromTemplate.* * Removed obsolete manifest/template handling. Removed printfery debugging * Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error * Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr) * Deleted obsolete files * Replaced SolutionDir with RepoRoot * Rewrote installer's testpackage creation project to use MakeMSIX * Fixed naming inconsistencies * Addressed some issues. More to come * Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun * Fix bad merge * Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets * Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets * Updated projects to use the common RepoTestCertificate* * Removed obsolete and redundant <Error> check * Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late * Test WTH is going on * Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers * Add DevCheck support to RunTestsInHelix job * Merge/Port 1.0 license support into main/1.1 (#2012) * Update installer to support both publishing IDs used in App SDK. (#1759) * draft changes * fixing typo Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Added MSIX license support (#1783) * Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf) * Simplified help * Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install * It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting. * Add license support to Deployment API and a new InstallLicenses API (#1790) * Updated DeploymentManager to install license files if necessary * Add stubs for the InstallLicenseFile() methods * Change installer to install licenses BEFORE packages, for higher reliability * Copy the license header to the source tree to use whehn building via the pipeline] * Add Licensing API and export from Bootstrap'r * Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN * yml changes to pickup licensing package when needed. * moving restore to the top of the pipeline. * moving back, wrong stage * Fixed license filename * add nuget authenticate call * differnt connection * adding nuget config for build * avoid using licensing support in github / PR builds, which don't have access to the resources * update script to capture package version / name. * one missed check * Incorported feedback * udpdating nuget.config name to avoid conflicts. Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Incorporated feedback Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019) * Exclude CsWinRT.Dependency (#2021) * cert management has changed Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Fixing merge errors * Undoing change since it's coming from main Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Fix push demo so packaged and unpackaged projects run properly (#2041) * restoring boostrap dll * Fixing init for packaged / unpackaged * Undo change inadvertally pushed Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Fix merge errors * Changes that don't make a difference Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Paul Purifoy <33183370+pmpurifoy@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: Daniel Ayala <14967941+danielayala94@users.noreply.github.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * FI main into WNP_ToastNotification_L1 (#2059) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. * DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995) * TDBuild - updating localized resource files. * Add new font selection APIs to DWrite API spec (#1967) * Add new font selection APIs to DWriteCore API spec. * Add descriptions of font family models and font selection algorithms. * AppLifecycle Restart API (#1134) * Initial restart API branch * Formatting to code blocks * Updates to heading * Removed preamble * Updates to overview * Removing resources content * Updating restart spec with latest changes * Fixed summary * Updates to API details, mechanism and sample * run markdown prettifier * Updating mechanism * Updating formatting for consistency * Updates to return value description * Updates to spec after latest review * Prettified to match md guidelines, fixed nits Co-authored-by: Hamza Usmani <mousma@microsoft.com> * Initial RequestRestartNow API (#1882) * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * New test passes with API. * updated comment * Error handling changes and packaged code paths. * Removed unused tests, and added new test. * cleanup * transport packaging stuff * typo * Enable control flow guard for Release only. * PR feedback * Add ARM64 * Update to support packaged scenarios. This needs to be further scoped to only Desktop Bridge apps. * Detect UWP and redirect. * Reduce access usage. * Final API Name updates * Add MRTCore interface name and id (#1989) * Correct CsWinRTWindowsMetadata * WindowsSdkPackageVersion * Suffix * suffix only * 22 * Update * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Generate cert (#1986) * Update DevCheck to generate MSTest.pfx/.cer * Refactor temp handling. Add .user dir * Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil * Add -Remove-DevTestCert and -Remove-DevTestPfx * Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx * Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use * Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx * Update MSTest references * Start of changing NMAKEfiles to MSBuild * Add new file * MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects * 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts... * Tweaked the vcxproj to successfully create .msix via MakeMSIX! * Moved MakeMSIX.targets to the root (with other build files) * It works! Got the test projects building with the .pfx and .pwd * Rewiring test projects to use MakeMsix.targets instead of NMake * Yet more MakeMsix fixup * Fixed the package name * Added dummy Clean command (for now) * Fixed Deployment's test package where source files get put to different subdir+filename inside the msix * Fix DevCheck Start-Service to gracefully degrade if not running as admin * DeploymentTests were missing a build order dependency on BootstrapDLL project * Updated DevCheck generated cert to have 12-month lifespan (like current one) * Move Framework.* projects from makemsix.cmd to MakeMSIX.targets * Delete makemsix.cmd (obsolete) * Updated test projects to use static manifests instead of generated from a template (unnecessary complexity) * Deleted obsolete MakeAppxManifestFromTemplate.* * Removed obsolete manifest/template handling. Removed printfery debugging * Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error * Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr) * Deleted obsolete files * Replaced SolutionDir with RepoRoot * Rewrote installer's testpackage creation project to use MakeMSIX * Fixed naming inconsistencies * Addressed some issues. More to come * Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun * Fix bad merge * Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets * Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets * Updated projects to use the common RepoTestCertificate* * Removed obsolete and redundant <Error> check * Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late * Test WTH is going on * Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers * Add DevCheck support to RunTestsInHelix job * Merge/Port 1.0 license support into main/1.1 (#2012) * Update installer to support both publishing IDs used in App SDK. (#1759) * draft changes * fixing typo Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Added MSIX license support (#1783) * Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf) * Simplified help * Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install * It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting. * Add license support to Deployment API and a new InstallLicenses API (#1790) * Updated DeploymentManager to install license files if necessary * Add stubs for the InstallLicenseFile() methods * Change installer to install licenses BEFORE packages, for higher reliability * Copy the license header to the source tree to use whehn building via the pipeline] * Add Licensing API and export from Bootstrap'r * Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN * yml changes to pickup licensing package when needed. * moving restore to the top of the pipeline. * moving back, wrong stage * Fixed license filename * add nuget authenticate call * differnt connection * adding nuget config for build * avoid using licensing support in github / PR builds, which don't have access to the resources * update script to capture package version / name. * one missed check * Incorported feedback * udpdating nuget.config name to avoid conflicts. Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Incorporated feedback Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019) * Exclude CsWinRT.Dependency (#2021) * Bad merge fix missed copying main_license.xml to the testpackages directory (#2025) * Feature for sharing security descriptors (take 2) (#2005) * Initial * Working tests * WinRT implementation * Delay load both DLLS and perform full bootstrap setup. It works! * PR feedback * Wrap long lines * Merge in test package changes * Reworded a password prompt for clarity (#2035) * Remove 19h1 and add 21H1 to Helix test queue. (#2038) * Windows SDK version should match that of other projects (#2043) Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Moving Intellisense files to single location (#2028) * Moving Intellisense files to foundation repo * Moving Intellisense files into one location * Moving Intellisense files to internal repo Co-authored-by: Eric Johnson <ejohn@microsoft.com> * Reworded a password prompt for clarity (#2045) * Enable APIscan-friendly build options (#2050) * Solution updated by VS Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Joshua Larkin <70237359+j0shuams@users.noreply.github.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> Co-authored-by: Ryan Shepherd <ryansh@microsoft.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Eric Johnson <ericjohnson327@gmail.com> Co-authored-by: Eric Johnson <ejohn@microsoft.com> * RI WNP_ToastNotification_L2 into WNP_ToastNotification_L1 (#2052) * Wnp toast notifications (#1981) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Revert "Forward integrate main into WNP_ToastNotifications (#1970)" This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13. Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * User/erlangl/purifoypaul/arm64 build fix (#1983) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Fixing build files for ToastNotificationTestApp/ToastNotificationTests * File was renamed to main Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Add ToastNotificationManger::Setting API (#1984) * Add ToastNotificationManger::Setting API * Addressing nits * Update ToastNotificationManager.cpp * Add Foreground/Background handlers for ToastActivation (#1973) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Copy branch based on WNP_ToastNotifications * Address nit * Addressing nits * Address nits * Change name from ToastActivation->AppNotification * Change more constants * Reuse deserialize function Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> * FI WNP_ToastNotifications_L1into WNP_ToastNotifications_L2 (#1997) * RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982) * Wnp toast notifications (#1981) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Revert "Forward integrate main into WNP_ToastNotifications (#1970)" This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13. Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * User/erlangl/purifoypaul/arm64 build fix (#1983) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Fixing build files for ToastNotificationTestApp/ToastNotificationTests * File was renamed to main Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * FI main into WNP_ToastNotifications_L1 (#1993) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> * Implemented ToastNotification + unit tests (#1996) Implemented ToastNotification + unit tests * Add ToastRegistration functions to PushNotificationsLongRunningTask (#1976) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Rebase to WPN_ToastNotifications * Update externs.h * Rename toastGuid->appId * Addressing nits * Add sink check to AddToastRegistrationMapping * Adding lock to HasSinkForAppId * Change lock to shared lock * Add unit tests, rename appId->toastAppId * Add BuildAppIdentifier * Remove HasSinkForAppId * Move toastStorage to ToastNotificationManager * Address nits * Update platform.cpp * Adding packaged apps treated as unpackaged scenario * Flip the bool * Update platform.cpp * Fix remaining nits * last nits Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> * FI feature branch WNP_ToastNotification_L1 into WNP_ToastNotification_L2 (#2029) * RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982) * Wnp toast notifications (#1981) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Revert "Forward integrate main into WNP_ToastNotifications (#1970)" This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13. Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * User/erlangl/purifoypaul/arm64 build fix (#1983) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Fixing build files for ToastNotificationTestApp/ToastNotificationTests * File was renamed to main Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * FI main into WNP_ToastNotifications_L1 (#1993) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * FI main into feature branch WNP_ToastNotification_L1 (#2026) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. * DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995) * TDBuild - updating localized resource files. * Add new font selection APIs to DWrite API spec (#1967) * Add new font selection APIs to DWriteCore API spec. * Add descriptions of font family models and font selection algorithms. * AppLifecycle Restart API (#1134) * Initial restart API branch * Formatting to code blocks * Updates to heading * Removed preamble * Updates to overview * Removing resources content * Updating restart spec with latest changes * Fixed summary * Updates to API details, mechanism and sample * run markdown prettifier * Updating mechanism * Updating formatting for consistency * Updates to return value description * Updates to spec after latest review * Prettified to match md guidelines, fixed nits Co-authored-by: Hamza Usmani <mousma@microsoft.com> * Initial RequestRestartNow API (#1882) * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * New test passes with API. * updated comment * Error handling changes and packaged code paths. * Removed unused tests, and added new test. * cleanup * transport packaging stuff * typo * Enable control flow guard for Release only. * PR feedback * Add ARM64 * Update to support packaged scenarios. This needs to be further scoped to only Desktop Bridge apps. * Detect UWP and redirect. * Reduce access usage. * Final API Name updates * Add MRTCore interface name and id (#1989) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Generate cert (#1986) * Update DevCheck to generate MSTest.pfx/.cer * Refactor temp handling. Add .user dir * Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil * Add -Remove-DevTestCert and -Remove-DevTestPfx * Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx * Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use * Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx * Update MSTest references * Start of changing NMAKEfiles to MSBuild * Add new file * MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects * 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts... * Tweaked the vcxproj to successfully create .msix via MakeMSIX! * Moved MakeMSIX.targets to the root (with other build files) * It works! Got the test projects building with the .pfx and .pwd * Rewiring test projects to use MakeMsix.targets instead of NMake * Yet more MakeMsix fixup * Fixed the package name * Added dummy Clean command (for now) * Fixed Deployment's test package where source files get put to different subdir+filename inside the msix * Fix DevCheck Start-Service to gracefully degrade if not running as admin * DeploymentTests were missing a build order dependency on BootstrapDLL project * Updated DevCheck generated cert to have 12-month lifespan (like current one) * Move Framework.* projects from makemsix.cmd to MakeMSIX.targets * Delete makemsix.cmd (obsolete) * Updated test projects to use static manifests instead of generated from a template (unnecessary complexity) * Deleted obsolete MakeAppxManifestFromTemplate.* * Removed obsolete manifest/template handling. Removed printfery debugging * Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error * Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr) * Deleted obsolete files * Replaced SolutionDir with RepoRoot * Rewrote installer's testpackage creation project to use MakeMSIX * Fixed naming inconsistencies * Addressed some issues. More to come * Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun * Fix bad merge * Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets * Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets * Updated projects to use the common RepoTestCertificate* * Removed obsolete and redundant <Error> check * Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late * Test WTH is going on * Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers * Add DevCheck support to RunTestsInHelix job * Merge/Port 1.0 license support into main/1.1 (#2012) * Update installer to support both publishing IDs used in App SDK. (#1759) * draft changes * fixing typo Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Added MSIX license support (#1783) * Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf) * Simplified help * Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install * It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting. * Add license support to Deployment API and a new InstallLicenses API (#1790) * Updated DeploymentManager to install license files if necessary * Add stubs for the InstallLicenseFile() methods * Change installer to install licenses BEFORE packages, for higher reliability * Copy the license header to the source tree to use whehn building via the pipeline] * Add Licensing API and export from Bootstrap'r * Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN * yml changes to pickup licensing package when needed. * moving restore to the top of the pipeline. * moving back, wrong stage * Fixed license filename * add nuget authenticate call * differnt connection * adding nuget config for build * avoid using licensing support in github / PR builds, which don't have access to the resources * update script to capture package version / name. * one missed check * Incorported feedback * udpdating nuget.config name to avoid conflicts. Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Incorporated feedback Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019) * Exclude CsWinRT.Dependency (#2021) * cert management has changed Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Fixing merge errors * Undoing change since it's coming from main Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Fix push demo so packaged and unpackaged projects run properly (#2041) * restoring boostrap dll * Fixing init for packaged / unpackaged * Undo change inadvertally pushed Co-authored-by: Eric Langlois <erlangl@microsoft.com> * ShowToast implementation + unit tests (#2007) This PR introduces ToastNotificationManager::ShowToast() implementation. As part of this work, I implemented the NotificationProperties and NotificationTransientProperties ABI types to translate the Toast SDK class into objects that the UDK can understand. To verify the API, I added a couple of unit tests, for both packaged and unpackaged scenarios. Also, I locally exercised the API using the PushNotificationsDemoApp. Ideally, we should add sample code once ToastNotificationsDemoApp is up. * Differences are miningless Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Paul Purifoy <33183370+pmpurifoy@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: Daniel Ayala <14967941+danielayala94@users.noreply.github.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Enable ToastProgressData Updates (#2062) * Enable ToastProgressData Updates * Address comments * Add unittests for empty tag and valid group * Address minor comments * Add exclusive lock check for write APIs in ToastProgressData * Co_return a co_awaited API * Rename all instances of Toast in Public API layer to AppNotifications (#2063) * Rename Notification components from Toast to Notifications * Merge AppNotificationProgressData changes * Fix a small merging error in the solution file * Fix manifest to remove the older redundant activator classes * Add ToastNotificationDemoApp to Demos (#2079) * Clean branch commit * Update main.cpp * Update WindowsAppRuntime.sln * Add rename to demo app * Update main.cpp * FI main into feature/WNP_ToastNotifications_L1 (#2093) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. * DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995) * TDBuild - updating localized resource files. * Add new font selection APIs to DWrite API spec (#1967) * Add new font selection APIs to DWriteCore API spec. * Add descriptions of font family models and font selection algorithms. * AppLifecycle Restart API (#1134) * Initial restart API branch * Formatting to code blocks * Updates to heading * Removed preamble * Updates to overview * Removing resources content * Updating restart spec with latest changes * Fixed summary * Updates to API details, mechanism and sample * run markdown prettifier * Updating mechanism * Updating formatting for consistency * Updates to return value description * Updates to spec after latest review * Prettified to match md guidelines, fixed nits Co-authored-by: Hamza Usmani <mousma@microsoft.com> * Initial RequestRestartNow API (#1882) * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * New test passes with API. * updated comment * Error handling changes and packaged code paths. * Removed unused tests, and added new test. * cleanup * transport packaging stuff * typo * Enable control flow guard for Release only. * PR feedback * Add ARM64 * Update to support packaged scenarios. This needs to be further scoped to only Desktop Bridge apps. * Detect UWP and redirect. * Reduce access usage. * Final API Name updates * Add MRTCore interface name and id (#1989) * Correct CsWinRTWindowsMetadata * WindowsSdkPackageVersion * Suffix * suffix only * 22 * Update * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Generate cert (#1986) * Update DevCheck to generate MSTest.pfx/.cer * Refactor temp handling. Add .user dir * Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil * Add -Remove-DevTestCert and -Remove-DevTestPfx * Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx * Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use * Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx * Update MSTest references * Start of changing NMAKEfiles to MSBuild * Add new file * MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects * 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts... * Tweaked the vcxproj to successfully create .msix via MakeMSIX! * Moved MakeMSIX.targets to the root (with other build files) * It works! Got the test projects building with the .pfx and .pwd * Rewiring test projects to use MakeMsix.targets instead of NMake * Yet more MakeMsix fixup * Fixed the package name * Added dummy Clean command (for now) * Fixed Deployment's test package where source files get put to different subdir+filename inside the msix * Fix DevCheck Start-Service to gracefully degrade if not running as admin * DeploymentTests were missing a build order dependency on BootstrapDLL project * Updated DevCheck generated cert to have 12-month lifespan (like current one) * Move Framework.* projects from makemsix.cmd to MakeMSIX.targets * Delete makemsix.cmd (obsolete) * Updated test projects to use static manifests instead of generated from a template (unnecessary complexity) * Deleted obsolete MakeAppxManifestFromTemplate.* * Removed obsolete manifest/template handling. Removed printfery debugging * Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error * Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr) * Deleted obsolete files * Replaced SolutionDir with RepoRoot * Rewrote installer's testpackage creation project to use MakeMSIX * Fixed naming inconsistencies * Addressed some issues. More to come * Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun * Fix bad merge * Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets * Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets * Updated projects to use the common RepoTestCertificate* * Removed obsolete and redundant <Error> check * Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late * Test WTH is going on * Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers * Add DevCheck support to RunTestsInHelix job * Merge/Port 1.0 license support into main/1.1 (#2012) * Update installer to support both publishing IDs used in App SDK. (#1759) * draft changes * fixing typo Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Added MSIX license support (#1783) * Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf) * Simplified help * Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install * It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting. * Add license support to Deployment API and a new InstallLicenses API (#1790) * Updated DeploymentManager to install license files if necessary * Add stubs for the InstallLicenseFile() methods * Change installer to install licenses BEFORE packages, for higher reliability * Copy the license header to the source tree to use whehn building via the pipeline] * Add Licensing API and export from Bootstrap'r * Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN * yml changes to pickup licensing package when needed. * moving restore to the top of the pipeline. * moving back, wrong stage * Fixed license filename * add nuget authenticate call * differnt connection * adding nuget config for build * avoid using licensing support in github / PR builds, which don't have access to the resources * update script to capture package version / name. * one missed check * Incorported feedback * udpdating nuget.config name to avoid conflicts. Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Incorporated feedback Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019) * Exclude CsWinRT.Dependency (#2021) * Bad merge fix missed copying main_license.xml to the testpackages directory (#2025) * Feature for sharing security descriptors (take 2) (#2005) * Initial * Working tests * WinRT implementation * Delay load both DLLS and perform full bootstrap setup. It works! * PR feedback * Wrap long lines * Merge in test package changes * Reworded a password prompt for clarity (#2035) * Remove 19h1 and add 21H1 to Helix test queue. (#2038) * Windows SDK version should match that of other projects (#2043) Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Moving Intellisense files to single location (#2028) * Moving Intellisense files to foundation repo * Moving Intellisense files into one location * Moving Intellisense files to internal repo Co-authored-by: Eric Johnson <ejohn@microsoft.com> * Reworded a password prompt for clarity (#2045) * Enable APIscan-friendly build options (#2050) * DynamicDependencies: support elevation (#2066) * Changed DynamicDependencies' mechanism to get ApplicationData for non-System definitions. Only use the PackagedCOM object when running in an AppContainer (where hopping to another process is necessary). Elevated (and MediumIL) can directly use ApplicationDataManager (a necessity for Elevation, a nicety for MediumIL) * New file * Remove elevated blockers. Fixup to work for elevation. Update elevation test to verify success (as expected) instead of failure (as previously expected) * Fixup DDLMShadow logging to not fail on timeout (WINDOWSAPPSDK_DDLM_SHUTDOWN and ..._CALLER_TERMINATED). Previously would crash because WIL faults if LOG_*() called with SUCCEEDED(hr), but this was the last thing in the process before exit so we didn't notice. Should change to alternative logging (Telemetry?) but need to check options before deciding which way to jump. Update will be coming * Add tests for Elevation * Add a missing comment * ignore failures button' * Revert "ignore failures button'" This reverts commit ef2c8ad0d976118b331bdda2f9a05be3ecd97d1f. * Add button to allow publishing even if there are test failures (#2070) * Update to FrameworkUDK 1.1.0-CI-22541.1001.220207-1139.1 (#2077) * Move CSWinRT to Toolset Dependencies in Version.Details.xml (#2084) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2202.10001 (#2092) Microsoft.WinAppSDK.EngCommon From Version 1.1.0-20220125.0-CI -> To Version 1.1.0-20220210.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * bad merge * Adding a non-async PowerNotificiations::EffectivePowerMode method (#2076) * Added EffectivePowerMode2 * Added EffectivePowerMode2 Co-authored-by: Huzaifa Danish <modanish@microsoft.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Joshua Larkin <70237359+j0shuams@users.noreply.github.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> Co-authored-by: Ryan Shepherd <ryansh@microsoft.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Eric Johnson <ericjohnson327@gmail.com> Co-authored-by: Eric Johnson <ejohn@microsoft.com> Co-authored-by: Will Thant <kythant@microsoft.com> Co-authored-by: Huzaifa Danish <Huzaifa.Danish@microsoft.com> Co-authored-by: Huzaifa Danish <modanish@microsoft.com> * RS5 Fixes (#2060) * Wnp toast notifications (#1981) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Revert "Forward integrate main into WNP_ToastNotifications (#1970)" This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13. Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * User/erlangl/purifoypaul/arm64 build fix (#1983) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Forward integrate main into WNP_ToastNotifications (#1970) * Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Run the Foundation test suite from the Internal Integraiton tests (#1963) Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Fixing build files for ToastNotificationTestApp/ToastNotificationTests * File was renamed to main Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Add ToastNotificationManger::Setting API (#1984) * Add ToastNotificationManger::Setting API * Addressing nits * Update ToastNotificationManager.cpp * Add Foreground/Background handlers for ToastActivation (#1973) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Copy branch based on WNP_ToastNotifications * Address nit * Addressing nits * Address nits * Change name from ToastActivation->AppNotification * Change more constants * Reuse deserialize function Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> * Implemented ToastNotification + unit tests (#1996) Implemented ToastNotification + unit tests * Add ToastRegistration functions to PushNotificationsLongRunningTask (#1976) * Adding temp idl for base branch * Create .cpp/.h files for handling toastnotifications * Introduce ToastNotification Registration APIs (#1875) * Introduce ToastRegistration APIs and associated taef tests * Address comments * Address minor comments * Add support for Release x64 for ToastNotificationTestApp * Addressing nits * Add GetActivatorGuid function * Last nits * Update error messages Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> * Rebase to WPN_ToastNotifications * Update externs.h * Rename toastGuid->appId * Addressing nits * Add sink check to AddToastRegistrationMapping * Adding lock to HasSinkForAppId * Change lock to shared lock * Add unit tests, rename appId->toastAppId * Add BuildAppIdentifier * Remove HasSinkForAppId * Move toastStorage to ToastNotificationManager * Address nits * Update platform.cpp * Adding packaged apps treated as unpackaged scenario * Flip the bool * Update platform.cpp * Fix remaining nits * last nits Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> * First iteration of ToastNotificationDemoApp * Current iteration * Adding DelayLoad Bootstrap.dll to make app hybrid * Update PushNotificationManager.cpp * User/purifoypaul/rs5 packaged com activation (#2044) * Initial Commit * Working packaged background RS5 * Remove IRawSerializer * Update NotificationListener.cpp * Update PushActivationInfo * Currently working on nits * Addressing comments * Cleaning up PushNotificationChannel.cpp + nits * Issues with PushRawNotification * Update PushNotificationManager.cpp * Fixing some nits * Move CoCreate packaged apps to helpers * Remove background activation when args is handled * Update main.cpp * Remove legacyImplementation from telemetry * Add Default to TestApp * Update main.cpp * Update main.cpp Co-authored-by: eric langlois <email@ericlanglois.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Daniel Ayala <14967941+danielayala94@users.noreply.github.com> * Add GetAllAsync and Remove*Async for Toast Notifications (#2068) * Initial draft for GetAllAsync * Clear active toasts before testing GetAllAsync * code clean-up * Verify GetALlAsync works as expected * Reducing code in ToastNotificationManager by moving utility function out * Extracting bloat into a utility function * Code cleanup * wip * Verify basic cases for remove using groups and tags * Account for the various states transient properties can be in * Adding throw macros where needed * Reducing clutter * wip * Tags are unique at the root level, or inside a given group * lifetime management * unit tests would fail when run as part of a suite * Code cleanup * Verify parogress data is properly returned by GetAllAsync * Sorting up tests so they are easier to locate * typo * ExpireOnReboot has been fixed in the UDK * Fixing merge errors * code cleanup * Verifying that progress data is included in history * return an empty vector to signal that no entries exists * Addressing feedback * Verify remove* APIs don't fail when target not found * nits * Remove APIs should not error out because toast does not exist Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Adress Public API review comments (#2106) * Address API feedback from Review * Move the event handler as a Manager member variable * Address Public API comments for Progress Data * Fix failed unit test * Fix solution file (#2112) * Removing arm config as they aren't present in main * Don't build projects for any cpu Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Add constness to parameters (#2124) * Refactor AppNotificationManager and add firstNotificationReceived (#2119) * Refactor AppNotificationManager and add firstNotificationReceived * Address nits * Fix handler exception logic * FI main into feature branch WNP_ToastNotifications_L1 (#2123) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. * DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995) * TDBuild - updating localized resource files. * Add new font selection APIs to DWrite API spec (#1967) * Add new font selection APIs to DWriteCore API spec. * Add descriptions of font family models and font selection algorithms. * AppLifecycle Restart API (#1134) * Initial restart API branch * Formatting to code blocks * Updates to heading * Removed preamble * Updates to overview * Removing resources content * Updating restart spec with latest changes * Fixed summary * Updates to API details, mechanism and sample * run markdown prettifier * Updating mechanism * Updating formatting for consistency * Updates to return value description * Updates to spec after latest review * Prettified to match md guidelines, fixed nits Co-authored-by: Hamza Usmani <mousma@microsoft.com> * Initial RequestRestartNow API (#1882) * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * New test passes with API. * updated comment * Error handling changes and packaged code paths. * Removed unused tests, and added new test. * cleanup * transport packaging stuff * typo * Enable control flow guard for Release only. * PR feedback * Add ARM64 * Update to support packaged scenarios. This needs to be further scoped to only Desktop Bridge apps. * Detect UWP and redirect. * Reduce access usage. * Final API Name updates * Add MRTCore interface name and id (#1989) * Correct CsWinRTWindowsMetadata * WindowsSdkPackageVersion * Suffix * suffix only * 22 * Update * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Generate cert (#1986) * Update DevCheck to generate MSTest.pfx/.cer * Refactor temp handling. Add .user dir * Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil * Add -Remove-DevTestCert and -Remove-DevTestPfx * Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx * Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use * Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx * Update MSTest references * Start of changing NMAKEfiles to MSBuild * Add new file * MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects * 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts... * Tweaked the vcxproj to successfully create .msix via MakeMSIX! * Moved MakeMSIX.targets to the root (with other build files) * It works! Got the test projects building with the .pfx and .pwd * Rewiring test projects to use MakeMsix.targets instead of NMake * Yet more MakeMsix fixup * Fixed the package name * Added dummy Clean command (for now) * Fixed Deployment's test package where source files get put to different subdir+filename inside the msix * Fix DevCheck Start-Service to gracefully degrade if not running as admin * DeploymentTests were missing a build order dependency on BootstrapDLL project * Updated DevCheck generated cert to have 12-month lifespan (like current one) * Move Framework.* projects from makemsix.cmd to MakeMSIX.targets * Delete makemsix.cmd (obsolete) * Updated test projects to use static manifests instead of generated from a template (unnecessary complexity) * Deleted obsolete MakeAppxManifestFromTemplate.* * Removed obsolete manifest/template handling. Removed printfery debugging * Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error * Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr) * Deleted obsolete files * Replaced SolutionDir with RepoRoot * Rewrote installer's testpackage creation project to use MakeMSIX * Fixed naming inconsistencies * Addressed some issues. More to come * Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun * Fix bad merge * Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets * Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets * Updated projects to use the common RepoTestCertificate* * Removed obsolete and redundant <Error> check * Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late * Test WTH is going on * Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers * Add DevCheck support to RunTestsInHelix job * Merge/Port 1.0 license support into main/1.1 (#2012) * Update installer to support both publishing IDs used in App SDK. (#1759) * draft changes * fixing typo Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Added MSIX license support (#1783) * Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf) * Simplified help * Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install * It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting. * Add license support to Deployment API and a new InstallLicenses API (#1790) * Updated DeploymentManager to install license files if necessary * Add stubs for the InstallLicenseFile() methods * Change installer to install licenses BEFORE packages, for higher reliability * Copy the license header to the source tree to use whehn building via the pipeline] * Add Licensing API and export from Bootstrap'r * Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN * yml changes to pickup licensing package when needed. * moving restore to the top of the pipeline. * moving back, wrong stage * Fixed license filename * add nuget authenticate call * differnt connection * adding nuget config for build * avoid using licensing support in github / PR builds, which don't have access to the resources * update script to capture package version / name. * one missed check * Incorported feedback * udpdating nuget.config name to avoid conflicts. Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Incorporated feedback Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019) * Exclude CsWinRT.Dependency (#2021) * Bad merge fix missed copying main_license.xml to the testpackages directory (#2025) * Feature for sharing security descriptors (take 2) (#2005) * Initial * Working tests * WinRT implementation * Delay load both DLLS and perform full bootstrap setup. It works! * PR feedback * Wrap long lines * Merge in test package changes * Reworded a password prompt for clarity (#2035) * Remove 19h1 and add 21H1 to Helix test queue. (#2038) * Windows SDK version should match that of other projects (#2043) Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Moving Intellisense files to single location (#2028) * Moving Intellisense files to foundation repo * Moving Intellisense files into one location * Moving Intellisense files to internal repo Co-authored-by: Eric Johnson <ejohn@microsoft.com> * Reworded a password prompt for clarity (#2045) * Enable APIscan-friendly build options (#2050) * DynamicDependencies: support elevation (#2066) * Changed DynamicDependencies' mechanism to get ApplicationData for non-System definitions. Only use the PackagedCOM object when running in an AppContainer (where hopping to another process is necessary). Elevated (and MediumIL) can directly use ApplicationDataManager (a necessity for Elevation, a nicety for MediumIL) * New file * Remove elevated blockers. Fixup to work for elevation. Update elevation test to verify success (as expected) instead of failure (as previously expected) * Fixup DDLMShadow logging to not fail on timeout (WINDOWSAPPSDK_DDLM_SHUTDOWN and ..._CALLER_TERMINATED). Previously would crash because WIL faults if LOG_*() called with SUCCEEDED(hr), but this was the last thing in the process before exit so we didn't notice. Should change to alternative logging (Telemetry?) but need to check options before deciding which way to jump. Update will be coming * Add tests for Elevation * Add a missing comment * ignore failures button' * Revert "ignore failures button'" This reverts commit ef2c8ad0d976118b331bdda2f9a05be3ecd97d1f. * Add button to allow publishing even if there are test failures (#2070) * Update to FrameworkUDK 1.1.0-CI-22541.1001.220207-1139.1 (#2077) * Move CSWinRT to Toolset Dependencies in Version.Details.xml (#2084) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2202.10001 (#2092) Microsoft.WinAppSDK.EngCommon From Version 1.1.0-20220125.0-CI -> To Version 1.1.0-20220210.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Adding a non-async PowerNotificiations::EffectivePowerMode method (#2076) * Added EffectivePowerMode2 * Added EffectivePowerMode2 Co-authored-by: Huzaifa Danish <modanish@microsoft.com> * Update dependencies from https://github.com/microsoft/CsWinRT build 1.5.0.220207.5 (#2072) [main] Update dependencies from Microsoft/CsWinRT - Merge branch 'main' into darc-main-309a8238-dc1b-428e-92c2-4f38e8ba749a Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Joshua Larkin <70237359+j0shuams@users.noreply.github.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> Co-authored-by: Ryan Shepherd <ryansh@microsoft.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Eric Johnson <ericjohnson327@gmail.com> Co-authored-by: Eric Johnson <ejohn@microsoft.com> Co-authored-by: Will Thant <kythant@microsoft.com> Co-authored-by: Huzaifa Danish <Huzaifa.Danish@microsoft.com> Co-authored-by: Huzaifa Danish <modanish@microsoft.com> * Adding CS Projections to Toast Notifications (#2116) * Adding C# projections * arm configs aren't supposed to be set * missed a reference to push notifications * Need to publish the DLLs Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Retrieve Push/Toast Activator from registry (#2094) * Able to get both Push/Toast Activator from registry * Address comments and also remove unneccessary unittests as per new design * Implement pure Register function for AppNotifications Optimize unittests * Infer DisplayName and Icon * Address Comments * Nit: replace XML toast creation with hstring in demo app * Restore PushNotificationManager * Restore com guid in PushNotificationdemoapp * Update PushNotificationUtility.h * Update PushNotificationManager.cpp * Update PushNotificationManager.cpp * Update main.cpp * Mostly bug fixes on DisplayName/Icon logic * Fixing bad merge * Fixed bad throw check Co-authored-by: Venkata Sharath Chandra Manchala <vemancha@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Daniel Ayala <14967941+danielayala94@users.noreply.github.com> * Check if there are notification handlers around when registering the callback factory to choose beteen single use and multiple use registration. * Adding descriptive coment. * Set icon before running the unpackaged-scenario tests (#2129) * Update AppNotificationManager.cpp (#2133) * Fixing typo. * FI main into feature branch WNP_ToastNotifications_L1 (#2144) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. * DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995) * TDBuild - updating localized resource files. * Add new font selection APIs to DWrite API spec (#1967) * Add new font selection APIs to DWriteCore API spec. * Add descriptions of font family models and font selection algorithms. * AppLifecycle Restart API (#1134) * Initial restart API branch * Formatting to code blocks * Updates to heading * Removed preamble * Updates to overview * Removing resources content * Updating restart spec with latest changes * Fixed summary * Updates to API details, mechanism and sample * run markdown prettifier * Updating mechanism * Updating formatting for consistency * Updates to return value description * Updates to spec after latest review * Prettified to match md guidelines, fixed nits Co-authored-by: Hamza Usmani <mousma@microsoft.com> * Initial RequestRestartNow API (#1882) * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * New test passes with API. * updated comment * Error handling changes and packaged code paths. * Removed unused tests, and added new test. * cleanup * transport packaging stuff * typo * Enable control flow guard for Release only. * PR feedback * Add ARM64 * Update to support packaged scenarios. This needs to be further scoped to only Desktop Bridge apps. * Detect UWP and redirect. * Reduce access usage. * Final API Name updates * Add MRTCore interface name and id (#1989) * Correct CsWinRTWindowsMetadata * WindowsSdkPackageVersion * Suffix * suffix only * 22 * Update * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Generate cert (#1986) * Update DevCheck to generate MSTest.pfx/.cer * Refactor temp handling. Add .user dir * Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil * Add -Remove-DevTestCert and -Remove-DevTestPfx * Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx * Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use * Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx * Update MSTest references * Start of changing NMAKEfiles to MSBuild * Add new file * MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects * 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts... * Tweaked the vcxproj to successfully create .msix via MakeMSIX! * Moved MakeMSIX.targets to the root (with other build files) * It works! Got the test projects building with the .pfx and .pwd * Rewiring test projects to use MakeMsix.targets instead of NMake * Yet more MakeMsix fixup * Fixed the package name * Added dummy Clean command (for now) * Fixed Deployment's test package where source files get put to different subdir+filename inside the msix * Fix DevCheck Start-Service to gracefully degrade if not running as admin * DeploymentTests were missing a build order dependency on BootstrapDLL project * Updated DevCheck generated cert to have 12-month lifespan (like current one) * Move Framework.* projects from makemsix.cmd to MakeMSIX.targets * Delete makemsix.cmd (obsolete) * Updated test projects to use static manifests instead of generated from a template (unnecessary complexity) * Deleted obsolete MakeAppxManifestFromTemplate.* * Removed obsolete manifest/template handling. Removed printfery debugging * Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error * Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr) * Deleted obsolete files * Replaced SolutionDir with RepoRoot * Rewrote installer's testpackage creation project to use MakeMSIX * Fixed naming inconsistencies * Addressed some issues. More to come * Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun * Fix bad merge * Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets * Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets * Updated projects to use the common RepoTestCertificate* * Removed obsolete and redundant <Error> check * Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late * Test WTH is going on * Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers * Add DevCheck support to RunTestsInHelix job * Merge/Port 1.0 license support into main/1.1 (#2012) * Update installer to support both publishing IDs used in App SDK. (#1759) * draft changes * fixing typo Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Added MSIX license support (#1783) * Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf) * Simplified help * Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install * It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting. * Add license support to Deployment API and a new InstallLicenses API (#1790) * Updated DeploymentManager to install license files if necessary * Add stubs for the InstallLicenseFile() methods * Change installer to install licenses BEFORE packages, for higher reliability * Copy the license header to the source tree to use whehn building via the pipeline] * Add Licensing API and export from Bootstrap'r * Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN * yml changes to pickup licensing package when needed. * moving restore to the top of the pipeline. * moving back, wrong stage * Fixed license filename * add nuget authenticate call * differnt connection * adding nuget config for build * avoid using licensing support in github / PR builds, which don't have access to the resources * update script to capture package version / name. * one missed check * Incorported feedback * udpdating nuget.config name to avoid conflicts. Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Incorporated feedback Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019) * Exclude CsWinRT.Dependency (#2021) * Bad merge fix missed copying main_license.xml to the testpackages directory (#2025) * Feature for sharing security descriptors (take 2) (#2005) * Initial * Working tests * WinRT implementation * Delay load both DLLS and perform full bootstrap setup. It works! * PR feedback * Wrap long lines * Merge in test package changes * Reworded a password prompt for clarity (#2035) * Remove 19h1 and add 21H1 to Helix test queue. (#2038) * Windows SDK version should match that of other projects (#2043) Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Moving Intellisense files to single location (#2028) * Moving Intellisense files to foundation repo * Moving Intellisense files into one location * Moving Intellisense files to internal repo Co-authored-by: Eric Johnson <ejohn@microsoft.com> * Reworded a password prompt for clarity (#2045) * Enable APIscan-friendly build options (#2050) * DynamicDependencies: support elevation (#2066) * Changed DynamicDependencies' mechanism to get ApplicationData for non-System definitions. Only use the PackagedCOM object when running in an AppContainer (where hopping to another process is necessary). Elevated (and MediumIL) can directly use ApplicationDataManager (a necessity for Elevation, a nicety for MediumIL) * New file * Remove elevated blockers. Fixup to work for elevation. Update elevation test to verify success (as expected) instead of failure (as previously expected) * Fixup DDLMShadow logging to not fail on timeout (WINDOWSAPPSDK_DDLM_SHUTDOWN and ..._CALLER_TERMINATED). Previously would crash because WIL faults if LOG_*() called with SUCCEEDED(hr), but this was the last thing in the process before exit so we didn't notice. Should change to alternative logging (Telemetry?) but need to check options before deciding which way to jump. Update will be coming * Add tests for Elevation * Add a missing comment * ignore failures button' * Revert "ignore failures button'" This reverts commit ef2c8ad0d976118b331bdda2f9a05be3ecd97d1f. * Add button to allow publishing even if there are test failures (#2070) * Update to FrameworkUDK 1.1.0-CI-22541.1001.220207-1139.1 (#2077) * Move CSWinRT to Toolset Dependencies in Version.Details.xml (#2084) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2202.10001 (#2092) Microsoft.WinAppSDK.EngCommon From Version 1.1.0-20220125.0-CI -> To Version 1.1.0-20220210.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Adding a non-async PowerNotificiations::EffectivePowerMode method (#2076) * Added EffectivePowerMode2 * Added EffectivePowerMode2 Co-authored-by: Huzaifa Danish <modanish@microsoft.com> * Update dependencies from https://github.com/microsoft/CsWinRT build 1.5.0.220207.5 (#2072) [main] Update dependencies from Microsoft/CsWinRT - Merge branch 'main' into darc-main-309a8238-dc1b-428e-92c2-4f38e8ba749a * Update AppLifecycle StateNotifications.md (#2103) Add EffectivePowerMode2 * Update to FrameworkUDK 1.1.0-CI-22541.1002.220217-1401.0 (#2141) * Update MSIX package names' spec to match actual 1.0 behavior (missed updating spec when we updated code for 1.0-stable) (#2104) Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Joshua Larkin <70237359+j0shuams@users.noreply.github.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> Co-authored-by: Ryan Shepherd <ryansh@microsoft.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Eric Johnson <ericjohnson327@gmail.com> Co-authored-by: Eric Johnson <ejohn@microsoft.com> Co-authored-by: Will Thant <kythant@microsoft.com> Co-authored-by: Huzaifa Danish <Huzaifa.Danish@microsoft.com> Co-authored-by: Huzaifa Danish <modanish@microsoft.com> Co-authored-by: andreww-msft <30507740+andreww-msft@users.noreply.github.com> * Fix AppNotification activation when no foreground handlers defined (#2147) * Fixed Toast activation w/o FG handlers * Update AppNotificationManager.cpp * Update AppNotificationManager.cpp * Update AppNotificationManager.cpp * Modify constructor for AppNotificationProgressData per API review (#2148) * Add ctor to take in sequenceId * Modify test case * Set AppProgressData to null by default and add null checks everywhere * Add a small comment for transient property * Add a missing macro check for failure * Address comments * Address more comments * Change EventArgs to Argument (#2182) * Refactor PushNotificationManager to hold event handlers (#2122) * Move pushHandlers to PushNotificationManager * Add exception if no com register * Update PushNotificationManager.cpp * Move statics to member variables * Update PushNotificationManager.cpp * Update PushNotificationManager.cpp * Only allow event handlers before register * Update PushNotificationManager.cpp * Remove PushNotificationActivationInfo (#2132) * Add constness to parameters (#2124) * Refactor AppNotificationManager and add firstNotificationReceived (#2119) * Refactor AppNotificationManager and add firstNotificationReceived * Address nits * Fix handler exception logic * FI main into feature branch WNP_ToastNotifications_L1 (#2123) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. * DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995) * TDBuild - updating localized resource files. * Add new font selection APIs to DWrite API spec (#1967) * Add new font selection APIs to DWriteCore API spec. * Add descriptions of font family models and font selection algorithms. * AppLifecycle Restart API (#1134) * Initial restart API branch * Formatting to code blocks * Updates to heading * Removed preamble * Updates to overview * Removing resources content * Updating restart spec with latest changes * Fixed summary * Updates to API details, mechanism and sample * run markdown prettifier * Updating mechanism * Updating formatting for consistency * Updates to return value description * Updates to spec after latest review * Prettified to match md guidelines, fixed nits Co-authored-by: Hamza Usmani <mousma@microsoft.com> * Initial RequestRestartNow API (#1882) * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * New test passes with API. * updated comment * Error handling changes and packaged code paths. * Removed unused tests, and added new test. * cleanup * transport packaging stuff * typo * Enable control flow guard for Release only. * PR feedback * Add ARM64 * Update to support packaged scenarios. This needs to be further scoped to only Desktop Bridge apps. * Detect UWP and redirect. * Reduce access usage. * Final API Name updates * Add MRTCore interface name and id (#1989) * Correct CsWinRTWindowsMetadata * WindowsSdkPackageVersion * Suffix * suffix only * 22 * Update * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Generate cert (#1986) * Update DevCheck to generate MSTest.pfx/.cer * Refactor temp handling. Add .user dir * Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil * Add -Remove-DevTestCert and -Remove-DevTestPfx * Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx * Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use * Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx * Update MSTest references * Start of changing NMAKEfiles to MSBuild * Add new file * MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects * 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts... * Tweaked the vcxproj to successfully create .msix via MakeMSIX! * Moved MakeMSIX.targets to the root (with other build files) * It works! Got the test projects building with the .pfx and .pwd * Rewiring test projects to use MakeMsix.targets instead of NMake * Yet more MakeMsix fixup * Fixed the package name * Added dummy Clean command (for now) * Fixed Deployment's test package where source files get put to different subdir+filename inside the msix * Fix DevCheck Start-Service to gracefully degrade if not running as admin * DeploymentTests were missing a build order dependency on BootstrapDLL project * Updated DevCheck generated cert to have 12-month lifespan (like current one) * Move Framework.* projects from makemsix.cmd to MakeMSIX.targets * Delete makemsix.cmd (obsolete) * Updated test projects to use static manifests instead of generated from a template (unnecessary complexity) * Deleted obsolete MakeAppxManifestFromTemplate.* * Removed obsolete manifest/template handling. Removed printfery debugging * Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error * Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr) * Deleted obsolete files * Replaced SolutionDir with RepoRoot * Rewrote installer's testpackage creation project to use MakeMSIX * Fixed naming inconsistencies * Addressed some issues. More to come * Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun * Fix bad merge * Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets * Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets * Updated projects to use the common RepoTestCertificate* * Removed obsolete and redundant <Error> check * Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late * Test WTH is going on * Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers * Add DevCheck support to RunTestsInHelix job * Merge/Port 1.0 license support into main/1.1 (#2012) * Update installer to support both publishing IDs used in App SDK. (#1759) * draft changes * fixing typo Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Added MSIX license support (#1783) * Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf) * Simplified help * Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install * It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting. * Add license support to Deployment API and a new InstallLicenses API (#1790) * Updated DeploymentManager to install license files if necessary * Add stubs for the InstallLicenseFile() methods * Change installer to install licenses BEFORE packages, for higher reliability * Copy the license header to the source tree to use whehn building via the pipeline] * Add Licensing API and export from Bootstrap'r * Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN * yml changes to pickup licensing package when needed. * moving restore to the top of the pipeline. * moving back, wrong stage * Fixed license filename * add nuget authenticate call * differnt connection * adding nuget config for build * avoid using licensing support in github / PR builds, which don't have access to the resources * update script to capture package version / name. * one missed check * Incorported feedback * udpdating nuget.config name to avoid conflicts. Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Incorporated feedback Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019) * Exclude CsWinRT.Dependency (#2021) * Bad merge fix missed copying main_license.xml to the testpackages directory (#2025) * Feature for sharing security descriptors (take 2) (#2005) * Initial * Working tests * WinRT implementation * Delay load both DLLS and perform full bootstrap setup. It works! * PR feedback * Wrap long lines * Merge in test package changes * Reworded a password prompt for clarity (#2035) * Remove 19h1 and add 21H1 to Helix test queue. (#2038) * Windows SDK version should match that of other projects (#2043) Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Moving Intellisense files to single location (#2028) * Moving Intellisense files to foundation repo * Moving Intellisense files into one location * Moving Intellisense files to internal repo Co-authored-by: Eric Johnson <ejohn@microsoft.com> * Reworded a password prompt for clarity (#2045) * Enable APIscan-friendly build options (#2050) * DynamicDependencies: support elevation (#2066) * Changed DynamicDependencies' mechanism to get ApplicationData for non-System definitions. Only use the PackagedCOM object when running in an AppContainer (where hopping to another process is necessary). Elevated (and MediumIL) can directly use ApplicationDataManager (a necessity for Elevation, a nicety for MediumIL) * New file * Remove elevated blockers. Fixup to work for elevation. Update elevation test to verify success (as expected) instead of failure (as previously expected) * Fixup DDLMShadow logging to not fail on timeout (WINDOWSAPPSDK_DDLM_SHUTDOWN and ..._CALLER_TERMINATED). Previously would crash because WIL faults if LOG_*() called with SUCCEEDED(hr), but this was the last thing in the process before exit so we didn't notice. Should change to alternative logging (Telemetry?) but need to check options before deciding which way to jump. Update will be coming * Add tests for Elevation * Add a missing comment * ignore failures button' * Revert "ignore failures button'" This reverts commit ef2c8ad0d976118b331bdda2f9a05be3ecd97d1f. * Add button to allow publishing even if there are test failures (#2070) * Update to FrameworkUDK 1.1.0-CI-22541.1001.220207-1139.1 (#2077) * Move CSWinRT to Toolset Dependencies in Version.Details.xml (#2084) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2202.10001 (#2092) Microsoft.WinAppSDK.EngCommon From Version 1.1.0-20220125.0-CI -> To Version 1.1.0-20220210.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Adding a non-async PowerNotificiations::EffectivePowerMode method (#2076) * Added EffectivePowerMode2 * Added EffectivePowerMode2 Co-authored-by: Huzaifa Danish <modanish@microsoft.com> * Update dependencies from https://github.com/microsoft/CsWinRT build 1.5.0.220207.5 (#2072) [main] Update dependencies from Microsoft/CsWinRT - Merge branch 'main' into darc-main-309a8238-dc1b-428e-92c2-4f38e8ba749a Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Joshua Larkin <70237359+j0shuams@users.noreply.github.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> Co-authored-by: Ryan Shepherd <ryansh@microsoft.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Eric Johnson <ericjohnson327@gmail.com> Co-authored-by: Eric Johnson <ejohn@microsoft.com> Co-authored-by: Will Thant <kythant@microsoft.com> Co-authored-by: Huzaifa Danish <Huzaifa.Danish@microsoft.com> Co-authored-by: Huzaifa Danish <modanish@microsoft.com> * Adding CS Projections to Toast Notifications (#2116) * Adding C# projections * arm configs aren't supposed to be set * missed a reference to push notifications * Need to publish the DLLs Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Retrieve Push/Toast Activator from registry (#2094) * Able to get both Push/Toast Activator from registry * Address comments and also remove unneccessary unittests as per new design * Implement pure Register function for AppNotifications Optimize unittests * Infer DisplayName and Icon * Address Comments * Nit: replace XML toast creation with hstring in demo app * Restore PushNotificationManager * Restore com guid in PushNotificationdemoapp * Update PushNotificationUtility.h * Update PushNotificationManager.cpp * Update PushNotificationManager.cpp * Update main.cpp * Mostly bug fixes on DisplayName/Icon logic * Fixing bad merge * Fixed bad throw check Co-authored-by: Venkata Sharath Chandra Manchala <vemancha@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Daniel Ayala <14967941+danielayala94@users.noreply.github.com> * Remove PushNotificationActivationInfo Co-authored-by: Pavan Hullumane <pavanh@microsoft.com> Co-authored-by: Paul Purifoy <33183370+pmpurifoy@users.noreply.github.com> Co-authored-by: eric langlois <email@ericlanglois.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Joshua Larkin <70237359+j0shuams@users.noreply.github.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> Co-authored-by: Ryan Shepherd <ryansh@microsoft.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Eric Johnson <ericjohnson327@gmail.com> Co-authored-by: Eric Johnson <ejohn@microsoft.com> Co-authored-by: Will Thant <kythant@microsoft.com> Co-authored-by: Huzaifa Danish <Huzaifa.Danish@microsoft.com> Co-authored-by: Huzaifa Danish <modanish@microsoft.com> Co-authored-by: Daniel Ayala <14967941+danielayala94@users.noreply.github.com> * Update PushNotificationManager.cpp * Add unit tests * Remove sink registration from PushReceived * 1.Address minor comments 2.Use exclusive locks to lock member variables * Remove foregroundsink for unpackaged applications in Unregister * Refactor Register flow * Lock RegisterSinkHelper * More changes to Register * Update PushNotificationManager.cpp * Rename m_protocolRegistration ->m_lrpRegistration * Implement Unregister APIs for PushNotificationManager (#2152) * Change error codes and move registering to member * Addressing comments * Add unittests (#2177) * Rename Unittests * Remove helpers (#2180) * Remove helpers * Update PushNotificationManager.cpp * Update PushNotificationManager.cpp * Update PushNotificationManager.cpp * Revamp Unregister/UnregisterAll in PushNotificationManager (#2179) * Revamp Unregister/UnregisterAll in PushNotificationManager * Address minor comments * Rename m_singletonBackgroundRegistration to m_singletonLongRunningSinkRegistration * Remove Multiple Channel request unittest * Resolving more comments Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Pavan Hullumane <pavanh@microsoft.com> Co-authored-by: eric langlois <email@ericlanglois.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Joshua Larkin <70237359+j0shuams@users.noreply.github.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> Co-authored-by: Ryan Shepherd <ryansh@microsoft.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Eric Johnson <ericjohnson327@gmail.com> Co-authored-by: Eric Johnson <ejohn@microsoft.com> Co-authored-by: Will Thant <kythant@microsoft.com> Co-authored-by: Huzaifa Danish <Huzaifa.Danish@microsoft.com> Co-authored-by: Huzaifa Danish <modanish@microsoft.com> Co-authored-by: Daniel Ayala <14967941+danielayala94@users.noreply.github.com> Co-authored-by: Venkata Sharath Chandra Manchala <vemancha@microsoft.com> * Remove the Handled property from PushNotificationReceivedEventArgs * Remove unused m_args and using a shared lock to protect reads to the foreground hanlers instead of the exlusive one. * FI main into WNP_ToastNotifications_L1 (#2189) * Enable SBOM generation for WindowsAppSDK (#1979) * TDBuild - updating localized resource files. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * TDBuild - updating localized resource files. * DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995) * TDBuild - updating localized resource files. * Add new font selection APIs to DWrite API spec (#1967) * Add new font selection APIs to DWriteCore API spec. * Add descriptions of font family models and font selection algorithms. * AppLifecycle Restart API (#1134) * Initial restart API branch * Formatting to code blocks * Updates to heading * Removed preamble * Updates to overview * Removing resources content * Updating restart spec with latest changes * Fixed summary * Updates to API details, mechanism and sample * run markdown prettifier * Updating mechanism * Updating formatting for consistency * Updates to return value description * Updates to spec after latest review * Prettified to match md guidelines, fixed nits Co-authored-by: Hamza Usmani <mousma@microsoft.com> * Initial RequestRestartNow API (#1882) * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * Initial API signature * snap for driving home * RestartAgent basic build infra * builds now * Updates to the calling API and the restartagent. * switch to using common implementation of IsPackagedProcess()/HasIdentity() * update * New test passes with API. * updated comment * Error handling changes and packaged code paths. * Removed unused tests, and added new test. * cleanup * transport packaging stuff * typo * Enable control flow guard for Release only. * PR feedback * Add ARM64 * Update to support packaged scenarios. This needs to be further scoped to only Desktop Bridge apps. * Detect UWP and redirect. * Reduce access usage. * Final API Name updates * Add MRTCore interface name and id (#1989) * Correct CsWinRTWindowsMetadata * WindowsSdkPackageVersion * Suffix * suffix only * 22 * Update * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018) Microsoft.WinAppSDK.EngCommon From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Generate cert (#1986) * Update DevCheck to generate MSTest.pfx/.cer * Refactor temp handling. Add .user dir * Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil * Add -Remove-DevTestCert and -Remove-DevTestPfx * Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx * Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use * Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx * Update MSTest references * Start of changing NMAKEfiles to MSBuild * Add new file * MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects * 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts... * Tweaked the vcxproj to successfully create .msix via MakeMSIX! * Moved MakeMSIX.targets to the root (with other build files) * It works! Got the test projects building with the .pfx and .pwd * Rewiring test projects to use MakeMsix.targets instead of NMake * Yet more MakeMsix fixup * Fixed the package name * Added dummy Clean command (for now) * Fixed Deployment's test package where source files get put to different subdir+filename inside the msix * Fix DevCheck Start-Service to gracefully degrade if not running as admin * DeploymentTests were missing a build order dependency on BootstrapDLL project * Updated DevCheck generated cert to have 12-month lifespan (like current one) * Move Framework.* projects from makemsix.cmd to MakeMSIX.targets * Delete makemsix.cmd (obsolete) * Updated test projects to use static manifests instead of generated from a template (unnecessary complexity) * Deleted obsolete MakeAppxManifestFromTemplate.* * Removed obsolete manifest/template handling. Removed printfery debugging * Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error * Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr) * Deleted obsolete files * Replaced SolutionDir with RepoRoot * Rewrote installer's testpackage creation project to use MakeMSIX * Fixed naming inconsistencies * Addressed some issues. More to come * Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun * Fix bad merge * Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets * Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets * Updated projects to use the common RepoTestCertificate* * Removed obsolete and redundant <Error> check * Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late * Test WTH is going on * Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers * Add DevCheck support to RunTestsInHelix job * Merge/Port 1.0 license support into main/1.1 (#2012) * Update installer to support both publishing IDs used in App SDK. (#1759) * draft changes * fixing typo Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Added MSIX license support (#1783) * Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf) * Simplified help * Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install * It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting. * Add license support to Deployment API and a new InstallLicenses API (#1790) * Updated DeploymentManager to install license files if necessary * Add stubs for the InstallLicenseFile() methods * Change installer to install licenses BEFORE packages, for higher reliability * Copy the license header to the source tree to use whehn building via the pipeline] * Add Licensing API and export from Bootstrap'r * Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN * yml changes to pickup licensing package when needed. * moving restore to the top of the pipeline. * moving back, wrong stage * Fixed license filename * add nuget authenticate call * differnt connection * adding nuget config for build * avoid using licensing support in github / PR builds, which don't have access to the resources * update script to capture package version / name. * one missed check * Incorported feedback * udpdating nuget.config name to avoid conflicts. Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Incorporated feedback Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> * Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019) * Exclude CsWinRT.Dependency (#2021) * Bad merge fix missed copying main_license.xml to the testpackages directory (#2025) * Feature for sharing security descriptors (take 2) (#2005) * Initial * Working tests * WinRT implementation * Delay load both DLLS and perform full bootstrap setup. It works! * PR feedback * Wrap long lines * Merge in test package changes * Reworded a password prompt for clarity (#2035) * Remove 19h1 and add 21H1 to Helix test queue. (#2038) * Windows SDK version should match that of other projects (#2043) Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Moving Intellisense files to single location (#2028) * Moving Intellisense files to foundation repo * Moving Intellisense files into one location * Moving Intellisense files to internal repo Co-authored-by: Eric Johnson <ejohn@microsoft.com> * Reworded a password prompt for clarity (#2045) * Enable APIscan-friendly build options (#2050) * DynamicDependencies: support elevation (#2066) * Changed DynamicDependencies' mechanism to get ApplicationData for non-System definitions. Only use the PackagedCOM object when running in an AppContainer (where hopping to another process is necessary). Elevated (and MediumIL) can directly use ApplicationDataManager (a necessity for Elevation, a nicety for MediumIL) * New file * Remove elevated blockers. Fixup to work for elevation. Update elevation test to verify success (as expected) instead of failure (as previously expected) * Fixup DDLMShadow logging to not fail on timeout (WINDOWSAPPSDK_DDLM_SHUTDOWN and ..._CALLER_TERMINATED). Previously would crash because WIL faults if LOG_*() called with SUCCEEDED(hr), but this was the last thing in the process before exit so we didn't notice. Should change to alternative logging (Telemetry?) but need to check options before deciding which way to jump. Update will be coming * Add tests for Elevation * Add a missing comment * ignore failures button' * Revert "ignore failures button'" This reverts commit ef2c8ad0d976118b331bdda2f9a05be3ecd97d1f. * Add button to allow publishing even if there are test failures (#2070) * Update to FrameworkUDK 1.1.0-CI-22541.1001.220207-1139.1 (#2077) * Move CSWinRT to Toolset Dependencies in Version.Details.xml (#2084) * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2202.10001 (#2092) Microsoft.WinAppSDK.EngCommon From Version 1.1.0-20220125.0-CI -> To Version 1.1.0-20220210.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Adding a non-async PowerNotificiations::EffectivePowerMode method (#2076) * Added EffectivePowerMode2 * Added EffectivePowerMode2 Co-authored-by: Huzaifa Danish <modanish@microsoft.com> * Update dependencies from https://github.com/microsoft/CsWinRT build 1.5.0.220207.5 (#2072) [main] Update dependencies from Microsoft/CsWinRT - Merge branch 'main' into darc-main-309a8238-dc1b-428e-92c2-4f38e8ba749a * Update AppLifecycle StateNotifications.md (#2103) Add EffectivePowerMode2 * Update to FrameworkUDK 1.1.0-CI-22541.1002.220217-1401.0 (#2141) * Update MSIX package names' spec to match actual 1.0 behavior (missed updating spec when we updated code for 1.0-stable) (#2104) * Publish all BuildOutput as a pipeline artifact, to enable running additional tests in the future. (#2149) * Publish all of the build output as an artifact. * Use Pipeline artifacts instead. * Attempt downloading the pipeline BuildOutput artifact in the Helix tests. * Apparently we can't have multiple pipeline artifacts. * Fix * Fix filtering. * They are reversed. * Folders inside folders. * Sigh. * Comments * Remove old method. * Remove debug output. * Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2202.25001 (#2181) Microsoft.WinAppSDK.EngCommon From Version 1.1.0-20220210.0-CI -> To Version 1.1.0-20220225.0-CI Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * IsSelfContained() (#2135) * Add detection if WinAppSDK is deployed via MSIX or SelfContained * Tweaked IsSelfContained to use C++ constant for the framework packagefamilyname * Added placeholder for dev docs how to detect/use IsSelfContained. Details coming in next commit * Fixed IsSelfContained to use GetCurrentPackageGraph (as intentded. Doh! on my part) * Added tests for IsSelfContained (and ToUtf8/16! Fixed an infinite recursion stack overflow bug too :-) * Added docs. Partially fixed SelfContained package family name (handles 2 out of 3 cases). 3rd case in follow up PR * Changed IsSelfContained() from inline code to exported function * Fixed tests * Added TestShutdown. Updated the docs. Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Joshua Larkin <70237359+j0shuams@users.noreply.github.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> Co-authored-by: Ryan Shepherd <ryansh@microsoft.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: Eric Johnson <ericjohnson327@gmail.com> Co-authored-by: Eric Johnson <ejohn@microsoft.com> Co-authored-by: Will Thant <kythant@microsoft.com> Co-authored-by: Huzaifa Danish <Huzaifa.Danish@microsoft.com> Co-authored-by: Huzaifa Danish <modanish@microsoft.com> Co-authored-by: andreww-msft <30507740+andreww-msft@users.noreply.github.com> Co-authored-by: Jeff Genovy <29107334+jefgen@users.noreply.github.com> * install Windows SDK in build MRT (#2193) (#2194) * install Windows SDK in build MRT * use .net 4.7.2 * add isolation * elevation * catch in cleanup * retry Co-authored-by: Hui Chen <hui.chen@live.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> * Address Bug in Registry access Read/Write operations (#2203) * Fix some issues with incorrect REgistry API usage * AppxManifest changes for AppNotifications * Remove redundant activatable class for ProgressData * Addressing nits * Address nits in AppNotificationManager * Addressing nits * Addressing nits * Add VT_LPWSTR check * Add OnToastNotificationReceived to PushManager * Added default toast icon, if not provided * Add Public API spec for Toast Notifications (#1675) * Add Public API spec for Toast Notifications * Some more smaller changes * Address more comments * Final PR modifications * Minor change * Update main.cpp * Revert "Added default toast icon, if not provided" This reverts commit 7e76bf88b181a6fe54fb442a6b4e37104b855b05. * Rename the App Notifications spec and move it to the correct directory * Addressing nits * Update PushNotifications-spec.md (#2196) * Update PushNotifications-spec.md * Update PushNotifications-spec.md * Update PushNotifications-spec.md Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com> Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com> Co-authored-by: Howard Kapustein <howardk@microsoft.com> Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com> Co-authored-by: Eric Langlois <erlangl@microsoft.com> Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com> Co-authored-by: Niklas Borson <niklasb@microsoft.com> Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com> Co-authored-by: Hamza Usmani <mousma@microsoft.com> Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com> Co-authored-by: Hui Chen <huichen@microsoft.com> Co-authored-by: Ben Kuhn <bjk4929@yahoo.com> Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com> Co-authored-by: Paul Purifoy <33183370+pmpurifoy@users.noreply.github.com> Co-authored-by: Daniel Ayala <14967941+danielayala94@users.noreply.github.com> Co-authored-by: Joshua Larkin <70237359+j0shuams@users.noreply.github.com> Co-authored-by: Ryan Shepherd <ryansh@microsoft.com> Co-authored-by: Eric Johnson <ericjohnson327@gmail.com> Co-authored-by: Eric Johnson <ejohn@microsoft.com> Co-authored-by: Pavan Hullumane <pavanh@microsoft.com> Co-authored-by: Will Thant <kythant@microsoft.com> Co-authored-by: Huzaifa Danish <Huzaifa.Danish@microsoft.com> Co-authored-by: Huzaifa Danish <modanish@microsoft.com> Co-authored-by: Venkata Sharath Chandra Manchala <vemancha@microsoft.com> Co-authored-by: David Quero Lopez <dlopez@microsoft.com> Co-authored-by: andreww-msft <30507740+andreww-msft@users.noreply.github.com> Co-authored-by: Jeff Genovy <29107334+jefgen@users.noreply.github.com> Co-authored-by: Hui Chen <hui.chen@live.com>
2022-03-10 04:58:00 +03:00
#include "Microsoft.Windows.AppNotifications.AppNotification.g.h"
namespace winrt::Microsoft::Windows::AppNotifications::implementation
{
class IAppNotificationInternal
{
public:
virtual void SetNotificationId(uint32_t id) = 0;
};
struct AppNotification : AppNotificationT<AppNotification, IAppNotificationInternal>
{
AppNotification() = default;
AppNotification(hstring const& payload);
hstring Tag();
void Tag(hstring const& value);
hstring Group();
void Group(hstring const& value);
uint32_t Id();
hstring Payload();
winrt::Microsoft::Windows::AppNotifications::AppNotificationProgressData Progress();
void Progress(winrt::Microsoft::Windows::AppNotifications::AppNotificationProgressData const& value);
winrt::Windows::Foundation::DateTime Expiration();
void Expiration(winrt::Windows::Foundation::DateTime const& value);
bool ExpiresOnReboot();
void ExpiresOnReboot(bool value);
winrt::Microsoft::Windows::AppNotifications::AppNotificationPriority Priority();
void Priority(winrt::Microsoft::Windows::AppNotifications::AppNotificationPriority const& value);
bool SuppressDisplay();
void SuppressDisplay(bool value);
// IAppNotificationInternal
void SetNotificationId(uint32_t id);
private:
winrt::hstring m_tag{};
winrt::hstring m_group{};
uint32_t m_notificationId{ 0 };
winrt::hstring m_payload{};
winrt::Microsoft::Windows::AppNotifications::AppNotificationProgressData m_progressData{ nullptr };
winrt::Windows::Foundation::DateTime m_expirationTime{};
bool m_expiresOnReboot{ false };
winrt::Microsoft::Windows::AppNotifications::AppNotificationPriority m_priority
{ winrt::Microsoft::Windows::AppNotifications::AppNotificationPriority::Default };
bool m_suppressDisplay{ false };
wil::srwlock m_lock;
};
}
namespace winrt::Microsoft::Windows::AppNotifications::factory_implementation
{
struct AppNotification : AppNotificationT<AppNotification, implementation::AppNotification>
{
};
}