Skip to content

Commit 22c5b02

Browse files
loneursidpmpurifoysharath2727DrusTheAxereunion-maestro[bot]
authored
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>
1 parent c80f77d commit 22c5b02

177 files changed

Lines changed: 4656 additions & 2767 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,9 @@ installer/test/testpackages/
381381
# Local temp storage
382382
temp/
383383

384+
# Local per-user storage
385+
.user/
386+
384387
# Build Pipeline override
385388
build/override/
386389

Directory.Build.props

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@
2727

2828
<Target Name="DirectoryBuildPropsInfo">
2929
<Message Condition="$(WindowsAppSDKBuildPipeline) == '1'" Importance="High" Text="Directory.Build.props detects WindowsAppSDKBuildPipeline=$(WindowsAppSDKBuildPipeline)"/>
30+
31+
<Error Condition="!Exists('$(RepoTestCertificatePFX)')" Text="$(RepoTestCertificatePFX) not found. Run '$(RepoRoot)\tools\DevCheck.cmd' to generate the test certificate." />
32+
<Error Condition="!Exists('$(RepoTestCertificatePWD)')" Text="$(RepoTestCertificatePWD) not found. Run '$(RepoRoot)\tools\DevCheck.cmd' to generate the test certificate." />
3033
</Target>
3134

3235
<!-- Conditional behavior for build pipeline vs local development -->
@@ -47,4 +50,16 @@
4750

4851
<!-- Build with the hybrid CRT (Universal CRT + Static VS CRT (for what little the Universal CRT doesn't cover) -->
4952
<Import Project="$(MSBuildThisFileDirectory)HybridCRT.props" />
53+
54+
<!-- Load the test certificate's password (so we do it once for reuse across projects) -->
55+
<PropertyGroup Condition="'$(RepoTestCertificatePFX)' == ''">
56+
<RepoTestCertificatePFX>$(RepoRoot)\.user\winappsdk.certificate.test.pfx</RepoTestCertificatePFX>
57+
</PropertyGroup>
58+
<PropertyGroup Condition="'$(RepoTestCertificatePWD)' == ''">
59+
<RepoTestCertificatePWD>$(RepoRoot)\.user\winappsdk.certificate.test.pwd</RepoTestCertificatePWD>
60+
</PropertyGroup>
61+
<PropertyGroup Condition="('$(RepoTestCertificatePWD)' != '') and Exists('$(RepoTestCertificatePWD)')">
62+
<RepoTestCertificatePassword>$([System.IO.File]::ReadAllText('$(RepoTestCertificatePWD)').TrimEnd())</RepoTestCertificatePassword>
63+
<RepoTestCertificatePasswordRedacted>...redacted...</RepoTestCertificatePasswordRedacted>
64+
</PropertyGroup>
5065
</Project>

MakeMsix.targets

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. See LICENSE in the project root for license information. -->
3+
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4+
5+
<!-- Sign packages by default. Set MakeMsixSigned=false to not sign created packages -->
6+
<PropertyGroup>
7+
<MakeMsixSigned Condition="'$(MakeMsixSigned)' == ''">true</MakeMsixSigned>
8+
</PropertyGroup>
9+
10+
<!-- Clean artifacts from the MakeMSIX target -->
11+
<Target Name="CleanMakeMSIX" AfterTargets="AfterClean">
12+
<Error Condition="'$(MakeMsixOutputFilename)' == ''" Text="MakeMsixOutputFilename property is not defined" />
13+
<PropertyGroup>
14+
<_MakeMsix_WorkDir>$(OutDir)msix</_MakeMsix_WorkDir>
15+
</PropertyGroup>
16+
<RemoveDir Directories="$(_MakeMsix_WorkDir)" Condition="Exists('$(_MakeMsix_WorkDir)')" />
17+
<Message Text="Cleaning $(OutDir)$(MakeMsixOutputFilename)" Importance="low"/>
18+
<Delete Files="$(OutDir)$(MakeMsixOutputFilename)"/>
19+
</Target>
20+
21+
<!-- Create an MSIX package and optionally sign it-->
22+
<Target Name="MakeMSIX"
23+
Inputs="@(MakeMsixInputs);@(MakeMsixInputsWithLocations);@(MakeMsixInputAssets)"
24+
Outputs="$(OutDir)$(MakeMsixOutputFilename)"
25+
AfterTargets="AfterBuild">
26+
27+
<Error Condition="'$(MakeMsixOutputFilename)' == ''" Text="MakeMsixOutputFilename property is not defined" />
28+
29+
<!-- Initial state diagnostics -->
30+
<Message Text="MakeMSIX Pre: MSBuildProjectName=$(MSBuildProjectName)" Importance="low" />
31+
<Message Text="MakeMSIX Pre: ProjectName=$(ProjectName)" Importance="low" />
32+
<Message Text="MakeMSIX Pre: TargetName=$(TargetName)" Importance="low" />
33+
<Message Text="MakeMSIX Pre: MakeMsixInputs=@(MakeMsixInputs)" Importance="low" />
34+
<Message Text="MakeMSIX Pre: MakeMsixInputsWithLocations=@(MakeMsixInputsWithLocations)" Importance="low" />
35+
<Message Text="MakeMSIX Pre: MakeMsixInputAssets=@(MakeMsixInputAssets)" Importance="low" />
36+
<Message Text="MakeMSIX Pre: MakeMsixOutputFilename=$(MakeMsixOutputFilename)" Importance="low" />
37+
38+
<!-- Ensure MakeMsixOutputFilename is defined (defining it here if necessary, as per Microsoft.Cpp.Default.props line ~189) -->
39+
<PropertyGroup>
40+
<MakeMsixOutputFilename Condition="'$(MakeMsixOutputFilename)' == ''">$(ProjectName).msix</MakeMsixOutputFilename>
41+
</PropertyGroup>
42+
<Message Text="MakeMSIX: TargetName=$(MakeMsixOutputFilename)" Importance="low" />
43+
<Message Text="MakeMSIX: OutDir=$(OutDir)" Importance="low" />
44+
45+
<PropertyGroup>
46+
<_MakeMsix_WorkDir>$(OutDir)msix</_MakeMsix_WorkDir>
47+
<_MakeMsix_OutDir>$(OutDir)</_MakeMsix_OutDir>
48+
<_MakeMsix_OutFilename>$(_MakeMsix_OutDir)$(MakeMsixOutputFilename)</_MakeMsix_OutFilename>
49+
<MakeMsixOutputFilename>$(_MakeMsix_OutFilename)</MakeMsixOutputFilename>
50+
<_MakeMsix_Executable>makeappx.exe</_MakeMsix_Executable>
51+
<_MakeMsix_Parameters>/o /h SHA256</_MakeMsix_Parameters>
52+
<_MakeMsixCommand>$(_MakeMsix_Executable) pack $(_MakeMsix_Parameters) $(_MakeMsix_Options) /d $(_MakeMsix_WorkDir) /p $(_MakeMsix_OutFilename)</_MakeMsixCommand>
53+
</PropertyGroup>
54+
<Message Text="MakeMSIX: _MakeMsix_WorkDir=$(_MakeMsix_WorkDir)" Importance="low" />
55+
<Message Text="MakeMSIX: _MakeMsix_OutDir=$(_MakeMsix_OutDir)" Importance="low" />
56+
<Message Text="MakeMSIX: _MakeMsix_OutFilename=$(_MakeMsix_OutFilename)" Importance="low" />
57+
<MakeDir Directories="$(_MakeMsix_WorkDir)" Condition="!Exists('$(_MakeMsix_WorkDir)')" />
58+
59+
<Message Text="MakeMSIX: Copy @(MakeMsixInputs) to $(_MakeMsix_WorkDir)" Importance="low" />
60+
<Copy SourceFiles="@(MakeMsixInputs)" DestinationFolder="$(_MakeMsix_WorkDir)" SkipUnchangedFiles="true" />
61+
62+
<Message Text="MakeMSIX: Copy @(MakeMsixInputsWithLocations) to @(MakeMsixInputsWithLocations->'$(_MakeMsix_WorkDir)\%(TargetFile)')" Importance="low" />
63+
<Copy SourceFiles="@(MakeMsixInputsWithLocations)"
64+
DestinationFiles="@(MakeMsixInputsWithLocations->'$(_MakeMsix_WorkDir)\%(TargetFile)')"
65+
SkipUnchangedFiles="true" />
66+
67+
<Message Text="MakeMSIX: Copy @(MakeMsixInputAssets) to $(_MakeMsix_WorkDir)\Assets" Importance="low" Condition="'@(MakeMsixInputAssets)' != ''"/>
68+
<MakeDir Directories="$(_MakeMsix_WorkDir)\Assets" Condition="'@(MakeMsixInputAssets)' != '' and !Exists('$(_MakeMsix_WorkDir)\Assets')" />
69+
<Copy SourceFiles="@(MakeMsixInputAssets)" DestinationFolder="$(_MakeMsix_WorkDir)\Assets" SkipUnchangedFiles="true" Condition="'@(MakeMsixInputAssets)' != ''"/>
70+
71+
<Message Text="MakeMSIX: Command: $(_MakeMsixCommand)" Importance="normal" />
72+
<Exec Command="$(_MakeMsixCommand)" />
73+
74+
<!-- Sign the MSIX -->
75+
<Error Condition="('$(MakeMsixSigned)' == 'true') and !Exists('$(RepoTestCertificatePFX)')" Text="$(RepoTestCertificatePFX) not found. Run '$(RepoRoot)\tools\DevCheck.cmd' to generate the test certificate." />
76+
<Error Condition="('$(MakeMsixSigned)' == 'true') and !Exists('$(RepoTestCertificatePWD)')" Text="$(RepoTestCertificatePWD) not found. Run '$(RepoRoot)\tools\DevCheck.cmd' to generate the test certificate." />
77+
<PropertyGroup Condition="'$(MakeMsixSigned)' == 'true'">
78+
<_SignMsix_Executable>signtool.exe</_SignMsix_Executable>
79+
<_SignMsix_Parameters>/fd SHA256</_SignMsix_Parameters>
80+
<_SignMsixCommand>$(_SignMsix_Executable) sign $(_SignMsix_Parameters) $(_SignMsix_Options) /f "$(RepoTestCertificatePFX)" /p "$(RepoTestCertificatePassword)" "$(_MakeMsix_OutFilename)"</_SignMsixCommand>
81+
<_SignMsixCommand_Redacted>$(_SignMsix_Executable) sign $(_SignMsix_Parameters) $(_SignMsix_Options) /f "$(RepoTestCertificatePFX)" /p "$(RepoTestCertificatePasswordRedacted)" "$(_MakeMsix_OutFilename)"</_SignMsixCommand_Redacted>
82+
</PropertyGroup>
83+
<Message Text="MakeMSIX: Sign: $(_SignMsixCommand_Redacted)" Importance="normal" Condition="'$(MakeMsixSigned)' == 'true'" />
84+
<Exec Command="$(_SignMsixCommand)" Condition="'$(MakeMsixSigned)' == 'true'"/>
85+
</Target>
86+
</Project>

WindowsAppRuntime.sln

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ EndProject
6666
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Framework.Math.Multiply", "test\DynamicDependency\data\Framework.Math.Multiply\Framework.Math.Multiply.vcxproj", "{66D0D8B1-FAF4-4C6A-8303-07F3BA356FE3}"
6767
EndProject
6868
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.WindowsAppRuntime.Framework", "test\DynamicDependency\data\Microsoft.WindowsAppRuntime.Framework\Microsoft.WindowsAppRuntime.Framework.vcxproj", "{9C1A6C58-52D6-4514-9120-5C339C5DF4BE}"
69+
ProjectSection(ProjectDependencies) = postProject
70+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778} = {BC5E5A3E-E733-4388-8B00-F8495DA7C778}
71+
EndProjectSection
6972
EndProject
7073
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DynamicDependencyDataStore", "DynamicDependencyDataStore", "{441A3BB0-7FD2-4902-AEDB-A1C57B528C77}"
7174
EndProject
@@ -210,6 +213,9 @@ EndProject
210213
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WindowsAppRuntime.Test.Singleton.Msix", "test\DynamicDependency\data\WindowsAppRuntime.Test.Singleton.Msix\WindowsAppRuntime.Test.Singleton.Msix.vcxproj", "{8F2C21F1-47AB-428C-A110-EE33FD7D9493}"
211214
EndProject
212215
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DeploymentTests", "test\Deployment\DeploymentTests.vcxproj", "{E5659A29-FE68-417B-9BC5-613073DD54DF}"
216+
ProjectSection(ProjectDependencies) = postProject
217+
{F76B776E-86F5-48C5-8FC7-D2795ECC9746} = {F76B776E-86F5-48C5-8FC7-D2795ECC9746}
218+
EndProjectSection
213219
EndProject
214220
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EnvironmentManagerTests", "test\EnvironmentManagerTests\EnvironmentManagerTests.vcxproj", "{2CD5CD9B-CF45-4FA7-9769-EE4E02426BF0}"
215221
EndProject
@@ -273,6 +279,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ToastNotificationsTestApp",
273279
EndProject
274280
Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "ToastNotificationsTestAppPackage", "test\TestApps\ToastNotificationsTestAppPackage\ToastNotificationsTestAppPackage.wapproj", "{D6A64926-4988-4C64-A5A8-2C14B1388696}"
275281
EndProject
282+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RestartAgent", "dev\RestartAgent\RestartAgent.vcxproj", "{BC5E5A3E-E733-4388-8B00-F8495DA7C778}"
283+
ProjectSection(ProjectDependencies) = postProject
284+
{B73AD907-6164-4294-88FB-F3C9C10DA1F1} = {B73AD907-6164-4294-88FB-F3C9C10DA1F1}
285+
{F76B776E-86F5-48C5-8FC7-D2795ECC9746} = {F76B776E-86F5-48C5-8FC7-D2795ECC9746}
286+
EndProjectSection
287+
EndProject
288+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Licensing", "Licensing", "{34671779-4A4D-4D0E-B259-CD0F14D4F6D4}"
289+
EndProject
290+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Licensing", "dev\Licensing\Licensing.vcxitems", "{885A43FA-052D-4B0D-A2DC-13EE15796435}"
291+
EndProject
276292
Global
277293
GlobalSection(SharedMSBuildProjectFiles) = preSolution
278294
test\inc\inc.vcxitems*{0a5fee93-48b7-40ec-bb9a-b27d11060da9}*SharedItemsImports = 4
@@ -285,10 +301,12 @@ Global
285301
test\inc\inc.vcxitems*{56a1d696-feda-4333-bf37-772ebececb10}*SharedItemsImports = 4
286302
test\inc\inc.vcxitems*{5b2d17fe-c371-417f-860c-3d32397c2404}*SharedItemsImports = 4
287303
test\inc\inc.vcxitems*{7c502995-59c3-483b-86ba-815985353633}*SharedItemsImports = 4
304+
dev\Licensing\Licensing.vcxitems*{885a43fa-052d-4b0d-a2dc-13ee15796435}*SharedItemsImports = 9
288305
test\inc\inc.vcxitems*{8e52d7ea-a200-4a6b-ba74-8efb49468caf}*SharedItemsImports = 4
289306
test\inc\inc.vcxitems*{b567fe2e-3a03-48d0-b2b5-760cdec35891}*SharedItemsImports = 9
290307
dev\Common\Common.vcxitems*{b73ad907-6164-4294-88fb-f3c9c10da1f1}*SharedItemsImports = 4
291308
dev\DynamicDependency\API\DynamicDependency.vcxitems*{b73ad907-6164-4294-88fb-f3c9c10da1f1}*SharedItemsImports = 4
309+
dev\Licensing\Licensing.vcxitems*{b73ad907-6164-4294-88fb-f3c9c10da1f1}*SharedItemsImports = 4
292310
dev\PowerNotifications\PowerNotifications.vcxitems*{b73ad907-6164-4294-88fb-f3c9c10da1f1}*SharedItemsImports = 4
293311
dev\UndockedRegFreeWinRT\UndockedRegFreeWinRT.vcxitems*{b73ad907-6164-4294-88fb-f3c9c10da1f1}*SharedItemsImports = 4
294312
dev\PowerNotifications\PowerNotifications.vcxitems*{b75c1b22-553c-40e4-b38e-6ab4d01fdb9d}*SharedItemsImports = 9
@@ -1151,6 +1169,21 @@ Global
11511169
{D6A64926-4988-4C64-A5A8-2C14B1388696}.Release|x86.ActiveCfg = Release|x86
11521170
{D6A64926-4988-4C64-A5A8-2C14B1388696}.Release|x86.Build.0 = Release|x86
11531171
{D6A64926-4988-4C64-A5A8-2C14B1388696}.Release|x86.Deploy.0 = Release|x86
1172+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778}.Debug|Any CPU.ActiveCfg = Debug|Win32
1173+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778}.Debug|ARM.ActiveCfg = Debug|Win32
1174+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778}.Debug|ARM64.ActiveCfg = Debug|Win32
1175+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778}.Debug|x64.ActiveCfg = Debug|x64
1176+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778}.Debug|x64.Build.0 = Debug|x64
1177+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778}.Debug|x86.ActiveCfg = Debug|Win32
1178+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778}.Debug|x86.Build.0 = Debug|Win32
1179+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778}.Release|Any CPU.ActiveCfg = Release|Win32
1180+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778}.Release|ARM.ActiveCfg = Release|Win32
1181+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778}.Release|ARM64.ActiveCfg = Release|ARM64
1182+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778}.Release|ARM64.Build.0 = Release|ARM64
1183+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778}.Release|x64.ActiveCfg = Release|x64
1184+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778}.Release|x64.Build.0 = Release|x64
1185+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778}.Release|x86.ActiveCfg = Release|Win32
1186+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778}.Release|x86.Build.0 = Release|Win32
11541187
EndGlobalSection
11551188
GlobalSection(SolutionProperties) = preSolution
11561189
HideSolutionNode = FALSE
@@ -1238,6 +1271,9 @@ Global
12381271
{E977B1BD-00DC-4085-A105-E0A18E0183D7} = {8630F7AA-2969-4DC9-8700-9B468C1DC21D}
12391272
{4B30C685-8490-440F-9879-A75D45DAA361} = {AC5FFC80-92FE-4933-BED2-EC5519AC4440}
12401273
{D6A64926-4988-4C64-A5A8-2C14B1388696} = {AC5FFC80-92FE-4933-BED2-EC5519AC4440}
1274+
{BC5E5A3E-E733-4388-8B00-F8495DA7C778} = {3DE93B2F-F887-437D-B512-6B1024ABA290}
1275+
{34671779-4A4D-4D0E-B259-CD0F14D4F6D4} = {448ED2E5-0B37-4D97-9E6B-8C10A507976A}
1276+
{885A43FA-052D-4B0D-A2DC-13EE15796435} = {34671779-4A4D-4D0E-B259-CD0F14D4F6D4}
12411277
EndGlobalSection
12421278
GlobalSection(ExtensibilityGlobals) = postSolution
12431279
SolutionGuid = {4B3D7591-CFEC-4762-9A07-ABE99938FB77}

build/AzurePipelinesTemplates/WindowsAppSDK-BuildDevProject-Steps.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
parameters:
22
channel: 'experimental'
3+
enableLicenseInstall: false
34

45
steps:
56
- template: WindowsAppSDK-BuildProject-Steps.yml
@@ -9,3 +10,4 @@ steps:
910
buildOutputDir: $(buildOutputDir)
1011
publishDir: $(publishDir)
1112
channel: ${{ parameters.channel }}
13+
enableLicenseInstall: ${{ parameters.enableLicenseInstall }}

0 commit comments

Comments
 (0)