以前にVectorで公開していた「WAVファイル変換・抽出ツールwavext」を、Microsoft Storeで公開した。
wavext
mp3やflacなどの圧縮音声ファイルや、動画から、音声をWAVとして抽出するツールである。
サンプリングレート変換やステレオ/モノラル変換、量子化ビット数変換も行える。
以前はDirectShowを使用していたが、DirectShowはMedia Foundationに置き換えられているので、Media Foundationで実装し直した。
GPT-5.4を使って実装した。
コマンドラインツールの公開方法
Microsoft Storeは、コマンドラインツールも配布できるようになっている。
Microsoft Storeからインストールすると、環境変数PATHを通すことなく、コマンドプロンプトやPowerShellからコマンドを実行できるようになる。
Visual Studioで、ソリューションにMSIXパッケージプロジェクトを追加して、コンソールアプリケーションのプロジェクトを参照設定して、Package.appxmanifestに、
<Extensions>
<uap3:Extension
Category="windows.appExecutionAlias"
Executable="wavext\wavext.exe"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="wavext.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
</Extensions>を追加すればよい。
まとめ
Microsoft Storeは、環境変数PATHとか気にする必要がないのでコマンドラインツールの配布にも便利である。
MSIXの設定が面倒そうだと思っていたが、やってみれば全然難しくなかった。
今後はこの方法でコマンドラインツールを公開していこうと思う。