このガイドでは、Windows Package Manager (winget)、Microsoft Store、または直接配布を介して配布するための MSIX パッケージとして既存のコマンド ライン実行可能ファイルをパッケージ化する手順について説明します。
[前提条件]
- パッケージ化する既存の CLI 実行可能ファイル (
.exe) - Windows 10 バージョン 1809 以降
手順
1. CLI アプリケーションを整理する
CLI 実行可能ファイルと依存関係を専用フォルダーに配置します。
mkdir MyCliPackage
cd MyCliPackage
# Copy your CLI executable and dependencies here
2. winapp CLI をインストールする
winget install microsoft.winappcli --source winget
3. appxmanifest.xml を生成する
winapp manifest generate --executable .\yourcli.exe
これにより、実行可能ファイルから既定値が設定された appxmanifest.xml ファイルが作成されます。
4. マニフェストを構成する
生成された appxmanifest.xml を編集して実行エイリアスを追加し、[スタート] メニューからアプリを非表示にして、アプリケーションの詳細を更新します。
4.1 必要な名前空間を追加する
uap5要素にPackage名前空間を追加します。
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
...
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap uap5 rescap">
4.2 スタートメニューから非表示にする
<uap:VisualElements>要素に、AppListEntry="none"を追加します。
<uap:VisualElements
DisplayName="YourApp"
Description="My Application"
BackgroundColor="transparent"
Square150x150Logo="Assets\Square150x150Logo.png"
Square44x44Logo="Assets\Square44x44Logo.png"
AppListEntry="none">
</uap:VisualElements>
4.3 実行エイリアスを追加する
<Application>要素内に拡張機能を追加します。
<Extensions>
<uap5:Extension Category="windows.appExecutionAlias">
<uap5:AppExecutionAlias>
<uap5:ExecutionAlias Alias="yourcli.exe" />
</uap5:AppExecutionAlias>
</uap5:Extension>
</Extensions>
yourcli.exeを CLI の目的のコマンド名に置き換えます。
4.4 アプリケーションメタデータの更新
CLI アプリケーションに合わせて、 Identity、 Properties、および VisualElements セクションを更新します。
5. 開発証明書を生成する (省略可能)
Microsoft Store の外部でのローカル テストと配布の場合:
cd ~
winapp cert generate
winapp cert install
Important
開発証明書は、パッケージに誤って含めないように、CLI 実行可能ファイルを含むフォルダーの外側に保管してください。
6. CLI をパッケージ化する
winapp pack .\MyCliPackage --cert path\to\devcert.pfx
これにより、現在のディレクトリに .msix ファイルが作成されます。
ヒント
- Microsoft Store は MSIX に署名します。提出前に署名する必要はありません。
- サポートするアーキテクチャ (x64、Arm64) ごとに個別の MSIX パッケージが必要になる場合があります。
関連トピック
Windows developer