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

65 Коммитов

Автор SHA1 Сообщение Дата
Howard Kapustein d7c086f470
Fix dependencies and bad merge (#3169)
* LRPTests was a VS2019 project. Fixed to use VS2022

* LRPTests depends on WindowsAppRuntime_DLL and WindowsAppRuntime_BootstrapDLL but didn't declare project depednencies so build-out-of-order and 'can't find MddBootstrap.h' errors :-( Fixed

* 2 different versions of WIL were referenced across the repo; updated to the latest one for consistency. Ditto for C++/WinRT.

* test\ToastNotificiations\ToastNotificationsTests.vcxproj is gone (bad merge?). Fixed

* Test_DeploymentManagerAutoIntiialize\CPP\* projects were missing a dependency on WindowsAppRuntime_DLL so they could be built before dev\Deployment\*.idl was compiled and thus can't find the DeploymentInitializeOptions type; added missing dependency to ensure build order
2022-11-21 23:48:03 -08:00
Kyaw Thant 94b8d1c06a Merge: Main to Develop 2022-10-31 12:16:37 -07:00
Kyaw Thant 9917f2d8cf
Update NuGet Packages (#3079)
* Update

* Fix issues with updating Microsoft.SourceLink.Common to 1.1.1

* Fix

* remove duplications

* Fix up PushNotificationsLongRunningTask.StartupTask

* fixup WindowsAppRuntime_MSIXInstallFromPath.vcxproj
2022-10-27 16:36:17 -07:00
Paul Purifoy 31c0c05682
Enable elevation for PushNotifications (#3027)
* Working on it

* Investigating

* Revert testing stuff

* Update main.cpp

* Update main.cpp

* Update main.cpp

* Fix builds issue

* Update AppxManifest.xml

* Address comments

* Use call once

* Move to else clause

* Check return value

* Move function to common header

* Add description

* Check startup task call

* Update DeploymentManager.cpp

* Move platform activation to shared header

* Add error message if fake class activation succeeds

* Fix relative paths

* Update WindowsAppRuntime_MSIXInstallFromPath.vcxproj
2022-10-26 11:35:30 -07:00
reunion-maestro-bot 47614922a8 Merge branch 'main' of https://github.com/microsoft/WindowsAppSDK into develop 2022-10-08 04:01:32 +00:00
Howard Kapustein c7617dbdb1
Add MddGetPackageGraphRevisionId() and PackageGraphRevisionId property. Detour GetPackageGraphRevisionId() (new in recent Windows previews). Detach Detour'd functions in reverse order that we Detour'd them. Moar Tests! (#2909)
Add MddGetPackageGraphRevisionId() and PackageGraphRevisionId property.

Detour GetPackageGraphRevisionId() (new in recent Windows previews).

Detach Detour'd functions in reverse order that we Detour'd them.

Moar Tests!

https://task.ms/41077943
2022-10-06 23:40:05 -07:00
Paul Purifoy 467d9cb568
Refactor LRP tests for notifications (#2900)
* Refactor LRP tests and notification tests

* Addressing nits

* Update APITests.cpp

* Address nits

* Wrap check_bool in no throw macro

* Fix copyright
2022-09-12 16:02:27 -07:00
Joshua Larkin b035d701cc
Update for CsWinRT 2 - net6.0 and ILTrimming (#2907)
* net6 and iltrimming

* cswinrt 2

* more props

* windows2019 -> windows-2022

* helix test

* helix test var

* update projection for trimming
2022-09-08 13:05:23 -07:00
Kyaw Thant 423a8f0bdc
RI release/1.2 preview1 to Main (#2939) 2022-09-07 18:02:14 -07:00
Howard Kapustein 0616493ad5
Runtime query'able version information (#2889)
* VerisonInfo API

* Compiles!

* Slight simplification

* Added C# projection. Added new bits to the Transport package

* Tweak projection project name to avoid obj\... exceeding MAX_PATH (Still no LFN support? Sigh)

* Added tests. Fixed package manifest definitions

* Fix typo

* Incorporated feedback

* Incorporated API Review feedback

* Drop the M.W.AM.WAR.VersionInfo projection and artifacts per the namespace change to M.W.AM.WAR (which already exists)

* Changed ToString to AsString to avoid C#/WinRT warnings and language conflicts

* Updated new VersionInfo test project to VS2022
2022-09-07 19:47:19 +00:00
Eric Johnson 6c2be6d140
Excluding build artifacts from copyright check (#2864)
* Excluding build artifacts from copyright check

* Adding 'and Contributors' to copyright headers

* Updating some missed files and adding -help support to script

Co-authored-by: Eric Johnson <ejohn@microsoft.com>
2022-08-26 15:00:43 -07:00
Kyaw Thant b281a560e5 Merge branch 'main' into user/kythant/vsconfig1 2022-08-19 16:00:47 -07:00
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
Kyaw Thant 92d1e15421 Resolve merge conflicts with main 2022-08-10 11:27:40 -07:00
Eric Johnson e544ebcf13
Adding copyright headers to required files and enforcing requirement in build pipelines (#2765)
* Adding build step to verify copyright headers exist on required files

* Fixing yml dependencies

* Yml fix

* Fix yaml dependencies

* Another yml dependencies fix

* yml conditions need to be paired with dependson

* Fix comments for xaml files

* Adding copyright header to required files

* Removed detours changes and added exception

* Making VerifyCopyrightHeaders checks consistent

* Fix wrong build pool

Co-authored-by: Eric Johnson <ejohn@microsoft.com>
2022-07-25 08:16:00 -07:00
Howard Kapustein 237874f0bc Fixed compiler warnings 2022-07-02 03:09:43 -07:00
Howard Kapustein e46df570bb Bump PlatformToolset to v143 (latest). Drop inconsistent fragmented support for older toolsets 2022-07-02 02:50:40 -07:00
Howard Kapustein bdde939d5b
Do a compiler options pass on all binaries contributing to WinAppSDK (#2629)
Tweak various compiler options for optimization (e.g. /GR-) and correctness/productivity (e.g. /W4).

Project-wide standardization via new \WindowsAppSDK.Build.Cpp.props. See for more details.

Corrected several inconsistencies across projects e.g. given Debug|Release + x86+x64+arm64 = 6 permutations, but some projects had an option set for only 5, or only 1. Most projects were mostly already setting most of these options so their changes were mostly removing the now-redundant project-specific setting and let the top-level project-wide standards handle it.

This now standardizes all C++ projects to...
* Compile (all): `/W4 /sdl /permissive- /std:c++17 /GR-` (except 2 projects that explicitly set `/std:c++20`)
* Compile (debug): `/Od`
* Compile (release): `/GS /GF /GL /Gy /Gw /Ob2 /Oi /Os /Oy`
* Link (debug) `/DEBUG:FULL /INCREMENTAL`
* Link (release): `/INCREMENTAL:NO /LTCG /OPT:ICF /OPT:REF`

https://task.ms/39994837 Foundation

https://task.ms/39994852 MRTCore

* Add standardized (project-wide) C++ compile and link options

* Remove ARM support (not supported, but some ARM-conditional fragments weren't removed)

* Removed <WarningLevel> from all projects. Fixed up warnings masked by projects who'd set Level3

* Added SDLCheck for all builds. Added Disable-Optimization for Debug builds. Remove properties in *vcxproj redundnat with standardized options

* Removed redundant <Optimization> from *vcxproj

* Fixed warnings. Removed unnecessary delayload

* Fixed some inconsistencies in project settings

* Fixed AccessControlTests weren't copying the Bootstrap dll to the test's OutDir and thus the test dll wouldn't load

* Fix some warnings in MRT. Had to disable read-only string pooling and strictstrings as workaround for some funky issues in MrtBaseUnitTests for now; filed bug for follow up to fix the errors

* Corrected some comments. Added the missing LTCG option

* Changed LTCG from fast to normal

* Updated FavorSizeOrSpeed to Size instead of Speed

* Move LinkIncremental=false for Release builds to the top-level project-wide standard

* Host LinkIncremental=true if Configuration=Debug to be project wide setting (projects were routinely doing this locally, but inconsistently)

* Fixed a comment

* Added a cautionary note about why Detours.vcxproj has seemingly redundant or contradictory options and to be wary of making any changes

* Removed options redundant with WindowsAppSDK.Build.Cpp.props

* Elevate GenerateDebugInformation=Full to project-wide and remove redundancies. Move dev\WindowsAppSDK.Build.Cpp.props content to project wide (not just \dev) and delete the now obsolete dev\WindowsAppSDK.Build.Cpp.props (really only amounted to /ZH:SHA_256).

* Incorporated feedback
2022-06-16 17:57:32 +00:00
Howard Kapustein 42ba33154a
v1.1 SDK throws an access violation from MddBootstrapInitialize's logging code if no matching packages are installed #2592 (#2608)
* v1.1 SDK throws an access violation from MddBootstrapInitialize's logging code if no matching packages are installed #2592

* Telemetry char/string. AppData DataStore-1.0.

* Retrieve the *Main* package's family name for AppData

* Add/Remove the test Main package (DataStore) just like we do the test Framework
2022-06-14 11:01:16 -07:00
Howard Kapustein 5385ff2e0f
Update WIL. Update C++/WinRT. Tweak build order (#2586)
* Update WIL to 1.0.220201.1

* Update CppWinRT to 2.0.220531.1

* Tweaked build order to avoid out-of-order build failures
2022-06-07 23:01:54 -07:00
sachintaMSFT 48fcb0864d
Copy DeploymentAgent executable to TestFwkPkg (#2467)
* Copy DeploymentAgent executable to TestFwkPkg

* Make DeploymentAgent a dependency to build Microsoft.Windows.Framework

Co-authored-by: Santosh Chintalapati <sachinta@ntdev.microsoft.com>
2022-05-06 06:48:32 -07:00
sachintaMSFT 3de09bc6bd
Update Deployment ACIDs in Framework package manifest (#2472)
Update Deployment ACIDs in Framework package manifest

Co-authored-by: Santosh Chintalapati <sachinta@ntdev.microsoft.com>
2022-05-04 14:08:04 -07:00
Howard Kapustein fe6b76e964 Change Singleton package Name to Microsoft.WinAppRuntime.Singleton[-shorttag] 2022-05-03 18:35:29 -07:00
Paul Purifoy 1b59fce446
Refactoring PushNotification unit tests (#2389)
* Work in progress

* Push tests working individually

* Adding LRP to singleton, nits

* Update PowerNotifications.vcxproj

* Condensed packaged/unpackaged self contained tests

* Used IsSupported flag instead

* Working on it

* BaseTestSuite working

* Removed unused namespaces

* Addressing nits

* Use verify instead of throw

* rename m_registered -> m_unregisteredFully

* Ignored failing tests

* Fix build issues

* Update PushNotificationTests.vcxproj

* Update AppNotification-Test-Constants.h
2022-04-20 00:07:21 +00:00
Howard Kapustein 3e11dd58c8
Bootstrap AutoInitialize - Fix typos due to bad merge (#2368)
* Fix typos

* More typo

* Fix typo

* BootstrapAutoInitialize - initial tests

* It builds!

* Yay! Full C++ compilation verification! And now C#...

* Added C# tests

* Fix include path
2022-04-06 15:54:41 -07:00
Howard Kapustein 003df95355
Rich information on Bootstrap initalization failure (#2316)
* On error in MddBootstrapIntialize log to EventLog and optionally DebugBreak, FailFast and/or prompt to install

* Added ShowUI to C++ auto-initializer.

* Remove hardcoded language tag in URL

Co-authored-by: Rafael Rivera <rafael@withinwindows.com>

* Incorporated feedback

* Update C++ AutoInitializer to use MddBootstrapInitialize2 with options override (for those who don't like the default)

* Add MddBootstrapInitializeOptions_OnPackageIdentity_NOP with tests

* Moar tests. Fixed NOP/NOOP typo. Added C# support for InitializeOptions and use MddBootstrapInitialize2

* Let's try that. C# AutoInitializer options override

* Added build option to control auto-initializer (WindowsAppSDKBootstrapAutoInitialize=false, default=true). Added boolean control over the new options e.g. <WindowsAppSDKBootstrapAutoInitializeOptions_OnNoMatch_ShowUI>true</>

* Minnor reformatting and cleanup

* Changed to use TryInitialize and Exit (instead of throwing Initialize and FailFast) for less misleading error symptoms

* Incorporated feedbacck

* Incorproated feedback. Removed some stale comments

* Removed unnecessary extra checks for WindowsAppSDKBootstrapInitialize

* Renamed Microsoft.WindowsAppSDK.MddCommon.targets to Microsoft.WindowsAppSDK.BootstrapCommon.targets. Mdd==DynamicDependencies, which is a generic facility for any packcage. Bootstrap==specialization of DynamicDependencies, uniquely for WindowsAppSDK's runtime

* Updated reference to MddCommon

Co-authored-by: Rafael Rivera <rafael@withinwindows.com>
2022-03-31 22:17:05 -07:00
Howard Kapustein 59700217ac
Change MddBootstrapInitialize() to support multiple (compatible) calls (#2290)
* Change MddBootstrapInitialize() to support multiple calls

* Updated docs about the 2nd+ call to MddBootstrapInitialize

* Incorporated feedback
2022-03-23 09:04:55 -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
Howard Kapustein c900c3422f
Add C++savvy API over Bootstrap's Flat-C API (#2191)
* C++ equivalent to Microsoft.WindowsAppRuntime.Bootstrap.Net

* Fixed up the API. Added tests

* Updated spec

* Added guards to only enable the C++ API if needed WIL + WinAppSDK version info are available

* Fixed typo

* Incorporate feedback

* Remove WIL logging here; rely on logging in MddBootstrapInitialize. Added guard around Initialize() to only be present if exceptions are enabled AND C++/WinRT is #include'd (winrt/base.h)

* Incorporated feedback. Added examples

* Fixed a typo
2022-03-09 12:21:40 -08:00
Howard Kapustein e07759d235
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
2022-02-04 10:25:09 -08:00
Ryan Shepherd 40461bf9a4
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
2022-01-27 10:57:44 -08:00
Howard Kapustein 0780fe5377
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
2022-01-25 22:41:38 -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
Rafael Rivera a0d9faa7c5
Optimize PNG assets (#1345) 2021-12-04 00:18:28 -08:00
Howard Kapustein b42ed93e13 Bump CppWinRT to 2.0.210913.7 across the board (not just some) 2021-11-01 18:08:57 -07:00
Howard Kapustein e724fd5471 Bump WIL to version 1.0.210930.1 2021-11-01 18:03:26 -07:00
Howard Kapustein d7b2e03517
Unpackaged Windows App SDK app doesn't run on RS5/19H1 (#1681)
Non-AppExtension implementation for <=19H1

Altered Bootstrap to workaround AppExtension issue on RS5+19H1:

1) Bootstrap enumerates potential DDLMs via PackageManager.FindsPackagesByPackageType(framework) instead of AppExtension.OpenCatalog(ddlm)

2) Bootstrap uses a DesktopBridge application process instead of a PackagedCOM OOP Server to indicate WinAppSDK Framework package-in-use

3) the package-in-use process quits when it's told to (because MddBootstrapShutdown was called) or the caller process terminated (w/o calling MddBootstrapShutdown) instead of last COM reference to the PackagedCOM OOP Server was Release'd.

We now get N 'shadow' processes (1 per Bootstrap-calling process) instead of 1 process (1 PackagedCOM OOP Server for all Bootstrap-calling processes), but the DDLMShadow process is small and cheap. Single-instancing DDLMShadow.exe is an exercise for the future (assuming it's not obsolete and dropped).

Added/relies-on a 'release marker' file in the DDLM package to identify the major.minor release (required as otherwise few options to determine the major, none of them cheap).
2021-11-01 22:17:11 +00:00
Howard Kapustein 6dc654dd7a
DynamicDependencies: Change IsElevated check from FAIL_FAST to RETURN(ErrorNotSupported) (#1563)
* Fixed powershell command line to not rely on system configuration

* Fix misspelled name

* Can't check for MddTryCreate...() failure due to elevation in a test method as the setup fixed called MddBootstrapInitialize and would have failed if elevated, or if different user context the setup fix wouldn't be right for it. That's OK. Bootstrap has an explicit test for the expected error so we're good

* Tweaked test execution for GetCurrentPackageInfoTests to avoid false errors. Lacking this if you ran all the dyndep tests some of the others could color the process space distorting these tests behavior/results

* Restored BootstrapTests to IsolationLevel=Method and moved the elevated tests to a separate class

* Refactored Bootstrap tests fixtures for sharing/reuse. More to come

* Cleanup up bootstrap tests fixtures' redundancy

* Missed the help call; thanks Rohan!
2021-10-08 11:02:15 -07:00
Howard Kapustein ea7e017893
UndockedRegFreeWinRT reentrancy bug (#1538)
* Add WinRT Reentrancy test

* Added test for reentrancy but not quite there yet

* Tweaked the reentrancy test

* Not ActivateInstance but GetActivationFactory!

* More testy games
2021-10-05 06:30:06 -07:00
David Bennett 58d9275aee
Update Deployment API Implementation (#1483)
* Change Names and types for Deployment API
2021-09-24 10:53:52 +00:00
David Bennett bccd6963fb
Experimental Implementation of the WindowsAppRuntime Deployment API (#1375) 2021-09-08 04:39:53 +00:00
Howard Kapustein 98f64de5b4
Fix DDLM package names per spec (#1380) 2021-09-08 04:00:14 +00:00
Howard Kapustein bca3e3fcea
GenerationId has promoted to non-experimental. Remove experimental-ness from it :-) (#1376) 2021-09-07 23:12:48 +00:00
Howard Kapustein 031c7000d1
Rename runtime components to *WindowsAppRuntime* (#1334)
* SDK->Runtime rename

* Moar renaming...

* Mo rename

* Fixed a path

* Had to shorten the test framework package name (after changing SDK->Runtime yielded package Name=52chars but max=50)

* Few more renames

* Updated Insights (originally deferred but necessary to get Aggregator builds right)

* Fixed inconsistent naming
2021-08-30 13:26:30 -07:00
Howard Kapustein b89e664a17
Added C# WinRT projections for DynamicDependency and AppLifecycle WinRT APIs (#1208)
* Added C# WinRT projections for DynamicDependency and AppLifecycle WinRT APIs

* Add new files

* Fixed dated Reunion reference

* Incorporated feedback re where the projections are packed into the NuGet

* Incorporated feedback

* OK let's try this

* Inconsistent WIL dependencies; updated everyone to the latest (which WindowsAppSDK_DLL was using)

* Inconsistent CppWinrt dependencies; updated to sync to latest (WindowsAppSDK_DLL was already using)

* Fix dupe import of WIL

* Fix misuse of THROW_IF_WIN32_ERROR

* Update the WIL references directly embedded in *.vcxproj (VS didn't)

* Fixed a couple of warnings. Removed some redundant vcxproj elements referencing the CRT not removed by the previous HybridCRT update

* Fixed the C# Projections. Can't refernce the WindowsAppSDK_DLL project because the WinRT namesspaces (and thus *.winmd) don't match, so CsWinRT can't infer namespace/winmd names from the project name. Remove the project reference and reference the .winmd (what VS's SolutionExplorer likes to call 'Assemblies')

* I think I rounded up the rest of the inconsistent references

* More packae reference inconsistencies (almost last of them. 1 last batch to come)

* Editing via GUI Configuration Manager wasn't sticking for some reason but editing the .sln solved it
2021-08-18 18:21:29 -07:00
Darren Hoehna 54880009c8
Ev and path (#1094)
* Re-adding the changes I lost after a bad merge.

* append and remove from path (#721)

* Adding PATH implementation and tests.

* Adding PATH Manip and tests.

* Removing because it is not needed.

* Merging Reader and Writer into Manager

* removing file.  Wrong spot.

* Removing un-needed class.

* Adding checks for empty parameters.

* Addressing comments and making the tests run for different IL's

Co-authored-by: Darren Hoehna <dahoehna@microsoft.com>

* Adding PathExt appending and removal + New removal logic. (#972)

* Getting all tests to run except RestrictedUser for Win32 and Adimin for Centennial.

* Adding PathExt tests and changes

* Removing comment and changing constant names

* Renaming More Constants

* Removing IsSupported.  Not in scope for this PR

* Adding const.  Cleaning up WIL uses.

Co-authored-by: Darren Hoehna <dahoehna@microsoft.com>

* Renaming to WindowsAppSDK

* WIP

* Moving to the new namespace.

* Removing windows app sdk bootstrap

* Adding stuff to make tests work.

* Test project builds.

* WIP

* Getting Win32 tests to run.  All are green.

* Getting UWP tests to run.  All are green.

* Getting Centennial tests to work.

* Adding namespace

* Maybe making progress?

* All tests are green.

Co-authored-by: Darren Hoehna <dahoehna@microsoft.com>
2021-08-17 16:14:46 -07:00
Howard Kapustein 8611cc2df5
Added test Singleton MSIX package (#1194)
* Added test Singleton MSIX package

* Added WARsingleton test project

* Added ARM64 support (oops :-)
2021-08-10 18:07:46 +00:00
Howard Kapustein 5f41f5fa5e
Our test framework package differs from the end (real) framework by lacking the FrameworkUdk dll. Never noticed before as no one used it -- until now (#1193) 2021-08-10 10:06:23 -07:00
Howard Kapustein 04f21f099a
TerminalVelocity + DynamicDependency [Get]GenerationId() (#1165)
* Initial Feature-check/implementation-stripping support. Names are very TBD

* Removed unnecessary 'branch' support. Rename 'branding' to 'channel'.

* More tweaks. Expanded test suite

* Moved TerminalVelocity to tools (where it belongs)

* Added cmd helper

* Tweaked output. Added test suite for verification of future changes

* Added build step to generate dynamic dependencies' TerminalVelocity feature check

* Added DynamicDependencies terminal velocity

* Add GenerationId access via an experimental API

* Add [Get]GenerationId() as an experimental API using Terminal-Velocity

* Added -Namespace to the generated file's output, for future reference

* Added tests for [Get]GenerationId

* Added DelayLoad for FrameworkUdk

* Off by one (forgot the tests run the bootstrapper in their setup fixture)
2021-08-05 10:14:22 +00:00
Huzaifa Danish f38812ae19
Adding PowerNotification APIs (#1142)
* Adding PowerNotifications Proj

* Adding PowerNotifications Tests

* Adding FrameworkUDK Nuget

* Added entry to build/NuSpecs/AppxManifest
Added 'Factory()' to handle static functions
Removed TODO comments
{0} to {}

Co-authored-by: Huzaifa Danish <modanish@microsoft.com>, Brian Alker <brial@microsoft.com>
2021-08-03 18:31:50 +00:00