Repository navigation
PS7-packaged: Update-Help -Scope AllUsers fails under MSIX ($PSHOME read-only) #27699
Copy link
Copy link
Open
Labels
Issue-Enhancementthe issue is more of a feature request than a bugthe issue is more of a feature request than a bugPackage-MSIXIssue occurs with MSIX packageIssue occurs with MSIX packageWG-Enginecore PowerShell engine, interpreter, and runtimecore PowerShell engine, interpreter, and runtime
Description
Tracked by #27565 · Design: #27697 · Original gap report: #9278
Summary
Update-Help defaults to -Scope AllUsers, which writes help content into each module's ModuleBase. For in-box modules that path is under $PSHOME, which is read-only under MSIX, so the update fails:
Update-Help: Access to the path
'C:\Program Files\WindowsApps\Microsoft.PowerShell…\en-US\Microsoft.PowerShell.Commands.Management.dll-Help.xml' is denied.
Only -Scope CurrentUser works today — it redirects to the user help location (HelpUtils.GetModuleBaseForUserHelp). There is no working machine-wide help update under MSIX. (This was one of the gaps originally enumerated in #9278.)
Details
UpdateHelpScopehas two values,CurrentUserandAllUsers(the default).- For
AllUsers,Update-Helptargetsmodule.ModuleBase; for in-box modules that is under$PSHOME→ access denied under MSIX.
Solution directions (design discussion — pick one)
- Redirect AllUsers help to the MachineFolder store ([Design] MachineFolder: a per-machine writable data store for MSIX-packaged PowerShell #27697) — write system-wide help under the per-machine data store and add that location to the help search path. Consistent with the config/profile relocation; keeps
-Scope AllUsersworking under MSIX. - Relocate the in-box modules/help folder out of
$PSHOMEto a writable machine location so AllUsers help lands somewhere writable and on the lookup path. - Disallow
-Scope AllUsersunder MSIX — fail fast with a clear, actionable error (point to-Scope CurrentUser) instead of a raw Access-denied. Lowest effort; does not restore the capability.
Acceptance criteria
- Under MSIX,
Update-Help -Scope AllUserseither (a) writes to a writable location that the help subsystem then reads, or (b) fails with a clear, actionable error — never a rawAccess denied. Get-Helpresolves the updated system-wide help where applicable.- No regression for unpackaged installs.
Related
- Design / mechanism: [Design] MachineFolder: a per-machine writable data store for MSIX-packaged PowerShell #27697
- Original gap report (also lists SessionConfig + system config): Some cmdlets and config require writing to $PSHOME\SessionConfig folder #9278
- Umbrella: Tracking: MSIX packaging gaps for PowerShell 7 #27565
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Issue-Enhancementthe issue is more of a feature request than a bugthe issue is more of a feature request than a bugPackage-MSIXIssue occurs with MSIX packageIssue occurs with MSIX packageWG-Enginecore PowerShell engine, interpreter, and runtimecore PowerShell engine, interpreter, and runtime
Activity