Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AppLifecycle Restart API #1134

Merged
merged 15 commits into from
Jan 20, 2022
Merged

AppLifecycle Restart API #1134

merged 15 commits into from
Jan 20, 2022

Conversation

hamza-usmani
Copy link
Contributor

Bringing in Restart API spec into main. This spec addresses the gaps in restart today and how we can expose new functions to manage restart across all app types.

@hamza-usmani hamza-usmani self-assigned this Jul 28, 2021
@ghost ghost added the needs-triage label Jul 28, 2021
@riverar
Copy link
Contributor

riverar commented Aug 6, 2021

Please review spec authoring/merge guidance at https://github.com/microsoft/WindowsAppSDK/tree/main/specs.

Also I don't recall this ever going through review?

@Samuel12321
Copy link

Issue #111

Does this support restarting with identity

terminate the process.


<table>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why all the HTML? Markdown supports tables (and with much simpler syntax)


[3. Telemetry](##restartApi\telemetry)

[4. Resources](#resources)
Copy link
Member

@DrusTheAxe DrusTheAxe Nov 16, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think your TOC is out of sync with your actual content

SUGGESTION: Use VSCode with the Markdown All in One extension, then issue commands via Ctrl-P

  1. Markdown All in One: Add/Update section numbers
  2. Put cursor at top of file
  3. Markdown All in One: Create Table of Contents

and if/when you make edits the pair of ...Add/Update section numbers + ...Update Table of Contents keeps everything correct and current

@@ -0,0 +1,357 @@
# Reunion Restart API Spec
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use specs/spec_template.md

You can find existing specs @ specs for reference examples. For example a really good simple example see DeploymentAPI. For more extensive specs AppLifecycle Activation and [Dynamic Dependencies]https://github.com/microsoft/WindowsAppSDK/blob/main/specs/dynamicdependencies/DynamicDependencies.md) are good examples.

</thead>
<tbody>
<tr class="odd">
<td>static AppRestartFailureReason RequestRestartNow(string restartArguments)</td>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't tell what kind of API this is. WinRT? But it's just a function w/o mention where it lives (no runtimeclass or interface mentioned). Flat-C? But then why 'static', and the data types imply otherwise.

If you're intending WinRT I'd expect to see a MIDL3 .idl (or at least the relevant subset of one)

Please use the standard template and see other existing specs for representative examples how to express your API.

AppRestartFailureReason result = AppLifecycle::RequestRestartNow("args for new instance");
switch (result)
{
case AppRestartFailureReason::RestartPending:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RestartPending is only returned if another restart is in progress. Since that is more likely for the async variation in the platform, this should only ever happen if the API is called twice by the same process.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated with this information.

        protected bool restartOnUpdate(){
            bool result = AppLifecycle::RegisterForRestart("args for new instance", RestartContext::Crash);
            Telemetry::WriteLine("RegisterForRestart: Restart Context: " + RestartContext::Crash.ToString() 
+ ". Result: " + result ? "success" : "fail");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NIT: Indent

            Telemetry::WriteLine("RegisterForRestart: Restart Context: " + RestartContext::Crash.ToString() 
                + ". Result: " + result ? "success" : "fail");

       protected void updateInstallComplete(){
           // code here that checks the app update has installed

           WCHAR buffer\[1024\]; 
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why the backslashes? Are they needed in a code block (blah)?

       protected void updateInstallComplete(){
           // code here that checks the app update has installed

           WCHAR buffer\[1024\]; 
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NIT: WCHAR buffer[1024]{};

ES.23: Prefer the {}-initializer syntax

       protected void updateInstallComplete(){
           // code here that checks the app update has installed

           WCHAR buffer\[1024\]; 
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Magic constant. And why 1024? Why not 256 or 2K or...?

Also, buffer is assigned in some cases but not used?
If it's needed, why not std::wstring?
But it's unclear if this is needed at all

           // code here that checks the app update has installed

           WCHAR buffer\[1024\]; 
           AppRestartFailureReason result = AppLifecycle::RequestRestartNow("args for new instance");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NIT: {} initialization

AppRestartFailureReason result{ AppLifecycle::RequestRestartNow("args for new instance") };

@jonwis
Copy link
Member

jonwis commented Jan 6, 2022

Apologies for the delay here. API reviewers, please leave your comments on the document. We'll go through them at 1pm PST on January 11th, 2022. We'll specifically be reviewing https://github.com/microsoft/WindowsAppSDK/pull/1134/files/c7c31991d80601c06ee52e8ec7c5e3929cfe7d28 in case additional items get pushed.

| Metadata | Description | Data type |
| ----------------------- | ------------------------------------------------------------------------------------------------- | --------- |
| AppRestartFailureReason | Reason an app restart failed. This will be collected when an app requests a restart now but fails | Enum |
| AppName | Name of the app which restarted | String |
Copy link
Contributor

@riverar riverar Jan 6, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ AppName could contain PII. Do not recommend using as-is. #ByDesign

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

App names have generally been considered non-PII. App paths contain PII, but not the executable name itself.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Darn, I better rename RafsIceCreamConeMaker.exe.

(I see there's established precedent for this so OK.)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In practice, software developers do not ship a custom executable name for each customer. (ContosoDeluxe-BobSmithFrom Denver.exe, ContosoDeluxe-JaneJohnsonFromChicago.exe, ContosoDeluxe-PatWilsonFromLosAngeles.exe.) The executable name is the same for all customers: ContosoDeluxe.exe.

RafsIceCreamConeMaker.exe is presumably a piece of software that is marketed as "Check out this cool program 'Raf's Ice Cream Cone Maker', in which a cartoon character name Raf helps you design the perfect ice cream cone." It doesn't tell you who bought the program. Raf is the program name, not the customer name. (That's the theory at least.)

Copy link
Contributor

@riverar riverar Jan 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One of my favorites, PowerGrep, ships SetupPowerGREP522RafaelRivera.exe. (The executable is generated server-side for licensing purposes.) Hex Rays (maker of IDA) also ships custom executables with uniquely identifying details (e.g. idapronw_hexx86w_hexarmw_orderId_userSpecificId). (Not relevant in this context, given they're one-shot installers.) But I was also thinking of scenarios where I fire up Visual Studio and just hack on a project and don't necessarily want information about it going back to the mothership. All outliers in the grand scheme, perhaps!

When an application calls RequestRestartNow, the mechanism for restart will be as follows:
1. Application calls RequestRestartNow API.
2. The API will CreateProcess with the Agent (a helper EXE in the framework package containing the API) and will then wait for an an acknowledgment (ACK) from the Agent.
3. The Agent will get the executable path of the application and signal an ACK to the API. The Agent will then then terminate the application and then CreateProcess with the application (restarted).
Copy link
Contributor

@riverar riverar Jan 6, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Agent will then terminate the application [...]

Am concerned about cleanup here, if the Agent handles app termination.

An app may only cleanup unmanaged resources (e.g. GDI handles) when terminating cleanly. Is the thinking here that the developer needs to redesign their application to have a cleanup-first-then-call-RequestRestartNow code path? Perhaps this can be redesigned so that the Agent sends back an ACK to the caller, which can then attempt to exit gracefully from within?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apps already have to deal with abnormal termination in the case of termination-on-suspension, app crash, or the user terminating from Task Manager. Resources like kernel handles and GDI resources are automatically cleaned up at process termination. Other resources like temporary files will have to be cleaned up by the restarted application, just like any other launch after termination. So no new recovery scenarios are introduced here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking more along the lines of shared GDI resources like icons and possible impact to Desktop Bridge middleware, but I concede this all falls under abnormal termination handling.

Comment on lines 181 to 183
<li> InvalidUser: Could not restart for the specified user.</li>
<li> RestartPending: A restart is already in progress.</li>
<li> Other: Unspecified failure.</li>
Copy link
Contributor

@riverar riverar Jan 6, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not clear what the app developer will do these reasons. InvalidUser leaks out some obscure internal details (observe I never specified a user), RestartPending means I'm about to die and any sort of handling here is not guaranteed to run, and Other is useless.

Perhaps this can be replaced with a Boolean indicating if the request was accepted or not. (Duplicate requests can be dropped/ignored/merged quietly.)

</ul>
The restarted instance will be activated with Windows.ApplicationModel.Activation.LaunchActivatedEventArgs.</p>
<ul>
<li>When the app is restarted, LaunchActivatedEventArgs.PreviousExecutionState will have the value Terminated so that the app can distinguish between a resume and a restart. </li>
Copy link
Contributor

@riverar riverar Jan 6, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens if the restart takes too long and the user starts the app manually? Does the Agent still start the app? What is the value for PreviousExecutionState? Or will multiple instances start, with varying states?

Perhaps an opportunity for the Agent to provide progress UI?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DISCUSSION: Similar to clicking the tile twice, the API-launched and user-launched instances will come up. Both get the "previous state = terminated" value. The user-launched one gets whatever the tile would have passed to launch the app, the API-launched one gets the command line. The single-instancing APIs - also on this type, AppInstance - can help developers resolve this into a single target instance.

| ----------------------- | ------------------------------------------------------------------------------------------------- | --------- |
| AppRestartFailureReason | Reason an app restart failed. This will be collected when an app requests a restart now but fails | Enum |
| AppName | Name of the app which restarted | String |
| AppType | UWP App or Centennial App or Win32 app | String |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nits:

Suggested change
| AppType | UWP App or Centennial App or Win32 app | String |
| AppType | UWP app or Desktop Bridge app or Win32 app | String |

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RECOMMEND: Fix. s/Centennial/Desktop Bridge/gi

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

// Checking if the assets have updated successfully and there are no pending updates
if (!CheckForUpdate())
{
AppRestartFailureReason result = AppLifecycle::RequestRestartNow("args for new instance");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The class that the method is in looks like it should be AppInstance based on Scott's code pull request (AppLifecycle is the namespace), so should be AppInstance.RequestRestartNow("args") (and prolly needs updating in multiple places.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RECOMMEND: Yes, AppInstance (when you update the IDL it'll be clear.)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed


## Examples and Scenarios

```c#

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is real C#, then please use "." instead of "::".

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RECOMMEND: Fix

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

AppRestartFailureReason result = AppLifecycle::RequestRestartNow("args for new instance");
switch (result)
{
case AppRestartFailureReason::RestartPending:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How would I cancel the previous restart and "upgrade" it with new information? It would be helpful if the sample showed this.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DISCUSSION: Once a request has been started there's no cancelling it.

RetryRestartAfterXSeconds();
break;
case AppRestartFailureReason::Other:
// In this case, a dialog box will appear informing of an error requesting restart

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can the sample show how the dialog box would get the correct message text to show the end user?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SAMPLE: It will likely say "something went wrong". There's not much to say other than "you will need to manually fix it, user."

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated


When an application calls RequestRestartNow, the mechanism for restart will be as follows:
1. Application calls RequestRestartNow API.
2. The API will CreateProcess with the Agent (a helper EXE in the framework package containing the API) and will then wait for an an acknowledgment (ACK) from the Agent.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How is the helper process lifetime managed? What happens if the app is running elevated or as a different user? If the helper is not started by the app, it can handle ERROR_ELEVATION_REQUIRED from CreateProcess by trying again with ShellExecute, but that only works if the executable requires admin, and does not guarantee the same user.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DISCUSSION: The elevation state of the app is maintained in the restarted process.

RECOMMEND: Ensure the behaviors of elevation levels is documented. Also document how much of the source environment is flowed to the target.

DISCUSSION: If the source exe is marked delete-on-close, the agent could terminate that instance then call CreateProcess and get back a "file not found", etc. The caller gets back an "other" error. Ultimately the worst possible case is the app terminates and cannot be restarted, and the user goes "huh" then clicks the tile again.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added

Copy link
Member

@jonwis jonwis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix the two things, and run a word-wrapper (check out the docs/coding-guidelines.md for suggested tooling.) Looks fine otherwise.

static AppInstance GetCurrent();
static Windows.Foundation.Collections.IVector<AppInstance> GetInstances();
static AppInstance FindOrRegisterForKey(String key);
static Windows.ApplicationModel.Core.AppRestartFailureReason Restart(String arguments);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider putting a "this is the new one!" marker here. Also since this is a new API in 1.1, you'll need to add the proper contract information here, like:

[contractversion(1.1)] apicontract AppLifecycleContract{}

[contract(AppLifecycleContract, 1)]
runtimeclass AppInstance
{

    // On the new thing
    [contract(AppLifecycleContract, 1.1)]
    {
        static Windows.ApplicationModel.Core.AppRestartFailureReason Restart(String arguments);
    }
}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a marker for this.

On the note on contract: Is there a template for how/where the contract information belongs? Do I just drop it into the IDL as you've commented above?


### Mechanism

When an application calls Restart, the mechanism for restart will be as follows:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Markdown nit: Put a blank line before & after number/bullet lists.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done for all lists!

@hamza-usmani hamza-usmani dismissed DrusTheAxe’s stale review January 19, 2022 22:46

Changes made post-API review address issues

@hamza-usmani
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@hamza-usmani hamza-usmani merged commit 7f86048 into main Jan 20, 2022
@hamza-usmani hamza-usmani deleted the user/mousma/RestartAPI branch January 20, 2022 00:38
loneursid added a commit that referenced this pull request Jan 27, 2022
* 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>
loneursid added a commit that referenced this pull request Jan 28, 2022
…_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 a981a1e.

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>
loneursid added a commit that referenced this pull request Jan 31, 2022
* 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 a981a1e.

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

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

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>
loneursid added a commit that referenced this pull request Feb 2, 2022
* 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 a981a1e.

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

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

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>
pmpurifoy added a commit that referenced this pull request Feb 2, 2022
…_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 a981a1e.

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>
loneursid added a commit that referenced this pull request Feb 3, 2022
* 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>
loneursid added a commit that referenced this pull request Feb 3, 2022
* 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 a981a1e.

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

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

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>
loneursid added a commit that referenced this pull request Feb 11, 2022
* 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 ef2c8ad.

* 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>
loneursid added a commit that referenced this pull request Feb 18, 2022
* 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 ef2c8ad.

* 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>
pmpurifoy added a commit that referenced this pull request Feb 18, 2022
* 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 ef2c8ad.

* 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>
pmpurifoy added a commit that referenced this pull request Feb 18, 2022
* 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 ef2c8ad.

* 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>
loneursid added a commit that referenced this pull request Feb 24, 2022
* 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 ef2c8ad.

* 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>
pmpurifoy added a commit that referenced this pull request Feb 28, 2022
* 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 ef2c8ad.

* 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>
loneursid added a commit that referenced this pull request Mar 1, 2022
* 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 ef2c8ad.

* 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>
loneursid added a commit that referenced this pull request Mar 10, 2022
* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into feature branch WNP_ToastNotification_L1 (#2026)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

* DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995)

* TDBuild - updating localized resource files.

* Add new font selection APIs to DWrite API spec (#1967)

* Add new font selection APIs to DWriteCore API spec.
* Add descriptions of font family models and font selection algorithms.

* AppLifecycle Restart API (#1134)

* Initial restart API branch

* Formatting to code blocks

* Updates to heading

* Removed preamble

* Updates to overview

* Removing resources content

* Updating restart spec with latest changes

* Fixed summary

* Updates to API details, mechanism and sample

* run markdown prettifier

* Updating mechanism

* Updating formatting for consistency

* Updates to return value description

* Updates to spec after latest review

* Prettified to match md guidelines, fixed nits

Co-authored-by: Hamza Usmani <mousma@microsoft.com>

* Initial RequestRestartNow API (#1882)

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* New test passes with API.

* updated comment

* Error handling changes and packaged code paths.

* Removed unused tests, and added new test.

* cleanup

* transport packaging stuff

* typo

* Enable control flow guard for Release only.

* PR feedback

* Add ARM64

* Update to support packaged scenarios.  This needs to be further scoped to only Desktop Bridge apps.

* Detect UWP and redirect.

* Reduce access usage.

* Final API Name updates

* Add MRTCore interface name and id (#1989)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Generate cert (#1986)

* Update DevCheck to generate MSTest.pfx/.cer

* Refactor temp handling. Add .user dir

* Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil

* Add -Remove-DevTestCert and -Remove-DevTestPfx

* Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx

* Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use

* Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx

* Update MSTest references

* Start of changing NMAKEfiles to MSBuild

* Add new file

* MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects

* 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts...

* Tweaked the vcxproj to successfully create .msix via MakeMSIX!

* Moved MakeMSIX.targets to the root (with other build files)

* It works! Got the test projects building with the .pfx and .pwd

* Rewiring test projects to use MakeMsix.targets instead of NMake

* Yet more MakeMsix fixup

* Fixed the package name

* Added dummy Clean command (for now)

* Fixed Deployment's test package where source files get put to different subdir+filename inside the msix

* Fix DevCheck Start-Service to gracefully degrade if not running as admin

* DeploymentTests were missing a build order dependency on BootstrapDLL project

* Updated DevCheck generated cert to have 12-month lifespan (like current one)

* Move Framework.* projects from makemsix.cmd to MakeMSIX.targets

* Delete makemsix.cmd (obsolete)

* Updated test projects to use static manifests instead of generated from a template (unnecessary complexity)

* Deleted obsolete MakeAppxManifestFromTemplate.*

* Removed obsolete manifest/template handling. Removed printfery debugging

* Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error

* Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr)

* Deleted obsolete files

* Replaced SolutionDir with RepoRoot

* Rewrote installer's testpackage creation project to use MakeMSIX

* Fixed naming inconsistencies

* Addressed some issues. More to come

* Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun

* Fix bad merge

* Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets

* Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets

* Updated projects to use the common RepoTestCertificate*

* Removed obsolete and redundant <Error> check

* Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late

* Test WTH is going on

* Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers

* Add DevCheck support to RunTestsInHelix job

* Merge/Port 1.0 license support into main/1.1 (#2012)

* Update installer to support both publishing IDs used in App SDK. (#1759)

* draft changes

* fixing typo

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Added MSIX license support (#1783)

* Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf)

* Simplified help

* Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install

* It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting.

* Add license support to Deployment API and a new InstallLicenses API (#1790)

* Updated DeploymentManager to install license files if necessary

* Add stubs for the InstallLicenseFile() methods

* Change installer to install licenses BEFORE packages, for higher reliability

* Copy the license header to the source tree to use whehn building via the pipeline]

* Add Licensing API and export from Bootstrap'r

* Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN

* yml changes to pickup licensing package when needed.

* moving restore to the top of the pipeline.

* moving back, wrong stage

* Fixed license filename

* add nuget authenticate call

* differnt connection

* adding nuget config for build

* avoid using licensing support in github / PR builds, which don't have access to the resources

* update script to capture package version / name.

* one missed check

* Incorported feedback

* udpdating nuget.config name to avoid conflicts.

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Incorporated feedback

Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019)

* Exclude CsWinRT.Dependency (#2021)

* cert management has changed

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#2037)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Add ToastNotificationManger::Setting API (#1984)

* Add ToastNotificationManger::Setting API

* Addressing nits

* Update ToastNotificationManager.cpp

* Add Foreground/Background handlers for ToastActivation (#1973)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Copy branch based on WNP_ToastNotifications

* Address nit

* Addressing nits

* Address nits

* Change name from ToastActivation->AppNotification

* Change more constants

* Reuse deserialize function

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

* FI WNP_ToastNotifications_L1into WNP_ToastNotifications_L2 (#1997)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>

* Implemented ToastNotification + unit tests (#1996)

Implemented ToastNotification + unit tests

* Add ToastRegistration functions to PushNotificationsLongRunningTask (#1976)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Rebase to WPN_ToastNotifications

* Update externs.h

* Rename toastGuid->appId

* Addressing nits

* Add sink check to AddToastRegistrationMapping

* Adding lock to HasSinkForAppId

* Change lock to shared lock

* Add unit tests, rename appId->toastAppId

* Add BuildAppIdentifier

* Remove HasSinkForAppId

* Move toastStorage to ToastNotificationManager

* Address nits

* Update platform.cpp

* Adding packaged apps treated as unpackaged scenario

* Flip the bool

* Update platform.cpp

* Fix remaining nits

* last nits

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

* FI feature branch WNP_ToastNotification_L1 into WNP_ToastNotification_L2 (#2029)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into feature branch WNP_ToastNotification_L1 (#2026)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

* DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995)

* TDBuild - updating localized resource files.

* Add new font selection APIs to DWrite API spec (#1967)

* Add new font selection APIs to DWriteCore API spec.
* Add descriptions of font family models and font selection algorithms.

* AppLifecycle Restart API (#1134)

* Initial restart API branch

* Formatting to code blocks

* Updates to heading

* Removed preamble

* Updates to overview

* Removing resources content

* Updating restart spec with latest changes

* Fixed summary

* Updates to API details, mechanism and sample

* run markdown prettifier

* Updating mechanism

* Updating formatting for consistency

* Updates to return value description

* Updates to spec after latest review

* Prettified to match md guidelines, fixed nits

Co-authored-by: Hamza Usmani <mousma@microsoft.com>

* Initial RequestRestartNow API (#1882)

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* New test passes with API.

* updated comment

* Error handling changes and packaged code paths.

* Removed unused tests, and added new test.

* cleanup

* transport packaging stuff

* typo

* Enable control flow guard for Release only.

* PR feedback

* Add ARM64

* Update to support packaged scenarios.  This needs to be further scoped to only Desktop Bridge apps.

* Detect UWP and redirect.

* Reduce access usage.

* Final API Name updates

* Add MRTCore interface name and id (#1989)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Generate cert (#1986)

* Update DevCheck to generate MSTest.pfx/.cer

* Refactor temp handling. Add .user dir

* Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil

* Add -Remove-DevTestCert and -Remove-DevTestPfx

* Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx

* Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use

* Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx

* Update MSTest references

* Start of changing NMAKEfiles to MSBuild

* Add new file

* MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects

* 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts...

* Tweaked the vcxproj to successfully create .msix via MakeMSIX!

* Moved MakeMSIX.targets to the root (with other build files)

* It works! Got the test projects building with the .pfx and .pwd

* Rewiring test projects to use MakeMsix.targets instead of NMake

* Yet more MakeMsix fixup

* Fixed the package name

* Added dummy Clean command (for now)

* Fixed Deployment's test package where source files get put to different subdir+filename inside the msix

* Fix DevCheck Start-Service to gracefully degrade if not running as admin

* DeploymentTests were missing a build order dependency on BootstrapDLL project

* Updated DevCheck generated cert to have 12-month lifespan (like current one)

* Move Framework.* projects from makemsix.cmd to MakeMSIX.targets

* Delete makemsix.cmd (obsolete)

* Updated test projects to use static manifests instead of generated from a template (unnecessary complexity)

* Deleted obsolete MakeAppxManifestFromTemplate.*

* Removed obsolete manifest/template handling. Removed printfery debugging

* Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error

* Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr)

* Deleted obsolete files

* Replaced SolutionDir with RepoRoot

* Rewrote installer's testpackage creation project to use MakeMSIX

* Fixed naming inconsistencies

* Addressed some issues. More to come

* Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun

* Fix bad merge

* Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets

* Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets

* Updated projects to use the common RepoTestCertificate*

* Removed obsolete and redundant <Error> check

* Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late

* Test WTH is going on

* Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers

* Add DevCheck support to RunTestsInHelix job

* Merge/Port 1.0 license support into main/1.1 (#2012)

* Update installer to support both publishing IDs used in App SDK. (#1759)

* draft changes

* fixing typo

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Added MSIX license support (#1783)

* Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf)

* Simplified help

* Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install

* It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting.

* Add license support to Deployment API and a new InstallLicenses API (#1790)

* Updated DeploymentManager to install license files if necessary

* Add stubs for the InstallLicenseFile() methods

* Change installer to install licenses BEFORE packages, for higher reliability

* Copy the license header to the source tree to use whehn building via the pipeline]

* Add Licensing API and export from Bootstrap'r

* Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN

* yml changes to pickup licensing package when needed.

* moving restore to the top of the pipeline.

* moving back, wrong stage

* Fixed license filename

* add nuget authenticate call

* differnt connection

* adding nuget config for build

* avoid using licensing support in github / PR builds, which don't have access to the resources

* update script to capture package version / name.

* one missed check

* Incorported feedback

* udpdating nuget.config name to avoid conflicts.

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Incorporated feedback

Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019)

* Exclude CsWinRT.Dependency (#2021)

* cert management has changed

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing merge errors

* Undoing change since it's coming from main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* build fix

* Changes not meant to go back into L1

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: Paul Purifoy <33183370+pmpurifoy@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: Daniel Ayala <14967941+danielayala94@users.noreply.github.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* RI WNP_ToastNotification_L2 into WNP_ToastNotification_L1 (#2048)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Add ToastNotificationManger::Setting API (#1984)

* Add ToastNotificationManger::Setting API

* Addressing nits

* Update ToastNotificationManager.cpp

* Add Foreground/Background handlers for ToastActivation (#1973)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Copy branch based on WNP_ToastNotifications

* Address nit

* Addressing nits

* Address nits

* Change name from ToastActivation->AppNotification

* Change more constants

* Reuse deserialize function

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

* FI WNP_ToastNotifications_L1into WNP_ToastNotifications_L2 (#1997)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>

* Implemented ToastNotification + unit tests (#1996)

Implemented ToastNotification + unit tests

* Add ToastRegistration functions to PushNotificationsLongRunningTask (#1976)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Rebase to WPN_ToastNotifications

* Update externs.h

* Rename toastGuid->appId

* Addressing nits

* Add sink check to AddToastRegistrationMapping

* Adding lock to HasSinkForAppId

* Change lock to shared lock

* Add unit tests, rename appId->toastAppId

* Add BuildAppIdentifier

* Remove HasSinkForAppId

* Move toastStorage to ToastNotificationManager

* Address nits

* Update platform.cpp

* Adding packaged apps treated as unpackaged scenario

* Flip the bool

* Update platform.cpp

* Fix remaining nits

* last nits

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

* FI feature branch WNP_ToastNotification_L1 into WNP_ToastNotification_L2 (#2029)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sha…
loneursid added a commit that referenced this pull request Mar 10, 2022
* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into feature branch WNP_ToastNotification_L1 (#2026)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

* DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995)

* TDBuild - updating localized resource files.

* Add new font selection APIs to DWrite API spec (#1967)

* Add new font selection APIs to DWriteCore API spec.
* Add descriptions of font family models and font selection algorithms.

* AppLifecycle Restart API (#1134)

* Initial restart API branch

* Formatting to code blocks

* Updates to heading

* Removed preamble

* Updates to overview

* Removing resources content

* Updating restart spec with latest changes

* Fixed summary

* Updates to API details, mechanism and sample

* run markdown prettifier

* Updating mechanism

* Updating formatting for consistency

* Updates to return value description

* Updates to spec after latest review

* Prettified to match md guidelines, fixed nits

Co-authored-by: Hamza Usmani <mousma@microsoft.com>

* Initial RequestRestartNow API (#1882)

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* New test passes with API.

* updated comment

* Error handling changes and packaged code paths.

* Removed unused tests, and added new test.

* cleanup

* transport packaging stuff

* typo

* Enable control flow guard for Release only.

* PR feedback

* Add ARM64

* Update to support packaged scenarios.  This needs to be further scoped to only Desktop Bridge apps.

* Detect UWP and redirect.

* Reduce access usage.

* Final API Name updates

* Add MRTCore interface name and id (#1989)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Generate cert (#1986)

* Update DevCheck to generate MSTest.pfx/.cer

* Refactor temp handling. Add .user dir

* Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil

* Add -Remove-DevTestCert and -Remove-DevTestPfx

* Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx

* Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use

* Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx

* Update MSTest references

* Start of changing NMAKEfiles to MSBuild

* Add new file

* MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects

* 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts...

* Tweaked the vcxproj to successfully create .msix via MakeMSIX!

* Moved MakeMSIX.targets to the root (with other build files)

* It works! Got the test projects building with the .pfx and .pwd

* Rewiring test projects to use MakeMsix.targets instead of NMake

* Yet more MakeMsix fixup

* Fixed the package name

* Added dummy Clean command (for now)

* Fixed Deployment's test package where source files get put to different subdir+filename inside the msix

* Fix DevCheck Start-Service to gracefully degrade if not running as admin

* DeploymentTests were missing a build order dependency on BootstrapDLL project

* Updated DevCheck generated cert to have 12-month lifespan (like current one)

* Move Framework.* projects from makemsix.cmd to MakeMSIX.targets

* Delete makemsix.cmd (obsolete)

* Updated test projects to use static manifests instead of generated from a template (unnecessary complexity)

* Deleted obsolete MakeAppxManifestFromTemplate.*

* Removed obsolete manifest/template handling. Removed printfery debugging

* Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error

* Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr)

* Deleted obsolete files

* Replaced SolutionDir with RepoRoot

* Rewrote installer's testpackage creation project to use MakeMSIX

* Fixed naming inconsistencies

* Addressed some issues. More to come

* Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun

* Fix bad merge

* Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets

* Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets

* Updated projects to use the common RepoTestCertificate*

* Removed obsolete and redundant <Error> check

* Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late

* Test WTH is going on

* Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers

* Add DevCheck support to RunTestsInHelix job

* Merge/Port 1.0 license support into main/1.1 (#2012)

* Update installer to support both publishing IDs used in App SDK. (#1759)

* draft changes

* fixing typo

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Added MSIX license support (#1783)

* Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf)

* Simplified help

* Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install

* It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting.

* Add license support to Deployment API and a new InstallLicenses API (#1790)

* Updated DeploymentManager to install license files if necessary

* Add stubs for the InstallLicenseFile() methods

* Change installer to install licenses BEFORE packages, for higher reliability

* Copy the license header to the source tree to use whehn building via the pipeline]

* Add Licensing API and export from Bootstrap'r

* Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN

* yml changes to pickup licensing package when needed.

* moving restore to the top of the pipeline.

* moving back, wrong stage

* Fixed license filename

* add nuget authenticate call

* differnt connection

* adding nuget config for build

* avoid using licensing support in github / PR builds, which don't have access to the resources

* update script to capture package version / name.

* one missed check

* Incorported feedback

* udpdating nuget.config name to avoid conflicts.

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Incorporated feedback

Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019)

* Exclude CsWinRT.Dependency (#2021)

* cert management has changed

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#2037)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Add ToastNotificationManger::Setting API (#1984)

* Add ToastNotificationManger::Setting API

* Addressing nits

* Update ToastNotificationManager.cpp

* Add Foreground/Background handlers for ToastActivation (#1973)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Copy branch based on WNP_ToastNotifications

* Address nit

* Addressing nits

* Address nits

* Change name from ToastActivation->AppNotification

* Change more constants

* Reuse deserialize function

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

* FI WNP_ToastNotifications_L1into WNP_ToastNotifications_L2 (#1997)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>

* Implemented ToastNotification + unit tests (#1996)

Implemented ToastNotification + unit tests

* Add ToastRegistration functions to PushNotificationsLongRunningTask (#1976)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Rebase to WPN_ToastNotifications

* Update externs.h

* Rename toastGuid->appId

* Addressing nits

* Add sink check to AddToastRegistrationMapping

* Adding lock to HasSinkForAppId

* Change lock to shared lock

* Add unit tests, rename appId->toastAppId

* Add BuildAppIdentifier

* Remove HasSinkForAppId

* Move toastStorage to ToastNotificationManager

* Address nits

* Update platform.cpp

* Adding packaged apps treated as unpackaged scenario

* Flip the bool

* Update platform.cpp

* Fix remaining nits

* last nits

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

* FI feature branch WNP_ToastNotification_L1 into WNP_ToastNotification_L2 (#2029)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into feature branch WNP_ToastNotification_L1 (#2026)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

* DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995)

* TDBuild - updating localized resource files.

* Add new font selection APIs to DWrite API spec (#1967)

* Add new font selection APIs to DWriteCore API spec.
* Add descriptions of font family models and font selection algorithms.

* AppLifecycle Restart API (#1134)

* Initial restart API branch

* Formatting to code blocks

* Updates to heading

* Removed preamble

* Updates to overview

* Removing resources content

* Updating restart spec with latest changes

* Fixed summary

* Updates to API details, mechanism and sample

* run markdown prettifier

* Updating mechanism

* Updating formatting for consistency

* Updates to return value description

* Updates to spec after latest review

* Prettified to match md guidelines, fixed nits

Co-authored-by: Hamza Usmani <mousma@microsoft.com>

* Initial RequestRestartNow API (#1882)

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* New test passes with API.

* updated comment

* Error handling changes and packaged code paths.

* Removed unused tests, and added new test.

* cleanup

* transport packaging stuff

* typo

* Enable control flow guard for Release only.

* PR feedback

* Add ARM64

* Update to support packaged scenarios.  This needs to be further scoped to only Desktop Bridge apps.

* Detect UWP and redirect.

* Reduce access usage.

* Final API Name updates

* Add MRTCore interface name and id (#1989)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Generate cert (#1986)

* Update DevCheck to generate MSTest.pfx/.cer

* Refactor temp handling. Add .user dir

* Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil

* Add -Remove-DevTestCert and -Remove-DevTestPfx

* Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx

* Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use

* Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx

* Update MSTest references

* Start of changing NMAKEfiles to MSBuild

* Add new file

* MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects

* 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts...

* Tweaked the vcxproj to successfully create .msix via MakeMSIX!

* Moved MakeMSIX.targets to the root (with other build files)

* It works! Got the test projects building with the .pfx and .pwd

* Rewiring test projects to use MakeMsix.targets instead of NMake

* Yet more MakeMsix fixup

* Fixed the package name

* Added dummy Clean command (for now)

* Fixed Deployment's test package where source files get put to different subdir+filename inside the msix

* Fix DevCheck Start-Service to gracefully degrade if not running as admin

* DeploymentTests were missing a build order dependency on BootstrapDLL project

* Updated DevCheck generated cert to have 12-month lifespan (like current one)

* Move Framework.* projects from makemsix.cmd to MakeMSIX.targets

* Delete makemsix.cmd (obsolete)

* Updated test projects to use static manifests instead of generated from a template (unnecessary complexity)

* Deleted obsolete MakeAppxManifestFromTemplate.*

* Removed obsolete manifest/template handling. Removed printfery debugging

* Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error

* Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr)

* Deleted obsolete files

* Replaced SolutionDir with RepoRoot

* Rewrote installer's testpackage creation project to use MakeMSIX

* Fixed naming inconsistencies

* Addressed some issues. More to come

* Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun

* Fix bad merge

* Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets

* Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets

* Updated projects to use the common RepoTestCertificate*

* Removed obsolete and redundant <Error> check

* Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late

* Test WTH is going on

* Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers

* Add DevCheck support to RunTestsInHelix job

* Merge/Port 1.0 license support into main/1.1 (#2012)

* Update installer to support both publishing IDs used in App SDK. (#1759)

* draft changes

* fixing typo

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Added MSIX license support (#1783)

* Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf)

* Simplified help

* Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install

* It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting.

* Add license support to Deployment API and a new InstallLicenses API (#1790)

* Updated DeploymentManager to install license files if necessary

* Add stubs for the InstallLicenseFile() methods

* Change installer to install licenses BEFORE packages, for higher reliability

* Copy the license header to the source tree to use whehn building via the pipeline]

* Add Licensing API and export from Bootstrap'r

* Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN

* yml changes to pickup licensing package when needed.

* moving restore to the top of the pipeline.

* moving back, wrong stage

* Fixed license filename

* add nuget authenticate call

* differnt connection

* adding nuget config for build

* avoid using licensing support in github / PR builds, which don't have access to the resources

* update script to capture package version / name.

* one missed check

* Incorported feedback

* udpdating nuget.config name to avoid conflicts.

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Incorporated feedback

Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019)

* Exclude CsWinRT.Dependency (#2021)

* cert management has changed

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing merge errors

* Undoing change since it's coming from main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* build fix

* Changes not meant to go back into L1

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: Paul Purifoy <33183370+pmpurifoy@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: Daniel Ayala <14967941+danielayala94@users.noreply.github.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* RI WNP_ToastNotification_L2 into WNP_ToastNotification_L1 (#2048)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Add ToastNotificationManger::Setting API (#1984)

* Add ToastNotificationManger::Setting API

* Addressing nits

* Update ToastNotificationManager.cpp

* Add Foreground/Background handlers for ToastActivation (#1973)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Copy branch based on WNP_ToastNotifications

* Address nit

* Addressing nits

* Address nits

* Change name from ToastActivation->AppNotification

* Change more constants

* Reuse deserialize function

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

* FI WNP_ToastNotifications_L1into WNP_ToastNotifications_L2 (#1997)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>

* Implemented ToastNotification + unit tests (#1996)

Implemented ToastNotification + unit tests

* Add ToastRegistration functions to PushNotificationsLongRunningTask (#1976)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Rebase to WPN_ToastNotifications

* Update externs.h

* Rename toastGuid->appId

* Addressing nits

* Add sink check to AddToastRegistrationMapping

* Adding lock to HasSinkForAppId

* Change lock to shared lock

* Add unit tests, rename appId->toastAppId

* Add BuildAppIdentifier

* Remove HasSinkForAppId

* Move toastStorage to ToastNotificationManager

* Address nits

* Update platform.cpp

* Adding packaged apps treated as unpackaged scenario

* Flip the bool

* Update platform.cpp

* Fix remaining nits

* last nits

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

* FI feature branch WNP_ToastNotification_L1 into WNP_ToastNotification_L2 (#2029)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@use…
loneursid added a commit that referenced this pull request Mar 11, 2022
* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into feature branch WNP_ToastNotification_L1 (#2026)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

* DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995)

* TDBuild - updating localized resource files.

* Add new font selection APIs to DWrite API spec (#1967)

* Add new font selection APIs to DWriteCore API spec.
* Add descriptions of font family models and font selection algorithms.

* AppLifecycle Restart API (#1134)

* Initial restart API branch

* Formatting to code blocks

* Updates to heading

* Removed preamble

* Updates to overview

* Removing resources content

* Updating restart spec with latest changes

* Fixed summary

* Updates to API details, mechanism and sample

* run markdown prettifier

* Updating mechanism

* Updating formatting for consistency

* Updates to return value description

* Updates to spec after latest review

* Prettified to match md guidelines, fixed nits

Co-authored-by: Hamza Usmani <mousma@microsoft.com>

* Initial RequestRestartNow API (#1882)

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* New test passes with API.

* updated comment

* Error handling changes and packaged code paths.

* Removed unused tests, and added new test.

* cleanup

* transport packaging stuff

* typo

* Enable control flow guard for Release only.

* PR feedback

* Add ARM64

* Update to support packaged scenarios.  This needs to be further scoped to only Desktop Bridge apps.

* Detect UWP and redirect.

* Reduce access usage.

* Final API Name updates

* Add MRTCore interface name and id (#1989)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Generate cert (#1986)

* Update DevCheck to generate MSTest.pfx/.cer

* Refactor temp handling. Add .user dir

* Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil

* Add -Remove-DevTestCert and -Remove-DevTestPfx

* Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx

* Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use

* Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx

* Update MSTest references

* Start of changing NMAKEfiles to MSBuild

* Add new file

* MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects

* 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts...

* Tweaked the vcxproj to successfully create .msix via MakeMSIX!

* Moved MakeMSIX.targets to the root (with other build files)

* It works! Got the test projects building with the .pfx and .pwd

* Rewiring test projects to use MakeMsix.targets instead of NMake

* Yet more MakeMsix fixup

* Fixed the package name

* Added dummy Clean command (for now)

* Fixed Deployment's test package where source files get put to different subdir+filename inside the msix

* Fix DevCheck Start-Service to gracefully degrade if not running as admin

* DeploymentTests were missing a build order dependency on BootstrapDLL project

* Updated DevCheck generated cert to have 12-month lifespan (like current one)

* Move Framework.* projects from makemsix.cmd to MakeMSIX.targets

* Delete makemsix.cmd (obsolete)

* Updated test projects to use static manifests instead of generated from a template (unnecessary complexity)

* Deleted obsolete MakeAppxManifestFromTemplate.*

* Removed obsolete manifest/template handling. Removed printfery debugging

* Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error

* Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr)

* Deleted obsolete files

* Replaced SolutionDir with RepoRoot

* Rewrote installer's testpackage creation project to use MakeMSIX

* Fixed naming inconsistencies

* Addressed some issues. More to come

* Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun

* Fix bad merge

* Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets

* Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets

* Updated projects to use the common RepoTestCertificate*

* Removed obsolete and redundant <Error> check

* Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late

* Test WTH is going on

* Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers

* Add DevCheck support to RunTestsInHelix job

* Merge/Port 1.0 license support into main/1.1 (#2012)

* Update installer to support both publishing IDs used in App SDK. (#1759)

* draft changes

* fixing typo

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Added MSIX license support (#1783)

* Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf)

* Simplified help

* Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install

* It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting.

* Add license support to Deployment API and a new InstallLicenses API (#1790)

* Updated DeploymentManager to install license files if necessary

* Add stubs for the InstallLicenseFile() methods

* Change installer to install licenses BEFORE packages, for higher reliability

* Copy the license header to the source tree to use whehn building via the pipeline]

* Add Licensing API and export from Bootstrap'r

* Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN

* yml changes to pickup licensing package when needed.

* moving restore to the top of the pipeline.

* moving back, wrong stage

* Fixed license filename

* add nuget authenticate call

* differnt connection

* adding nuget config for build

* avoid using licensing support in github / PR builds, which don't have access to the resources

* update script to capture package version / name.

* one missed check

* Incorported feedback

* udpdating nuget.config name to avoid conflicts.

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Incorporated feedback

Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019)

* Exclude CsWinRT.Dependency (#2021)

* cert management has changed

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#2037)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Add ToastNotificationManger::Setting API (#1984)

* Add ToastNotificationManger::Setting API

* Addressing nits

* Update ToastNotificationManager.cpp

* Add Foreground/Background handlers for ToastActivation (#1973)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Copy branch based on WNP_ToastNotifications

* Address nit

* Addressing nits

* Address nits

* Change name from ToastActivation->AppNotification

* Change more constants

* Reuse deserialize function

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

* FI WNP_ToastNotifications_L1into WNP_ToastNotifications_L2 (#1997)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>

* Implemented ToastNotification + unit tests (#1996)

Implemented ToastNotification + unit tests

* Add ToastRegistration functions to PushNotificationsLongRunningTask (#1976)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Rebase to WPN_ToastNotifications

* Update externs.h

* Rename toastGuid->appId

* Addressing nits

* Add sink check to AddToastRegistrationMapping

* Adding lock to HasSinkForAppId

* Change lock to shared lock

* Add unit tests, rename appId->toastAppId

* Add BuildAppIdentifier

* Remove HasSinkForAppId

* Move toastStorage to ToastNotificationManager

* Address nits

* Update platform.cpp

* Adding packaged apps treated as unpackaged scenario

* Flip the bool

* Update platform.cpp

* Fix remaining nits

* last nits

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

* FI feature branch WNP_ToastNotification_L1 into WNP_ToastNotification_L2 (#2029)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into feature branch WNP_ToastNotification_L1 (#2026)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

* DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995)

* TDBuild - updating localized resource files.

* Add new font selection APIs to DWrite API spec (#1967)

* Add new font selection APIs to DWriteCore API spec.
* Add descriptions of font family models and font selection algorithms.

* AppLifecycle Restart API (#1134)

* Initial restart API branch

* Formatting to code blocks

* Updates to heading

* Removed preamble

* Updates to overview

* Removing resources content

* Updating restart spec with latest changes

* Fixed summary

* Updates to API details, mechanism and sample

* run markdown prettifier

* Updating mechanism

* Updating formatting for consistency

* Updates to return value description

* Updates to spec after latest review

* Prettified to match md guidelines, fixed nits

Co-authored-by: Hamza Usmani <mousma@microsoft.com>

* Initial RequestRestartNow API (#1882)

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* New test passes with API.

* updated comment

* Error handling changes and packaged code paths.

* Removed unused tests, and added new test.

* cleanup

* transport packaging stuff

* typo

* Enable control flow guard for Release only.

* PR feedback

* Add ARM64

* Update to support packaged scenarios.  This needs to be further scoped to only Desktop Bridge apps.

* Detect UWP and redirect.

* Reduce access usage.

* Final API Name updates

* Add MRTCore interface name and id (#1989)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Generate cert (#1986)

* Update DevCheck to generate MSTest.pfx/.cer

* Refactor temp handling. Add .user dir

* Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil

* Add -Remove-DevTestCert and -Remove-DevTestPfx

* Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx

* Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use

* Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx

* Update MSTest references

* Start of changing NMAKEfiles to MSBuild

* Add new file

* MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects

* 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts...

* Tweaked the vcxproj to successfully create .msix via MakeMSIX!

* Moved MakeMSIX.targets to the root (with other build files)

* It works! Got the test projects building with the .pfx and .pwd

* Rewiring test projects to use MakeMsix.targets instead of NMake

* Yet more MakeMsix fixup

* Fixed the package name

* Added dummy Clean command (for now)

* Fixed Deployment's test package where source files get put to different subdir+filename inside the msix

* Fix DevCheck Start-Service to gracefully degrade if not running as admin

* DeploymentTests were missing a build order dependency on BootstrapDLL project

* Updated DevCheck generated cert to have 12-month lifespan (like current one)

* Move Framework.* projects from makemsix.cmd to MakeMSIX.targets

* Delete makemsix.cmd (obsolete)

* Updated test projects to use static manifests instead of generated from a template (unnecessary complexity)

* Deleted obsolete MakeAppxManifestFromTemplate.*

* Removed obsolete manifest/template handling. Removed printfery debugging

* Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error

* Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr)

* Deleted obsolete files

* Replaced SolutionDir with RepoRoot

* Rewrote installer's testpackage creation project to use MakeMSIX

* Fixed naming inconsistencies

* Addressed some issues. More to come

* Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun

* Fix bad merge

* Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets

* Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets

* Updated projects to use the common RepoTestCertificate*

* Removed obsolete and redundant <Error> check

* Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late

* Test WTH is going on

* Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers

* Add DevCheck support to RunTestsInHelix job

* Merge/Port 1.0 license support into main/1.1 (#2012)

* Update installer to support both publishing IDs used in App SDK. (#1759)

* draft changes

* fixing typo

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Added MSIX license support (#1783)

* Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf)

* Simplified help

* Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install

* It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting.

* Add license support to Deployment API and a new InstallLicenses API (#1790)

* Updated DeploymentManager to install license files if necessary

* Add stubs for the InstallLicenseFile() methods

* Change installer to install licenses BEFORE packages, for higher reliability

* Copy the license header to the source tree to use whehn building via the pipeline]

* Add Licensing API and export from Bootstrap'r

* Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN

* yml changes to pickup licensing package when needed.

* moving restore to the top of the pipeline.

* moving back, wrong stage

* Fixed license filename

* add nuget authenticate call

* differnt connection

* adding nuget config for build

* avoid using licensing support in github / PR builds, which don't have access to the resources

* update script to capture package version / name.

* one missed check

* Incorported feedback

* udpdating nuget.config name to avoid conflicts.

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Incorporated feedback

Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019)

* Exclude CsWinRT.Dependency (#2021)

* cert management has changed

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing merge errors

* Undoing change since it's coming from main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* build fix

* Changes not meant to go back into L1

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: Paul Purifoy <33183370+pmpurifoy@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: Daniel Ayala <14967941+danielayala94@users.noreply.github.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* RI WNP_ToastNotification_L2 into WNP_ToastNotification_L1 (#2048)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Add ToastNotificationManger::Setting API (#1984)

* Add ToastNotificationManger::Setting API

* Addressing nits

* Update ToastNotificationManager.cpp

* Add Foreground/Background handlers for ToastActivation (#1973)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Copy branch based on WNP_ToastNotifications

* Address nit

* Addressing nits

* Address nits

* Change name from ToastActivation->AppNotification

* Change more constants

* Reuse deserialize function

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

* FI WNP_ToastNotifications_L1into WNP_ToastNotifications_L2 (#1997)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>

* Implemented ToastNotification + unit tests (#1996)

Implemented ToastNotification + unit tests

* Add ToastRegistration functions to PushNotificationsLongRunningTask (#1976)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Rebase to WPN_ToastNotifications

* Update externs.h

* Rename toastGuid->appId

* Addressing nits

* Add sink check to AddToastRegistrationMapping

* Adding lock to HasSinkForAppId

* Change lock to shared lock

* Add unit tests, rename appId->toastAppId

* Add BuildAppIdentifier

* Remove HasSinkForAppId

* Move toastStorage to ToastNotificationManager

* Address nits

* Update platform.cpp

* Adding packaged apps treated as unpackaged scenario

* Flip the bool

* Update platform.cpp

* Fix remaining nits

* last nits

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

* FI feature branch WNP_ToastNotification_L1 into WNP_ToastNotification_L2 (#2029)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath272…
pmpurifoy added a commit that referenced this pull request Mar 14, 2022
…o handlers (#2187)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into feature branch WNP_ToastNotification_L1 (#2026)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

* DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995)

* TDBuild - updating localized resource files.

* Add new font selection APIs to DWrite API spec (#1967)

* Add new font selection APIs to DWriteCore API spec.
* Add descriptions of font family models and font selection algorithms.

* AppLifecycle Restart API (#1134)

* Initial restart API branch

* Formatting to code blocks

* Updates to heading

* Removed preamble

* Updates to overview

* Removing resources content

* Updating restart spec with latest changes

* Fixed summary

* Updates to API details, mechanism and sample

* run markdown prettifier

* Updating mechanism

* Updating formatting for consistency

* Updates to return value description

* Updates to spec after latest review

* Prettified to match md guidelines, fixed nits

Co-authored-by: Hamza Usmani <mousma@microsoft.com>

* Initial RequestRestartNow API (#1882)

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* New test passes with API.

* updated comment

* Error handling changes and packaged code paths.

* Removed unused tests, and added new test.

* cleanup

* transport packaging stuff

* typo

* Enable control flow guard for Release only.

* PR feedback

* Add ARM64

* Update to support packaged scenarios.  This needs to be further scoped to only Desktop Bridge apps.

* Detect UWP and redirect.

* Reduce access usage.

* Final API Name updates

* Add MRTCore interface name and id (#1989)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Generate cert (#1986)

* Update DevCheck to generate MSTest.pfx/.cer

* Refactor temp handling. Add .user dir

* Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil

* Add -Remove-DevTestCert and -Remove-DevTestPfx

* Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx

* Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use

* Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx

* Update MSTest references

* Start of changing NMAKEfiles to MSBuild

* Add new file

* MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects

* 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts...

* Tweaked the vcxproj to successfully create .msix via MakeMSIX!

* Moved MakeMSIX.targets to the root (with other build files)

* It works! Got the test projects building with the .pfx and .pwd

* Rewiring test projects to use MakeMsix.targets instead of NMake

* Yet more MakeMsix fixup

* Fixed the package name

* Added dummy Clean command (for now)

* Fixed Deployment's test package where source files get put to different subdir+filename inside the msix

* Fix DevCheck Start-Service to gracefully degrade if not running as admin

* DeploymentTests were missing a build order dependency on BootstrapDLL project

* Updated DevCheck generated cert to have 12-month lifespan (like current one)

* Move Framework.* projects from makemsix.cmd to MakeMSIX.targets

* Delete makemsix.cmd (obsolete)

* Updated test projects to use static manifests instead of generated from a template (unnecessary complexity)

* Deleted obsolete MakeAppxManifestFromTemplate.*

* Removed obsolete manifest/template handling. Removed printfery debugging

* Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error

* Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr)

* Deleted obsolete files

* Replaced SolutionDir with RepoRoot

* Rewrote installer's testpackage creation project to use MakeMSIX

* Fixed naming inconsistencies

* Addressed some issues. More to come

* Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun

* Fix bad merge

* Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets

* Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets

* Updated projects to use the common RepoTestCertificate*

* Removed obsolete and redundant <Error> check

* Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late

* Test WTH is going on

* Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers

* Add DevCheck support to RunTestsInHelix job

* Merge/Port 1.0 license support into main/1.1 (#2012)

* Update installer to support both publishing IDs used in App SDK. (#1759)

* draft changes

* fixing typo

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Added MSIX license support (#1783)

* Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf)

* Simplified help

* Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install

* It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting.

* Add license support to Deployment API and a new InstallLicenses API (#1790)

* Updated DeploymentManager to install license files if necessary

* Add stubs for the InstallLicenseFile() methods

* Change installer to install licenses BEFORE packages, for higher reliability

* Copy the license header to the source tree to use whehn building via the pipeline]

* Add Licensing API and export from Bootstrap'r

* Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN

* yml changes to pickup licensing package when needed.

* moving restore to the top of the pipeline.

* moving back, wrong stage

* Fixed license filename

* add nuget authenticate call

* differnt connection

* adding nuget config for build

* avoid using licensing support in github / PR builds, which don't have access to the resources

* update script to capture package version / name.

* one missed check

* Incorported feedback

* udpdating nuget.config name to avoid conflicts.

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Incorporated feedback

Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019)

* Exclude CsWinRT.Dependency (#2021)

* cert management has changed

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#2037)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Add ToastNotificationManger::Setting API (#1984)

* Add ToastNotificationManger::Setting API

* Addressing nits

* Update ToastNotificationManager.cpp

* Add Foreground/Background handlers for ToastActivation (#1973)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Copy branch based on WNP_ToastNotifications

* Address nit

* Addressing nits

* Address nits

* Change name from ToastActivation->AppNotification

* Change more constants

* Reuse deserialize function

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

* FI WNP_ToastNotifications_L1into WNP_ToastNotifications_L2 (#1997)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>

* Implemented ToastNotification + unit tests (#1996)

Implemented ToastNotification + unit tests

* Add ToastRegistration functions to PushNotificationsLongRunningTask (#1976)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Rebase to WPN_ToastNotifications

* Update externs.h

* Rename toastGuid->appId

* Addressing nits

* Add sink check to AddToastRegistrationMapping

* Adding lock to HasSinkForAppId

* Change lock to shared lock

* Add unit tests, rename appId->toastAppId

* Add BuildAppIdentifier

* Remove HasSinkForAppId

* Move toastStorage to ToastNotificationManager

* Address nits

* Update platform.cpp

* Adding packaged apps treated as unpackaged scenario

* Flip the bool

* Update platform.cpp

* Fix remaining nits

* last nits

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

* FI feature branch WNP_ToastNotification_L1 into WNP_ToastNotification_L2 (#2029)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into feature branch WNP_ToastNotification_L1 (#2026)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

* DDLM package names are Microsoft.WinAppRuntime.DDLM.<minor><patch>.<msixminor>.<msixbuild>.<msixrevision>[-shortversiontag]. But we only want to match down to <minor>. The code+spec was wrong to look for <minor>.* needs to be <minor>* (#1995)

* TDBuild - updating localized resource files.

* Add new font selection APIs to DWrite API spec (#1967)

* Add new font selection APIs to DWriteCore API spec.
* Add descriptions of font family models and font selection algorithms.

* AppLifecycle Restart API (#1134)

* Initial restart API branch

* Formatting to code blocks

* Updates to heading

* Removed preamble

* Updates to overview

* Removing resources content

* Updating restart spec with latest changes

* Fixed summary

* Updates to API details, mechanism and sample

* run markdown prettifier

* Updating mechanism

* Updating formatting for consistency

* Updates to return value description

* Updates to spec after latest review

* Prettified to match md guidelines, fixed nits

Co-authored-by: Hamza Usmani <mousma@microsoft.com>

* Initial RequestRestartNow API (#1882)

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* Initial API signature

* snap for driving home

* RestartAgent basic build infra

* builds now

* Updates to the calling API and the restartagent.

* switch to using common implementation of IsPackagedProcess()/HasIdentity()

* update

* New test passes with API.

* updated comment

* Error handling changes and packaged code paths.

* Removed unused tests, and added new test.

* cleanup

* transport packaging stuff

* typo

* Enable control flow guard for Release only.

* PR feedback

* Add ARM64

* Update to support packaged scenarios.  This needs to be further scoped to only Desktop Bridge apps.

* Detect UWP and redirect.

* Reduce access usage.

* Final API Name updates

* Add MRTCore interface name and id (#1989)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.25001 (#2018)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220114.0-CI -> To Version 1.1.0-20220125.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Generate cert (#1986)

* Update DevCheck to generate MSTest.pfx/.cer

* Refactor temp handling. Add .user dir

* Change cert handling to use .user\* and direct certificate handler via Powershell's PKI module. Buh-bye all references to MSTest.* and certutil

* Add -Remove-DevTestCert and -Remove-DevTestPfx

* Change all temp\MSTest.pfx to .user\winappsdk.certificate.test.pfx

* Added -CertPasswordFile, -CertPasswordUser, -RemoveAll. Save password as plaintext to .pwd file for later use

* Update makemsix.cmd to pass along the .pwd content needed to use the (now password protected) .pfx

* Update MSTest references

* Start of changing NMAKEfiles to MSBuild

* Add new file

* MakeMsix.targets works! Rewrote DDLM.msix to work it out, when running a specific project (e.g. 'msbuild /bl /p:Configuration=Debug,Platform=x64 /t:Build test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj'). Now to verify it works when building the solution, moving MakeMsix.targets out to root\build and propogating this to the other makemsix projects

* 'msbuild foo.vcxproj' works but 'msbuild bar.sln' fails due to 'C:\source\repos\windowsappsdk\test\DynamicDependency\data\DynamicDependencyLifetimeManager.Msix\DynamicDependencyLifetimeManager.Msix.vcxproj error MSB4057: The target GetProjectInfoForReference does not exist in the project. [C:\source\repos\windowsappsdk\' Seems GetPRojectInfoForReference is referenced by 'C:\ProgramFiles (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets' and Microsoft.Makefile.targets, we don't fit either but they're required to resolve '<ProjectReference...'? Is it possible to move the ProjectReference dependency to the .sln? Or make this work without trying to make a full blown C++ or NMake project? Time to ping some VS/MSBuild experts...

* Tweaked the vcxproj to successfully create .msix via MakeMSIX!

* Moved MakeMSIX.targets to the root (with other build files)

* It works! Got the test projects building with the .pfx and .pwd

* Rewiring test projects to use MakeMsix.targets instead of NMake

* Yet more MakeMsix fixup

* Fixed the package name

* Added dummy Clean command (for now)

* Fixed Deployment's test package where source files get put to different subdir+filename inside the msix

* Fix DevCheck Start-Service to gracefully degrade if not running as admin

* DeploymentTests were missing a build order dependency on BootstrapDLL project

* Updated DevCheck generated cert to have 12-month lifespan (like current one)

* Move Framework.* projects from makemsix.cmd to MakeMSIX.targets

* Delete makemsix.cmd (obsolete)

* Updated test projects to use static manifests instead of generated from a template (unnecessary complexity)

* Deleted obsolete MakeAppxManifestFromTemplate.*

* Removed obsolete manifest/template handling. Removed printfery debugging

* Minor syntax cleanup. Fixed appxmanifest overly aggressive copy/paste human error <sheepish grin>. Fixed publish-header delete-custom-build-step human error

* Fixup Math framework header publishing (due to bad merge due to the age of this change and other work in other branches that hit main. Grrr)

* Deleted obsolete files

* Replaced SolutionDir with RepoRoot

* Rewrote installer's testpackage creation project to use MakeMSIX

* Fixed naming inconsistencies

* Addressed some issues. More to come

* Fixed Get-UserPath emitting New-Item result to the output stream thus when creating the .user directory return $user returned System.Object[] with 2 objects in the stream (filename twice). Well, that was fun

* Fix bad merge

* Added Clean support to MakeMSIX. Cleanup up some internals including dependencies. MakeMsixOutputFilename is no longer optional and inferred; it must be defined by a project before import'ing makemsix.targets

* Optimized load-test-cert-password to a global done once instead of per import rof makemsix.targets

* Updated projects to use the common RepoTestCertificate*

* Removed obsolete and redundant <Error> check

* Added file-existence check before readng file. Added error check at start of project to flag missing-devcheck-artifacts early rather than late

* Test WTH is going on

* Remove debugging printfery. NOTE: Separate Jobs in a pipeline (will? may?) run in parallel on different machines. Until build-mrt.yml is merged into WindowsAppSDK-BuildProject-Steps.yml any common setup (or cleanup) needs to be done in both. Also, it means MRTCore *cannot* use any APIs in WindowsAppRuntime.sln because they're technically peers

* Add DevCheck support to RunTestsInHelix job

* Merge/Port 1.0 license support into main/1.1 (#2012)

* Update installer to support both publishing IDs used in App SDK. (#1759)

* draft changes

* fixing typo

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Added MSIX license support (#1783)

* Update installer to support installing licenses. Structure in place, need to coordinate with build pipeline to implement InstallLicenses (instead of printf)

* Simplified help

* Added missing Copyright. Add valid license for inner-loop testing. Added --dry-run and other command line parameters (to expedite testing as well as product benefit). Wired up install flow. Next is testing the actual get-license-from-stream-and-install

* It works! Verified with stub NOP implementation here for dev inner-loop and full pipeline bits. Improved error reporting.

* Add license support to Deployment API and a new InstallLicenses API (#1790)

* Updated DeploymentManager to install license files if necessary

* Add stubs for the InstallLicenseFile() methods

* Change installer to install licenses BEFORE packages, for higher reliability

* Copy the license header to the source tree to use whehn building via the pipeline]

* Add Licensing API and export from Bootstrap'r

* Added some pseudocode in MsixInstallLicenses(). Real implementation coming RSN

* yml changes to pickup licensing package when needed.

* moving restore to the top of the pipeline.

* moving back, wrong stage

* Fixed license filename

* add nuget authenticate call

* differnt connection

* adding nuget config for build

* avoid using licensing support in github / PR builds, which don't have access to the resources

* update script to capture package version / name.

* one missed check

* Incorported feedback

* udpdating nuget.config name to avoid conflicts.

Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Incorporated feedback

Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* Update to FrameworkUDK 1.1.0-CI-22541.1000.220124-0934.0 (#2019)

* Exclude CsWinRT.Dependency (#2021)

* cert management has changed

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing merge errors

* Undoing change since it's coming from main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* build fix

* Changes not meant to go back into L1

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: Paul Purifoy <33183370+pmpurifoy@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: Daniel Ayala <14967941+danielayala94@users.noreply.github.com>
Co-authored-by: Niklas Borson <niklasb@microsoft.com>
Co-authored-by: Hamza Usmani <hamza-usmani@users.noreply.github.com>
Co-authored-by: Hamza Usmani <mousma@microsoft.com>
Co-authored-by: Scott Darnell <20483794+aeloros@users.noreply.github.com>
Co-authored-by: Hui Chen <huichen@microsoft.com>
Co-authored-by: Ben Kuhn <bjk4929@yahoo.com>
Co-authored-by: Ben Kuhn <benkuhn@ntdev.microsoft.com>

* RI WNP_ToastNotification_L2 into WNP_ToastNotification_L1 (#2048)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Add ToastNotificationManger::Setting API (#1984)

* Add ToastNotificationManger::Setting API

* Addressing nits

* Update ToastNotificationManager.cpp

* Add Foreground/Background handlers for ToastActivation (#1973)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Copy branch based on WNP_ToastNotifications

* Address nit

* Addressing nits

* Address nits

* Change name from ToastActivation->AppNotification

* Change more constants

* Reuse deserialize function

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

* FI WNP_ToastNotifications_L1into WNP_ToastNotifications_L2 (#1997)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* FI main into WNP_ToastNotifications_L1 (#1993)

* Enable SBOM generation for WindowsAppSDK (#1979)

* TDBuild - updating localized resource files.

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.14001 (#1985)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20220110.0-CI -> To Version 1.0.0-20220114.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* TDBuild - updating localized resource files.

Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>
Co-authored-by: TDBuild <DoNotEmailThis@dev.null.microsoft.com>

* Implemented ToastNotification + unit tests (#1996)

Implemented ToastNotification + unit tests

* Add ToastRegistration functions to PushNotificationsLongRunningTask (#1976)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Rebase to WPN_ToastNotifications

* Update externs.h

* Rename toastGuid->appId

* Addressing nits

* Add sink check to AddToastRegistrationMapping

* Adding lock to HasSinkForAppId

* Change lock to shared lock

* Add unit tests, rename appId->toastAppId

* Add BuildAppIdentifier

* Remove HasSinkForAppId

* Move toastStorage to ToastNotificationManager

* Address nits

* Update platform.cpp

* Adding packaged apps treated as unpackaged scenario

* Flip the bool

* Update platform.cpp

* Fix remaining nits

* last nits

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

* FI feature branch WNP_ToastNotification_L1 into WNP_ToastNotification_L2 (#2029)

* RI WNP_ToastNotifications_L2 into WNP_ToastNotifications_L1 (#1982)

* Wnp toast notifications (#1981)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Revert "Forward integrate main into WNP_ToastNotifications (#1970)"

This reverts commit a981a1e05c0e218451e1d3c1d92d45cc679ade13.

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Sharath Manchala <10109130+sharath2727@users.noreply.github.com>
Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* User/erlangl/purifoypaul/arm64 build fix (#1983)

* Adding temp idl for base branch

* Create .cpp/.h files for handling toastnotifications

* Introduce ToastNotification Registration APIs (#1875)

* Introduce ToastRegistration APIs and associated taef tests

* Address comments

* Address minor comments

* Add support for Release x64 for ToastNotificationTestApp

* Addressing nits

* Add GetActivatorGuid function

* Last nits

* Update error messages

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>

* Forward integrate main into WNP_ToastNotifications (#1970)

* Added header so MddBootstrapAutoInitializer.cpp compiles regardless of precompiled headers (#1947)

* Update dependencies from https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal build Maestro-UpdateEngCommon_2201.10001 (#1962)

Microsoft.WinAppSDK.EngCommon
 From Version 1.0.0-20211213.0-CI -> To Version 1.0.0-20220110.0-CI

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* Run the Foundation test suite from the Internal Integraiton tests (#1963)

Co-authored-by: Howard Kapustein <howardk@microsoft.com>
Co-authored-by: reunion-maestro[bot] <81196566+reunion-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Kyaw Thant <48363984+kythant@users.noreply.github.com>
Co-authored-by: Eric Langlois <erlangl@microsoft.com>

* Fixing build files for ToastNotificationTestApp/ToastNotificationTests

* File was renamed to main

Co-authored-by: Paul Purifoy <purifoypaul@microsoft.com>
Co-authored-by: Shar…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.