Prerequisites
Steps to reproduce
Feedback Hub report:
https://aka.ms/AA130s3
Run this script from an elevated pwsh shell installed from winget:
# Repro: packaged app cannot be activated from session 0 while an instance of the
# same package is running in the desktop session.
#
# RUN THIS FROM A pwsh WINDOW (elevated). The pwsh running it is itself the
# packaged app instance that owns the container in session 1, which is the
# condition being demonstrated. No ssh is involved.
$script = "$env:TEMP\appx-session-repro-inner.ps1"
$result = "$env:TEMP\appx-session-repro-result.txt"
@'
$alias = "$env:localappdata\Microsoft\WindowsApps\pwsh.exe"
$error.clear()
$out = & $alias -nologo -noprofile -c '$PSVersionTable.PSVersion.ToString()' 2>&1 | out-string
"session=$([System.Diagnostics.Process]::GetCurrentProcess().SessionId) pwsh_running_in_other_session=$(@(get-process pwsh -ea ignore).Count) out=[$(($out -replace '\s+',' ').Trim())] err=[$(($error[0] -split '\r?\n')[0])]" |
add-content "$env:TEMP\appx-session-repro-result.txt"
'@ | Set-Content $script
Remove-Item $result -ErrorAction Ignore
$action = New-ScheduledTaskAction `
-Execute "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe" `
-Argument "-noprofile -executionpolicy bypass -file `"$script`""
# -LogonType s4u runs the task as this user in session 0, with no ssh involved.
$principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -LogonType s4u -RunLevel Highest
Register-ScheduledTask -Force -TaskName AppxSessionRepro -Action $action -Principal $principal | Out-Null
Start-ScheduledTask -TaskName AppxSessionRepro
Start-Sleep -Seconds 12
Unregister-ScheduledTask -TaskName AppxSessionRepro -Confirm:$false
'--- result (session 0 activation, packaged pwsh already running on the desktop):'
Get-Content $result
'--- AppModel-Runtime errors logged by the attempt:'
Get-WinEvent -LogName 'Microsoft-Windows-AppModel-Runtime/Admin' -MaxEvents 10 -ErrorAction Ignore |
Where-Object LevelDisplayName -eq 'Error' | Select-Object -First 3 |
ForEach-Object { ' ' + ($_.Message -replace '\s+', ' ') }
'--- environment:'
" build=$([Environment]::OSVersion.Version.Build).$((Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').UBR)"
" edition=$((Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').EditionID)"
" package=$((Get-AppxPackage Microsoft.PowerShell).PackageFullName) status=$((Get-AppxPackage Microsoft.PowerShell).Status)"
" SAC=$((Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\CI\Policy' -ErrorAction Ignore).VerifiedAndReputablePolicyState)"
Expected behavior
Launch MSIX packaged program from Session 0, which is what sshd runs in, joining the container in Session 1 on the desktop.
Actual behavior
Failure to join the container from Session 0 to Session 1 or vice-versa.
Error details
--- result (session 0 activation, packaged pwsh already running on the desktop):
session=0 pwsh_running_in_other_session=1 out=[] err=[Program 'pwsh.exe' failed to run: Access is deniedAt C:\Users\rkito\AppData\Local\Temp\appx-session-repro-inner.ps1:3 char:8]
--- AppModel-Runtime errors logged by the attempt:
0x80070005: Cannot create the process for package Microsoft.PowerShell_7.6.4.0_x64__8wekyb3d8bbwe because an error was encountered while configuring runtime. [FinishPackageActivation]
0x80070005: Cannot add process 5716 to Desktop AppX container 92535e51-91ab-11f1-a311-7008948fd66e for package Microsoft.PowerShell_7.6.4.0_x64__8wekyb3d8bbwe because an error was encountered.
0x80070005: Cannot create the process for package Microsoft.PowerShell_7.6.4.0_x64__8wekyb3d8bbwe because an error was encountered while configuring runtime. [FinishPackageActivation]
--- environment:
build=26300.9032
edition=Professional
package=Microsoft.PowerShell_7.6.4.0_x64__8wekyb3d8bbwe status=Ok
SAC=2
Environment data
v pwsh{win} ~
rkito@lenovo > $PSVersionTable
Name Value
---- -----
PSVersion 7.6.4
PSEdition Core
GitCommitId 7.6.4
OS Microsoft Windows 10.0.26300
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.4
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Version
10.0.0.0
Visuals
No response
Prerequisites
Steps to reproduce
Feedback Hub report:
https://aka.ms/AA130s3
Run this script from an elevated
pwshshell installed from winget:Expected behavior
Launch MSIX packaged program from Session 0, which is what sshd runs in, joining the container in Session 1 on the desktop.Actual behavior
Failure to join the container from Session 0 to Session 1 or vice-versa.Error details
Environment data
v pwsh{win} ~ rkito@lenovo > $PSVersionTable Name Value ---- ----- PSVersion 7.6.4 PSEdition Core GitCommitId 7.6.4 OS Microsoft Windows 10.0.26300 Platform Win32NT PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…} PSRemotingProtocolVersion 2.4 SerializationVersion 1.1.0.1 WSManStackVersion 3.0Version
10.0.0.0
Visuals
No response