-
Notifications
You must be signed in to change notification settings - Fork 8.2k
AppX package installation locations cannot be targeted with Get-Item / Get-ChildItem #11013
Copy link
Copy link
Closed
Labels
Issue-Questionideally support can be provided via other mechanisms, but sometimes folks do open an issue to get aideally support can be provided via other mechanisms, but sometimes folks do open an issue to get aResolution-FixedThe issue is fixed.The issue is fixed.
Description
This is a regression from Windows PowerShell.
On Windows, AppX packages (for in-box applications such as Calculator) are installed in subfolders of hidden folder $env:ProgramFiles\WindowsApps
PowerShell Core cannot locate these folders, not even with -Force (which shouldn't be necessary, because it is only the parent folder that is hidden).
Curiously, you can target files inside those folders, though only by literal name.
The problem may be related to permissions.
Steps to reproduce
Run the following on Windows:
$pkgDir = (Get-AppxPackage Microsoft.WindowsCalculator).InstallLocation
# OK, because a file *inside* the dir. is targeted by literal name.
{ Get-Item -EA Stop -Force $pkgDir\Calculator.exe } | Should -Not -Throw
# Targeting the dir. directly fails:
{ Get-Item -EA Stop -Force -LiteralPath $pkgDir } | Should -Not -Throw
{ Get-ChildItem -EA Stop -Force -LiteralPath $pkgDir } | Should -Not -Throw
# Using a wildcard produces no output.
# (This problem, unlike the others, also occurs in Windows PowerShell).
Get-ChildItem -Force -Path $pkgDir* | Should -Not -BeNullOrEmptyExpected behavior
All tests should pass.
Actual behavior
All tests but the first fail, because the directory itself cannot be targeted:
"Cannot find path 'C:\Program Files\WindowsApps\Microsoft.WindowsCalculator_10.1908.0.0_x64__8wekyb3d8bbwe' because it does not exist."
The wildcard-based command produces no output.
Environment data
PowerShell Core 7.0.0-preview.5
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Issue-Questionideally support can be provided via other mechanisms, but sometimes folks do open an issue to get aideally support can be provided via other mechanisms, but sometimes folks do open an issue to get aResolution-FixedThe issue is fixed.The issue is fixed.