microsoft / microsoft/vscode-cpptools

cppvsdbg does not support MSIX app execution aliases

Open
#14,216 3 comments 10 reactions 0 assignees View on GitHub

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:

  1. 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"
    }
  ]
}
  1. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.