Uninstall does not terminate running desktop app process, blocking reinstall
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 65/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 停滞
- 技术栈
- csharp
- 领域
- build-system, desktop
调研方向
从 Installer/Program.cs 开始,检查 MSI 项目现有的 ServiceInstaller 生命周期以及 WixExtension.Util 的使用情况。在 Coder Desktop 运行时构建或运行卸载和重新安装流程,然后验证卸载期间桌面进程和 VPN 进程都已停止,并且应用在重新安装后能够正常启动。
由索引模型根据 Issue 内容生成。
描述
Summary
Uninstalling Coder Desktop via the Control Panel "Uninstall a program" wizard completes successfully, but the Coder Desktop.exe process (and the VPN service background process) remain running in Task Manager. This causes reinstallation to silently fail — the app never launches again.
Root Cause
The MSI installer has no mechanism to close the running desktop app process during uninstall. The ServiceInstaller manages the Windows service lifecycle (StopOn = InstallUninstall_Wait, RemoveOn = Uninstall_Wait), but there is no corresponding WixCloseApplication or custom action to terminate the user-space desktop app.
After uninstall, the old Coder Desktop.exe process continues running and holds the AppInstance singleton key (Coder.Desktop.App via AppInstance.FindOrRegisterForKey). On reinstall and relaunch:
- The new instance calls
AppInstance.FindOrRegisterForKey("Coder.Desktop.App") - It finds the old (zombie) instance, so
mainInstance.IsCurrentisfalse - It calls
RedirectActivationToAsyncto the old instance - The old instance's
OnActivatedreceives aLaunchactivation kind, which hits the unhandleddefaultcase - The warning
activation for "Launch", which is unhandledis logged and nothing else happens - The new instance exits, and the app appears to never start
Steps to Reproduce
- Install Coder Desktop and launch it (the app runs in the system tray)
- Uninstall via Control Panel → "Uninstall a program"
- Observe in Task Manager that
Coder DesktopandCoder VPN Servicebackground processes are still running - Reinstall Coder Desktop and launch it
- The app never appears — no tray icon, no window
- Check the logs for:
[WRN] activation for "Launch", which is unhandled
Expected Behavior
- The uninstaller should terminate the running
Coder Desktop.exeprocess before removing files - The VPN service should be fully stopped and removed
- After reinstall, the app should launch normally
Suggested Fix
Add a WixCloseApplication element (from WixExtension.Util) to the MSI project targeting Coder Desktop.exe. This will gracefully close the running app process during uninstall/upgrade before files are removed. For example in Installer/Program.cs:
project.Include(WixExtension.Util);
project.WixSourceGenerated += doc =>
doc.FindFirst("Package").AddElement(
WixExtension.Util.ToXName("CloseApplication"),
"Target=Coder Desktop.exe; CloseMessage=yes; RebootPrompt=no");
Created on behalf of @uzair-coder07
- 主要语言
- C#
- 星标
- 29
- 派生
- 12
- 平均合并
- 4 小时 15 分钟
- 30 天内合并 PR
- 2
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
coder/coder-desktop-windows 的其他 Issue
-
bug
难度 3/5 1-2 天 新手友好度 52/100
coder/coder-desktop-windows#179 · 3 条评论 ·
-
bug coder-desktop networking
难度 4/5 3-5 天 新手友好度 48/100
coder/coder-desktop-windows#177 · 2 条评论 ·
-
bug coder-desktop
coder/coder-desktop-windows#171 · 1 条评论 · 已指派 1 人 ·
-
bug github-sync
难度 4/5 3-5 天 新手友好度 38/100
coder/coder-desktop-windows#170 ·
-
难度 3/5 1-2 天 新手友好度 35/100
coder/coder-desktop-windows#151 ·
查看 coder/coder-desktop-windows 的全部 Issue
相似的 Issue
-
bug frontend good first issue
难度 2/5 1-3 小时 新手友好度 75/100
-
NavigationViewItemAutomationPeer implements IInvokeProvider but never advertises the Invoke pattern 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
unoplatform/uno#24629 ·
-
agentic-workflows Needs: Triage :mag: State: In-PR
难度 2/5 1-3 小时 新手友好度 70/100
-
bug
难度 1/5 1 小时以内 新手友好度 90/100
-
Type: enhancement
难度 2/5 1-3 小时 新手友好度 65/100
apache/arrow-adbc#4809 ·