Uninstall does not terminate running desktop app process, blocking reinstall
まだ誰も着手していません。
評価
- 難易度
- 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分
- マージ済み PR(30日)
- 2
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
coder/coder-desktop-windows のほかの issue
-
CoderVPN Unsigned オープン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
-
core dependencies
難易度 1/5 1時間未満 初心者へのやさしさ 80/100
-
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
-
Down / Waiting for removal
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100