次の方法で共有


CLI 実行可能ファイルを MSIX としてパッケージ化する

このガイドでは、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 アプリケーションに合わせて、 IdentityProperties、および 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 パッケージが必要になる場合があります。