Skip to content

MSIX: Always include PackageIntegrity/Content[Enforcement=on]#6613

Open
DrusTheAxe wants to merge 1 commit into
mainfrom
user/drustheaxe/appxmanifest-PackageIntegrity
Open

MSIX: Always include PackageIntegrity/Content[Enforcement=on]#6613
DrusTheAxe wants to merge 1 commit into
mainfrom
user/drustheaxe/appxmanifest-PackageIntegrity

Conversation

@DrusTheAxe

@DrusTheAxe DrusTheAxe commented Jul 10, 2026

Copy link
Copy Markdown
Member

All appxmanifest.xml should include

<uap10:PackageIntegrity><uap10:Content Enforcement="on"/>

uap10:Content - Windows UWP applications | Microsoft Learn

Store-signed packages received a degree of additional protection since Win8 -- pkgdir lockdown (TrustLevel ACE, etc), some pkgdir / blockmap verifications at activation, etc.

This was later (20H1 aka 10.0.19041.0) extended to other signed packages, if they opt-in via <uap10:PackageIntegrity>.

This manifest option is ignored if not relevant (e.g. the package isn't signed).

NOTE: Enforcement options are on, off, and default (ie Windows decides, currently equivalent to off). While Windows could change the default behavior to on, that wouldn't help for existing downlevel Windows systems. So always specifying it in the manifest is the right answer, until if/when Windows treats default equivalent to on, and is ubiquitous across the ecosystem (IOW, a loooong way into the future, at best).

NOTE: This does for WinAppSDK's VS/File/NewProject... templates as MSIX: Always include PackageIntegrity/Content[Enforcement=on] does for winappcli

@DrusTheAxe DrusTheAxe self-assigned this Jul 10, 2026
@DrusTheAxe DrusTheAxe added area-WinAppSDK:Templates Topics related to Visual Studio templates for Windows App SDK and removed needs-triage labels Jul 10, 2026
@DrusTheAxe DrusTheAxe added this to the 3.0 milestone Jul 10, 2026
@DrusTheAxe

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the Windows App SDK VS New Project templates’ MSIX appxmanifest files to always opt-in to MSIX package integrity content enforcement by adding uap10:PackageIntegrity with uap10:Content Enforcement="on".

Changes:

  • Added the uap10 XML namespace to template appxmanifest files.
  • Added uap10 to IgnorableNamespaces to support downlevel parsing behavior.
  • Added uap10:PackageIntegrity / uap10:Content Enforcement="on" to all project-template MSIX manifests.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
dev/Templates/Source/ProjectTemplates/Desktop/CSharp/UnitTestApp/Package-managed.appxmanifest Adds uap10 namespace + PackageIntegrity opt-in (currently inserted under <Properties>).
dev/Templates/Source/ProjectTemplates/Desktop/CSharp/TabViewApp/Package-managed.appxmanifest Adds uap10 namespace + PackageIntegrity opt-in (currently inserted under <Properties>).
dev/Templates/Source/ProjectTemplates/Desktop/CSharp/SingleProjectPackagedApp/Package-managed.appxmanifest Adds uap10 namespace + PackageIntegrity opt-in (currently inserted under <Properties>).
dev/Templates/Source/ProjectTemplates/Desktop/CSharp/PackagedApp/WapProj/Package-managed.appxmanifest Adds uap10 namespace + PackageIntegrity opt-in (currently inserted under <Properties>).
dev/Templates/Source/ProjectTemplates/Desktop/CSharp/NavigationApp/Package-managed.appxmanifest Adds uap10 namespace + PackageIntegrity opt-in (currently inserted under <Properties>).
dev/Templates/Source/ProjectTemplates/Desktop/CSharp/MvvmApp/Package-managed.appxmanifest Adds uap10 namespace + PackageIntegrity opt-in (currently inserted under <Properties>).
dev/Templates/Source/ProjectTemplates/Desktop/CppWinRT/UnitTestApp/Package-native.appxmanifest Adds uap10 namespace + PackageIntegrity opt-in (currently inserted under <Properties>).
dev/Templates/Source/ProjectTemplates/Desktop/CppWinRT/SingleProjectPackagedApp/Package-native.appxmanifest Adds uap10 namespace + PackageIntegrity opt-in (currently inserted under <Properties>).
dev/Templates/Source/ProjectTemplates/Desktop/CppWinRT/PackagedApp/WapProj/Package-managed.appxmanifest Adds uap10 namespace + PackageIntegrity opt-in (currently inserted under <Properties>).

Comment on lines +23 to +25
<uap10:PackageIntegrity>
<uap10:Content Enforcement="on"/>
</uap10:PackageIntegrity>
Comment on lines +23 to +25
<uap10:PackageIntegrity>
<uap10:Content Enforcement="on"/>
</uap10:PackageIntegrity>
Comment on lines +23 to +25
<uap10:PackageIntegrity>
<uap10:Content Enforcement="on"/>
</uap10:PackageIntegrity>
Comment on lines +23 to +25
<uap10:PackageIntegrity>
<uap10:Content Enforcement="on"/>
</uap10:PackageIntegrity>
Comment on lines +23 to +25
<uap10:PackageIntegrity>
<uap10:Content Enforcement="on"/>
</uap10:PackageIntegrity>
Comment on lines +23 to +25
<uap10:PackageIntegrity>
<uap10:Content Enforcement="on"/>
</uap10:PackageIntegrity>
Comment on lines +23 to +25
<uap10:PackageIntegrity>
<uap10:Content Enforcement="on"/>
</uap10:PackageIntegrity>
Comment on lines +23 to +25
<uap10:PackageIntegrity>
<uap10:Content Enforcement="on"/>
</uap10:PackageIntegrity>
Comment on lines +23 to +25
<uap10:PackageIntegrity>
<uap10:Content Enforcement="on"/>
</uap10:PackageIntegrity>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-WinAppSDK:Templates Topics related to Visual Studio templates for Windows App SDK

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants