目次

読了時間: 約3分

Microsoftが「Windows App Development CLI(winapp)」のv0.2を公開した。Visual StudioやMSBuildに依存せずにWindowsストア提出向けアプリ開発を支援するCLIツールで、今回の更新で. NETプロジェクトのネイティブ対応などが追加された。

v0.2の主な更新点

1. .NETプロジェクトのネイティブ対応

*.csprojファイルを自動検出して初期化できるようになった。既存の.NETプロジェクトにwinappを導入する際の手間が大幅に減少している。

2. マニフェストプレースホルダー導入

アプリマニフェスト(Package.appxmanifest)の生成時に、プレースホルダー機能が追加された。複数のビルド構成(Debug/Release)や環境(Dev/Staging/Prod)に応じたマニフェストの切り替えが容易になった。

3. Microsoft Store Developer CLIの統合

Microsoft Storeへの提出に必要な操作が、同じCLIから行えるようになった。パッケージのアップロード、提出状況の確認などがコマンドラインで完結する。

winappとは

winappは、Windowsストア提出向けアプリ開発を支援する公式CLIツール。以下の開発シナリオを想定している:

  • Rust——Tauri、Icedなどのフレームワーク
  • Dart/Flutter——クロスプラットフォーム開発
  • Electron——Web技術ベースのデスクトップアプリ
  • .NET MAUI / WPF / WinUI——ネイティブWindowsアプリ

主な機能

機能説明
マニフェスト初期化Package.appxmanifestの自動生成
アセット生成アイコン、スプラッシュスクリーンの自動リサイズ
Package Identity生成アプリIDの自動発行
自己署名証明書テスト用証明書の生成
MSIXパッケージ化ストア提出用パッケージの作成

活用シナリオ

Electronアプリのストア公開

Electron製アプリをMicrosoft Storeで公開する際、証明書の準備やマニフェスト作成が面倒だった。winappを使うと、これらをCLIで自動化できる。

# プロジェクトの初期化
winapp init --name "MyApp" --publisher "CN=MyName"

# MSIXパッケージの作成
winapp package --input ./dist --output ./packages

# Storeへの提出(Developer CLI連携)
winapp publish --package ./packages/MyApp.msix

CI/CDパイプラインへの統合

GitHub ActionsやAzure DevOpsにwinappを組み込み、ビルドからストア提出までを自動化できる。マニフェストプレースホルダーを使えば、環境変数に応じた動的なマニフェスト生成も可能だ。

展望:Windowsアプリエコシステムの民主化

Microsoft Storeでのデスクトップアプリ配布は、長らく「.NET開発者以外には敷居が高い」印象があった。winappの登場により、ElectronやFlutter、Rust製アプリの開発者でも、コマンドラインだけでストア提出まで完結できるようになった。

これはWindowsアプリエコシステムの民主化につながる重要な一歩だ。特に、個人開発者や小規模チームにとって、Store配布のメリット(自動アップデート、検索性、信頼性の担保)が手軽に享受できるようになる。

参考リンク

免責事項 — 掲載情報は執筆時点のものです。料金・機能は変更される場合があります。最新情報は各公式サイトをご確認ください。