Граф коммитов

12 Коммитов

Автор SHA1 Сообщение Дата
Eric Johnson 5372c81a50
Find/replace of copyright header strings with CELA guidance (#2857)
* Find/replace of copyright header strings with CELA guidance

* Update the copyright script

Co-authored-by: Eric Johnson <ejohn@microsoft.com>
2022-08-16 13:24:48 -07:00
Ryan Shepherd fd31541e58
Add AppLifecycle contract (#2292) 2022-03-21 19:23:42 -07:00
eric langlois f5b6b6a186
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 a981a1e05c.

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 a981a1e05c.

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 a981a1e05c.

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 a981a1e05c.

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 a981a1e05c.

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 a981a1e05c.

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 a981a1e05c.

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 a981a1e05c.

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 a981a1e05c.

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 a981a1e05c.

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 ef2c8ad0d9.

* 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 a981a1e05c.

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 ef2c8ad0d9.

* 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 ef2c8ad0d9.

* 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 ef2c8ad0d9.

* 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 ef2c8ad0d9.

* 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 7e76bf88b1.

* 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-09 17:58:00 -08:00
Scott Darnell c9e6cd1037
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
2022-01-20 12:47:17 -08:00
Scott Darnell a9a0f811e4
Remove experimental tag from AppLifecycle feature. (#1517) 2021-10-01 19:49:21 +00:00
Paul Purifoy 71fad8337a
Push Notifications Feature PR to WindowsAppSDK (#969)
* Push Notifications Components

* Fixed AppLifecycle packager build files

* Push Notifications Components

* Revert AppLifecycle build files

* [Draft] Add PushNotifications unit tests (#821)

* Add unittests

* Added Background activation tests

* Quick Clean up

* Fixed Activator tests

* Address comments for channel request unittests

* Addressed PR comments for activation

* Close channel after every test pass

* Added build updates

* Update Package.appxmanifest

* Update Package.appxmanifest

Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>

* Added PushNotification classes to NuSpecs

* Fix some PR comments surrounding background activation

* I spoke with Paul offline and am pushing these changes to help him along this path.  This change updates the PushNotifications argument parsing to utilize the encoded launch factory pattern used by the other argument types.

* Fixed Debug builds build-break.  Fixed debug tests so they run and succeed.  Fixed a bunch of dependency issues in the solution that cause a lot of issues when trying to iterate on test failures.

* Address comments for channel request

* Add experimental tag to the runtimeclasses

* Fixed a bug in my last change.

* Removed static handlers and a fixed a few nits

* Fixed some more nits

* Added some nit fixes

* Replace Kind -> Option

* Added cleanup to TAEF test

* Address comments for createchannelasync

* Added more coverage with unit tests

* Changed global event args var with COM static store approach

* Removed global lock

* Support concurrency in channel request API

* Remove unused unittests

* Addressed feedback in Background Activation impl code

* Addressed corner case where we returned nullptr if the task was already registered

* Removed global events -> parent/child testing with exit code

* Add package install with version / arch

* Added multiple background activation test

* PR feedback

Co-authored-by: Raymond Chen <oldnewthing@users.noreply.github.com>

* PR Feedback

Co-authored-by: Raymond Chen <oldnewthing@users.noreply.github.com>

* PR Feedback

Co-authored-by: Raymond Chen <oldnewthing@users.noreply.github.com>

* PR Feedback

* Address PR comments

* Fixed Debug unit tests

* Added nuget build files

* Removed unnecessary Create functions from IDL

* Added multiple channel close test

* Implement LockServer

* Fixing nits

* Added test app changes

* Fix unregister token

* Fix nits in createchannelasync API

* Addressed comments mostly on Background Activation and the IDL

* Refactored unregistering tokens

* Addressed last comments

* Add .Windows to Application model

* Fixed unit test nits

* fix nits

* Fixed appmanifests and nits

* Removed Debug_test/ARM from PR.sln

* Replaced global event with global getter and removed a throw macro

* Adding ARM64 support

* Fixed build break - Removed unnecessary dependencies in PR.sln

Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Daniel Ayala <joayalag@microsoft.com>
Co-authored-by: Raymond Chen <oldnewthing@users.noreply.github.com>
Co-authored-by: Daniel Ayala <danielayala94@hotmail.com>
2021-06-24 11:45:26 -07:00
Howard Kapustein 2d01661174
Add [experimental] tags to DynamicDependencies + AppLifecycle WinRT APIs (#840) 2021-05-19 10:25:14 -07:00
Scott Darnell daa23f77dd
AppInstancing feature (#772)
* test updates

* Update versioning for DDLM since my changes delay load the call

* Initial instancing implementation (pre-cleanup).

* update the namespace

* Rename the activationarguments per api review.

* cleanup

* initial queue implementation

* Saving off progress towards internal value marshaling.

* RedirectActivationTo is now Async.
Centennial tests now pass.

* remove comment

* fix up bad merge

* Updated data type names to match the rest of the project and their file.

* more renames and a comment update

* updated some consts to be named

* Delete ProjectReunion.sln.orig

* Delete ActivationRegistrationManager.cpp.orig

* Delete AppInstance.cpp.orig

* Delete AppInstance.h.orig

* Delete AppLifecycle.idl.orig

* Delete AppLifecycle.vcxitems.orig

* Delete ExtensionContract.h.orig

* Delete pch.h.orig

* Delete main.cpp.orig

* Delete ManualTestApp.vcxproj.orig

* Delete InstanceList.h.orig

* Delete ProtocolActivatedEventArgs.h.orig

* Delete RedirectionRequest.cpp.orig

* Delete RedirectionRequest.h.orig

* Delete RedirectionRequestQueue.h.orig

* Delete shared_memory.h.orig

* Delete ProjectReunion_BootstrapDLL.vcxproj.orig

* Delete ProjectReunion_DLL.vcxproj.orig

* Delete DynamicDependency.DataStore.vcxproj.orig

* Delete packages.config.orig

* Delete APITests.cpp.orig

* Delete pch.h.orig

* Delete AppLifecycle.vcxproj.orig

* Delete FunctionalTests.cpp.orig

* Delete packages.config.orig

* Delete DynamicDependency_Test_Win32.vcxproj.orig

* Delete DynamicDependency_Test_WinRT.vcxproj.orig

* Delete AppLifecycleTestApp.vcxproj.orig

* Delete Helpers.cpp.orig

* Delete SingleInstanceTest.cpp.orig

* Delete main.cpp.orig

* Delete pch.h.orig

* Delete packages.config.orig

* PR feedback

* pr feedback

* pr feedback

* pr feedback

* pr feedback

* use const& more when possible.

* PR feedback

* PR feedback

* pr feedback

* pr feedback around namespaces

* more pr feedback

* pr feedback

* updating file paths for a build break

* more build breaks

* break

* more build breaks

* break

* release only build breaks

* file path fix
2021-05-10 15:13:43 -07:00
Scott Darnell 91dc45c548
Startup activations, AppLifecycle updates, and activations. (#454)
* Initial StartupTask feature support.

* Update arg resolution to use Uri and protocol launch as the transport for the data.

* Initial files for delegate execute
Update names and add test.
Update to use AppUserModelId instead of ProgId.

* remove dupes from merge

* fixups

* fix merge problem with parameter ordering, and make the applifecycle test dependent upon the MSIX packages.

* Removing unneeded debugging code

* Moved install & uninstall of packaged dependencies to be executed at the test class level.
Removed unneeded unpackaged COM registration code.
Fixed test code to use the platform to determine the DLL module path of the current code.
Merged the AppLifecycle tests to be one project.
Made the test helper functions inline so as to avoid symbol redefinition errors.
Renamed the test namespace used for AppLifecycle tests.
2021-03-10 21:11:19 -08:00
Howard Kapustein e86588b528
MSIX Dynamic Dependencies (#393)
* Added initial skeleton of DynamicDepedencies Flat-C APIs

More expansive skeleton. Fixed some build errors

Updated per API Review

Updated to match API changes

Updated per spec

Restructured DynDep API + Test layout

New dyndep dirs

Added WinRT API. Skeleton, but get past the project-isms. Compiles clean!

Changed /W3 to /W4

Implemented most of the WinRT API

Removed CreateForUser as WinRT has no Windows.System.User to SID conversion :-(

Removed CreateForUser

Added ProjectReunion_BootstrapDLL

Added MIDL generated .h file

Added Detours

Added README.md to track when we forked Detours (since they don't provide a nuget package or like artifact we can cleanly consume)

Fixed build configurations. Tests don't build for ARM64 due to CppTest not supporting ARM64, otherwise should all be good now

Started filling out e.g. Detours initialization for ProjectReunion_DLL. Almost ready to start some testing

Added wil::DLLMain() calls to ProjectReunion_[Boostrap]DLL projects

Forgot to add new dllmain.cpp. Moved ProjectReunion_BootstrapDLL project under dev in ProjectReunion.sln's view (no change to filesystem layout)

Added test Framework packages

Got MakeMSIX working!

An absolute path sneaked into the sln. Fixed

Incorporated feedback

Moved makemsix.cmd to the tools directory

Updated makemsix.cmd to also sign the generated package

Adding tests for Bootstrap API

Added Main.Sidecar test project

Added Main.Sidecar package for testing. Updating Bootstrap API to find the framework via a dependency of the package providing the LifetimeManager implementation (e.g. Main.Sidecar). Minor build-ism/makefile (well, vcxproj) corrections

Added comment about the LifetimeManager's implementation

Fixed absolute-ish relative path that snuck in (must have been inserted via VS' Add dialog)

Fixed absolute-ish path the snuck into the .sln

Simplified nested namespace statements

Incorporated feedback

Update Main.Sidecar's appxmanifest with COM registration info and other minor corrections

Fixed header filename

Simplified namespace'ing syntax

Incorproated feedback

Moved implementation bits into MddCore namespace. Pulled remaining code and pseudocode from spec. Marked work to come with TODO, often pseudocode blocked in #if defined(TODO_Stuff)...#endif so as not to break the build; will be revised shortly as I finish the implementation and light up tests

Added FAILFAST checks in MddBootstrapInitialize() to detect multiple initialization

Added missing end-tag

Fixed Main.Sidecar's manifest and logos. Updated makemsix.cmd to copy Assets\* if exists, and make logo.png optional (should have one or the other, but probably not both)

Started to exceptionalize error handling; more to come. Bootstrap test framing in place. But...Main.Sidecar manifest creation fails because there's no typelib :-( More vcxproj hackery needed...

Added message loop to Main.Sidecar exe to solve the need-to-live-until-told-to-quit problem. Removed typelib from appxmanifest as unnecessary

Removed leftover end-tag in appxmanifest.xml

Manifest tweaks. Added Main.Sidecar2 as a WRL alternative to Main.Sidecar, which is incomplete as you can't make a pure C++/WinRT OOP Server today you need a hybrid of C++/WinRT plus WRL; Main.Sidecar's incomplete; ignoring for now while focusing on getting Sidecar2 working. Build fails because the manifest can't find the proxystub dll. The project needs to be split into 3 -- make exe, make proxystub dll, make msix

Added Main.Sidecar3*. ProxyStub mostly in place (needs dlldata.c?). More to come

Main.Sidecar3 progress

Closer to working - Main.Sidecar3.exe looks almost right

More tweaks. Almost ther

Fiddling with msix makefile. Need more structural changes

It's alive! Aliiiiiive! Cleaned up Main.Sidecar variants.

Added new files missed in previous commit

Bootstrap test almost working! Did some HRESULT->Exception conversion; more to come

Force out test thread to be MTA despite CppUnitTest 'conveniently' initializing us as STA

First blood! ShutdownWithoutInitialize() passes! And there was much rejoicing

Updated Main.Sidecar's PackagedCOM OOP Server. It works (at last)! Minor related improvements. More to come

Add .def file for the Main.Sidecar's exe

Incorporated a stand-in for ProjectReunion's Framework package so we can test the Bootstrap API before the (real) framework package is created

Small tweaks per testing

More code cleanup. Bootstrap tests pass!

Added TODOs for follow up

DUpdated samples to match API

Added DynDep tests against current API implementation (e.g. return E_NOTIMPL); update coming with API implementation. Worked out test environment issues where we need packages for product code but don't have packages with locally built binaries like real product code (chicken/egg problems).

Changed Detours initialization to FAIL_FAST if anything goes wrong. Keeping HRESULT return for future extensibility so callers are prepared to handle it

Implement dynamic package graph

Lit up Create+Delete

Dialed down the chattiness of nmake projects

Fixed up more build errors

Checkingpoint

Fixed compile errors

More checkpointing

Add DataStore

Cleaned up build warnings. Incorporated DataStore into the UT

Implemented GetApplicationData

Fixed and enhanced tests. Fixed runtime. It works. Wow. It's aliiiive....

More verification in tests. Remove leaves an extra ';', need to fix

Fixed UpdatePath to produce the same PATH after Add+Remove (i.e. same as when we started)

Changed Framework.Math.* packages to be trivial Win32 compiled dlls w/no dependencies (save for kernel32.dll) to simplify testing

Added Detour'ing functions when ProjectReunion.dll is loaded (DllMain). Fixed Detour'd GetCurrentPackageInfo* to work as expected (bit fiddling is fun for the whole family!). Expanded verifications to include the package graph (GetCurrentPackageInfo*)

Fixed test to properly #include Math.*.h

Expanded tests to verify Add(ProjectReunion) works as expected

Test refinments

Generate context ids. Extend tests to a 2-fwk scenario

Partial DataStore support

Expanded the test suite. Fixed some warnings

Expanded test suite. Validating

Cleaned up some old style syntax

Fixed warnings. Fixing lifetimeKind=FilePath|RegistryKey expiry. Revised the no-static-package-graph detection

Expanded the test suite. All tests pass!

Remvoed obsolete comment

Updated per rebase

Fixed warnings only visible in Release builds. Fixed some build issues in some flavors; working on the rest

Partial vcxproj/Build fixes - x64=OK. ARM=Fail because MIDL generates #if defined(_ARM_) but VC++ defines _M_ARM_; should we just /D_ARM_ for ARM builds? ARM64=Fail because of some problem in dlldata.c. x86=Fail because 'LNK2001unresolved external symbol _ObjectStublessClient3' in the DynamicDependency.DataStore.ProxyStub project; need to #define something (_MERGE_PROXYSTUB)? Discussing with folks who know more

Removed MinimumTargetSystem=NT100 to fix the ObjectStublessClient problem; defaults to NT60 which 'doesn't need to link with ole32 for ObjectStublessClient'. How cryptic

LifetimeKind=RegistryKey didn't properly detect if a regkey was missing vs error (outofmemory, etc)

Fixed incorrect calling convention on Detour'd functions. x86 tests detected; x64 and compiler didn't

Start of DynamicDependencyLifetimeManager - create DDLM based on Main.Sidecar

Added appextension to DDLM manifest

Fixed ProjectReunion_BootstrapDLL to use MIDL output per-configuration/architecture (not checked in an shared across)

Revised Bootstrap API to support hunt for DDLM. Refactored VS projects to play nice (gah!). Now to update the tests to match

Bootstrap tests pass! TODO: Update other tests to match and cleanup

Fixed Win32 test syntax

Fixed test (fake) Reunion framework version to be >= test LifetimeManager <sheepish grin>. Twewaking tests to play nice with DDLM

Updated Create_Add_Architectures_Current test. Streamlined bootstrap logic

More test update sync for DDLM. Likewise updated some project references

More test sync-up-age for DDLM

Changed some old HRESULT-error based code to exceptions

More exception-ification

Removed the Main.Sidecar test projects/artifacts (superseded/formalized as the DDLM)

Removed some debugging hackery

Revamped WinRT tests for parity with Win32's more extensive tests

Fixed an inverted log message check

Added MddGetIdForPackageDependencyContext() so WinRT API could work, and generally useful for debugging, troubleshooting and testability. Implemented ScopeIsSystem. Cleanup up some leftover cruft

* Preparing to remove obsolete skeletal samples

* VS updated the sln after loading

* Removed dead entry leftover from a prior bad merge

* Added start of UndockedRegFreeWinRT to ProjectReunion_DLL

* Reworked URFW #includes to cull out redudancies and consolidate with ProjectReunion existing plumbing. Switched the few WRL uses to WIL

* Incorproated URFW's DllMain setup logic. Reverted ComPtr usage to minimize forkage. Baseline looks good as a URFW-fork. Now to add AppxManifest.xml support and test

* Reworking WinRT support to better fit with Mdd + URFW architectures

* Parse appxmanifest.xml for WinRT inproc servers

* Added slightly improved error reporting to makemsix.cmd

* Grabbed updated test cert

* WinRT support in progress but running into reentrancy issues. Need to refactor the WinRT data to be independent of the PackageGraph data (can't lock non-reentrant mutex and call GetActivationFactory which in turn does a GetActivationFactory and grab the lock already locked...

* Reworking WinRT support to avoid reentrancy problems

* Checkpointing while revising the WinRT support

* Corrected AppxManifest parsing and cleaned up some error reporting

* Tweaked error logging to avoid false spew to the debug output

* Updated appxmanifest parsing to produce absolute filenames (not package-relative) as needed for use at runtime

* Fix WinRT not passing down lifetimeArtifact

* Fixed PSID user support. Fixed WinRT's GetFromId(). Added WinRT's missing GetFromIdForSystem() to complement GetFromId() to match Create+CreateForSystem. Fixed some glitches in the WinRT test code. WinRT tests are passing!

* Small fix in text code. Something's wrong with the exception throw/catch/something causing process termination in Test::DynamicDependency::Test_WinRT::Create_RegistryLifetime_NoExist and Test::DynamicDependency::Test_WinRT::Create_FileLifetime_NoExist, but I don't see what. Will ping some folks in the morning

* Doh! Catching hresult_error, not hresult! Tests now pass as expected. Huzzah!

* Removed or fixed up some dated comments. Added thread safeto to WinRTModuleManager.

* Updated WinRTPInprocModule.Load handling of m_dll to be threadsafe. Fixed GetActivationLocation to NOT override inbox (Windows.*) namespaced types - aside from the obvious badness, it also results in deadlock during MddBootstrapInitialize() as that needs Windows.Management.Deployment.PackageManager to find the DDLM packages to choose from

* Switched PackageGraphNode to use MDD_PACKAGEDEPENDENCY_CONTEXT instead of wil::unique_package_dependency_context to avoid redundant reentrancy foolishness - when we're inside MddRemovePackageDependency should should be using the WIL smart type where its destructor calls MddRemovePackageDependency... The WIL type is for use OUTSIDE the DynamicDependencies implementation, not inside it. Sheepish grin :P

* Fixed a lock reentrancy error

* Updated spec with DDLM info

* Incorporated feedback

* Incorporated feedback

* TAEF and CppUnitTest can't both be used by a project (incompatible definitions) and CppTest project uses TAEF. Removed the unnecessary CppUnitTest header from CppTest's pch.h

* Fixed build break by removing OutDir in Release|x64 flavor of DynamicDependencyLifetimeManager.ProxyStub project (no other flavor specifies this)

* Fix IDynamicDependencyLifetimeManager's Makefile.mak support for Win32 (aka x86)

* Fixed ARM builds. Partially fixed ARM64 builds (less broken; something still very wrong)

* Added References to Framework.Math.Add/Multiply projects so DynDep Test_Win32/WinRT ensure correct build order (fix failures on github CI/pipeline)

* Removed dead commented code (leftover from earlier debugging)

* Fixed a typo

* Fixed AppLifecycle namespace. Fixed project references/dependencies to not (falsely) need or try to use Microsoft.ProjectReunion.winmd

* Minor correction of test MSIX manifests

* Fixed a regression in Add. Updated Remove to ignore context=null (just like Delete ignores id=null) - NOOP rather than error

* Added #include <appmodel.h> to MddBootstrap.h to make it more self-contained

* Wired up AppLifecycleTests for Dynamic Dependencies! Genericized (and TAEF'd) the DynDep/Bootstrap test plumbing for reuse across TAEF tests; see inc\ProjectReunion.Test.*.h. Most AppLifecycleFunctionalTests pass - GetACtivatedEventArgsIsNull, GetActivatedEventArgsForProtocol_Win32 and GetActivatedEventArgsForFile_Win32 fail because AppLifecycleTestApp.exe can't find the bootstrapper. Supposed to be in the directory next to the exe; probably something wrong in AppLifecycleTestApp.vcxproj

* Updated AppLifecycle tests to use DynamicDependencies. Changed DynamicDependencyLifetimeManager.Msix to use a templated/generated manfiest to match the current build architecture. All tests are passing!

* Added files missing from previous commit. Refactored supporting test APIs to be more shrinkwrapped and easier to use (and misuse :P)

* Refactored Test APIs to be more shrinkwrapped (easier to use, harder to misuse)

* Fixed ARM64 dlldata.c compile error (Hint: -DWIN32 is needed for dlldata.c in ARM64 builds). Removed CppUnitTestFramework-based tests from ConfigurationManager for ARM+ARM64 (CppUnit doesn't support ARM)

* Added 'Install Test Certificate' step to the build pipeline. Fingers crossed it's right

* Experimenting with a fix to the pipeline adding Install Test Certificates. TBD if we use it or an another solution. This is just experimenting with AzureDevOps to determine options. Will be reverted shortly

* Fixed typo

* Moved Boostrap packages Setup/Cleanup from Class- to Method-Setup/Cleanup to fix failure during the CI/Pipeline

* Added SetupPackages to CLASS_SETUP as an experiment to fix AppLifeCycle's GetActivatedEventArgsIsNull in the github CI/Pipeline. Currently fails because tthe tests METHOD_SETUP declares a custom manifest in TEST_METHOD_PROPERTY with a dependency on the Framework package (to get at the AppLifeCycle API). Theory is adding this during ClassSetup will make the framework available on the machine so when TAEF does the pkgmgr.RegisterPackage() Deployment will be able to resolve the <PackageDependency> and the rest will happily proceed

* Shuffled some fixture work and sprinkled in an ugly smattering of printf debuggery to track down how the CI/Pipeline runs tests to figure out what the ultimate fix needs to be. Don't stare at the current code unless you've got a strong stomach <g>

* Yet more debug hackery. And the hunt continues

* More testery

* Expanded printf-debugging logic to provide more execution context (poor man's windbg !token + !peb).

* Can't 'include' a manifest when it's also Copied

* Rejiggered the GetActivatedEventArgsIsNull (UAP) test to behave as expected

* Restored IsolationLevel=Method for UAP tests

* Yet more test hackery

* Narrowing tests

* Yet more narrowing of test to identify solutions

* Modified to test fixes for the Protocol test

* Added DevCheck.cmd/ps1 to check and (if necessary) fix the development environment

* Fixed DevCheck error counting/reporting

* Moved diagnostic aids into ProjectReunion.Test.Diagnostics.h

* Added -Check... options to DevCheck (specify nothing is equivalent to -CheckAll). Improve DevCheck help. Add 'Setup TAEF Service' to build pipeline

* Updated build pipeline command's arguments to setup TAEF service to match the recent change to DevCheck's parameter syntax

* Removed accidental duped task

* Removed some old debugging code

* Disabled the AppLifecycleTests task in the CI/Pipeline as github runs as a built-in Administrator account (Elevated and not a split token) which prevents TAEF RunAs:RestrictedUser from working. Given the CI/Pipeline running as a built-in Administrator account TAEF provides no way for us to work around it thus all AppLifecycleTests are Failed or Blocked (despite passing when run locally), and DynamicDependencies doesn't support Elevation so we can have passing tests that don't verify the actual primary target environment (DynDep, MediumIL) or failing tests that block all checkins. This problem will be solved when test execution (the whole pipeline?) is moved to Helix. When that happens we can reenable these tests.

* Add temp/ to .gitignore for temporary files. Added temp\MSTest.pfx generation for inner-loop development needing signed MSIX. NOTE: This will be updated in a future PR to pull MSTest.pfx from the Azure Key Vault.

* Added temporary file to unblock development. Will be deleted when DevCheck.cmd is updated to pull MSTest.pfx from the Azure Key Vault

* updated projects to use temp\MSTest.pfx to sign packages

* Moved temp .pfx generation to BEFORE building projectreunion.sln (as it's needed to build some of the tests). Removed a debugging statement from DevCheck.ps1

* Removed investigation code from AppLifecycleTests

* Incorporated Scott's feedback
2021-03-09 00:04:43 -08:00
Scott Darnell 727a326cba
Support for FileTypeAssociation registration. (#308)
Initial implementation of file type association registrations for Win32. Also have basic functional tests up and running for both Win32 and Packaged Win32.

The tests now require elevation, in order to install the test apps cert. Also with this change we switch to TAEF for our test harness.
2020-11-30 10:13:20 -08:00
Scott Darnell b3951a46fb
User/aeloros/get args (#268)
* Initial template for the AppLifecycle object and it's tests.

* Initial set of components

* Basic Launch and Protocol support

* Move registration methods to new runtimeclass.  Stub out new ancillary interfaces on the event args classes.

* Remove samples from the project dll.

* Remove work for file type associations for now.
Remove shared samples completely.

* Block registration for packaged apps (they should use their manifest for v1).  Make GetActivatedEventArgs defer to the platform for packaged apps.

* Add LaunchActivatedEventArgs test.

* Remove unneeded interfaces.

* use a static const wstring instead of a C define for comparison.

* PR feedback around default constructor.

* PR feedback

* PR feedback

* PR Feedback

* PR Feedback
2020-10-30 20:50:59 -07:00