Skip to content

ZIP 版でデスクトップショートカットを作成する機能を追加 #169

@daruyanagi

Description

@daruyanagi

背景

winget の portable (zip) インストーラーでは PortableCommandAlias として symlink が作成されるが、.NET self-contained アプリの apphost は symlink の場所を基準に DLL を探すため、ターミナルから直接起動できない(#53 コメント参照)。

また、ZIP を手動で展開した場合もデスクトップにショートカットが自動作成されないため、毎回フォルダを開いて exe を起動する必要がある。

提案

設定画面(About または General)に「デスクトップにショートカットを作成」ボタンを追加する。

仕様

  • !PackageContext.IsPackaged(ZIP 版)の場合のみボタンを表示
  • MSIX 版はスタートメニューに自動追加されるため不要
  • Environment.ProcessPath で exe のフルパスを取得
  • .lnk ショートカットを IShellLink COM 経由でデスクトップに作成
  • 作業ディレクトリを exe のディレクトリに設定(winget symlink 問題の回避策にもなる)
  • 既にショートカットが存在する場合は上書き確認

参考:winget symlink 問題

起動方法 動作
xtimelineviewer(ターミナル直接) ❌ DLL 解決失敗
Start-Process xtimelineviewer.exe(PowerShell)
デスクトップショートカット(.lnk) ✅(作業ディレクトリ設定で解決)
Win+R 未検証(おそらく ✅)

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions