Skip to content

Enable admin-writable $PSHOME for MSIX installs via MutablePackageDirectory#27553

Open
jshigetomi wants to merge 3 commits into
PowerShell:masterfrom
jshigetomi:mutablePackageConfig
Open

Enable admin-writable $PSHOME for MSIX installs via MutablePackageDirectory#27553
jshigetomi wants to merge 3 commits into
PowerShell:masterfrom
jshigetomi:mutablePackageConfig

Conversation

@jshigetomi
Copy link
Copy Markdown
Collaborator

@jshigetomi jshigetomi commented Jun 1, 2026

PR Summary

This pull request updates the assets/AppxManifest.xml to add support for new Windows features and capabilities, ensuring compatibility with the latest Windows versions and allowing the app to use modifiable and mutable package directories.

Manifest compatibility and feature updates:

  • Increased the MaxVersionTested for the TargetDeviceFamily to 10.0.26100.0 to support newer Windows builds.
  • Added the desktop8 namespace and a new <Extensions> section to declare windows.mutablePackageDirectories, enabling the app to use mutable package directories on Windows 11 and above. [1] [2]

Capabilities enhancements:

  • Added the modifiableApp restricted capability, allowing the app to be modified after installation.

PR Context

This change specifically updates the AppxManifest.xml to ensure compatibility with newer Windows versions and to unlock capabilities required by the MSIX-based deployment model.

Fixes: #9278 and the underlying issue for #25733

PR Checklist

Comment thread assets/AppxManifest.xml
<Extensions>
<desktop8:Extension Category="windows.mutablePackageDirectories">
<desktop8:MutablePackageDirectories>
<desktop8:MutablePackageDirectory Target="$(package.mutableroot)\$PRODUCTNAME$" />
Copy link
Copy Markdown
Collaborator Author

@jshigetomi jshigetomi Jun 1, 2026

Choose a reason for hiding this comment

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

To prevent collision Preview, Stable, and LTS installs will have different folders in the mutable directory.
https://learn.microsoft.com/en-us/windows/msix/manage/create-directory#considerations-for-projection

Comment thread assets/AppxManifest.xml
<Extensions>
<desktop8:Extension Category="windows.mutablePackageDirectories">
<desktop8:MutablePackageDirectories>
<desktop8:MutablePackageDirectory Target="$(package.mutableroot)\$PRODUCTNAME$" />
Copy link
Copy Markdown
Collaborator Author

@jshigetomi jshigetomi Jun 1, 2026

Choose a reason for hiding this comment

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

Any changes in the mutable files persist after updates, not documented but from local testing.

@jshigetomi jshigetomi added the CL-Engine Indicates that a PR should be marked as an engine change in the Change Log label Jun 1, 2026
Comment thread assets/AppxManifest.xml

<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.18362.0" />
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26100.0" />
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request updates the MSIX AppxManifest to enable an admin-writable/mutable package directory for PowerShell installs (via windows.mutablePackageDirectories), while also refreshing manifest compatibility metadata for newer Windows builds.

Changes:

  • Increased TargetDeviceFamily/@MaxVersionTested to 10.0.26100.0.
  • Added the desktop8 manifest namespace plus a package-level windows.mutablePackageDirectories extension to declare a mutable package directory.
  • Added the restricted modifiableApp capability to support post-install modification scenarios.

@jshigetomi jshigetomi marked this pull request as ready for review June 2, 2026 20:02
@jshigetomi jshigetomi requested a review from a team as a code owner June 2, 2026 20:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CL-Engine Indicates that a PR should be marked as an engine change in the Change Log

Projects

None yet

2 participants