microsoft / microsoft/vscode-cpptools
cppvsdbg does not support MSIX app execution aliases
Open
Nobody has claimed this yet.
debugger
Feature Request
Works in VS
- Dominant language
- TypeScript
- Stars
- 6.2k
- Forks
- 1.7k
- Avg merge
- 14h 46m
- Merged PRs (30d)
- 61
Description
Environment
- OS and version: Windows 11 25H2
- VS Code: 1.109.5
- C/C++ extension: 1.30.5
- OS and version of remote machine (if applicable): n/a
- GDB / LLDB version: n/a
Bug Summary and Steps to Reproduce
Steps to Reproduce:
- Set up a launch.json to launch something with an MSIX execution alias using cppvsdbg debugger. A common one that many people have is installed is WinGet:
{
"version": "2.0.0",
"configurations": [
{
"name": "WinGet",
"type": "cppvsdbg",
"request": "launch",
"program": "winget.exe",
"args": [],
"console": "externalTerminal"
}
]
}
- Press F5. Notice you get an error "Unable to start program 'C:\Users\username\AppData\Local\Microsoft\WindowsApps\winget.exe'. Not implemented.". But if you press CTRL+F5 it executes it fine in the correct package context.
Debugger Configurations
Launch.json:
{
"version": "2.0.0",
"configurations": [
{
"name": "WinGet",
"type": "cppvsdbg",
"request": "launch",
"program": "winget.exe",
"args": [],
"console": "externalTerminal"
}
]
}
Debugger Logs
Unable to start debugging. Unable to start program 'C:\Users\...\AppData\Local\Microsoft\WindowsApps\MrBackgroundHost.exe'. Not implemented.
Other Extensions
No response
Additional Information
For some background:
- MSIX app execution aliases are defined here: https://learn.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap5-appexecutionalias. They allow a packaged executable to be executed from command-line.
- App execution aliases are the only way we've found we can launch our product in its appropriate MSIX package context from VS/VSCode, which is how customers will run our executable too.
- Visual Studio does not have this problem and can launch/debug things through an app execution alias just fine (I do this with an NMake-style vcxproj).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the launch.json configuration with cppvsdbg and an MSIX execution alias such as winget.exe, comparing F5 with CTRL+F5. Read the debugger launch path and the MSIX app execution alias behavior; done means F5 launches and debugs the alias in its correct package context without the “Not implemented” error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, vscode
- Domain
- devtools, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100