RC版となったwinget 1.4.3531が出たので、zipのポータブルアプリインストールを試してみました
マニフェストの設定
以前書いたマニフェストをコピーしてuwscr 0.9.0用にしていきます
前回はmsiでしたが今回はzipなので、それに対応してマニフェストを書き換えていきます
zipインストールについてはここに書かれています
マニフェストの項目が増えてますね、やってみましょう
InstallerTypeの設定
zipにします
その場合NestedInstallerTypeが必須になるとのことなので次はそれを設定します
NestedInstallerTypeの設定
schemaで入力候補が表示されるのでそれを見てるとportableがあったので、それにします
schemaはhttps://aka.ms/winget-manifest.installer.1.4.0.schema.json
にしています
インストールを試す
winget install -m path\to\manifest_file
-m
を付けてマニフェストファイルのパスを指定することでローカルにあるマニフェストを元にインストールできます
が、失敗しました…
NestedInstallerFilesがないとだめなようです
NestedInstallerFilesの設定
NestedInstallerFilesを入力するとschemaの働きにより直下にRelativeFilePathというのが生えてきます
これはインストールしたいファイルの相対パスを入力すれば良いっぽいですね
uwscr.exeがzipファイル直下に入ってるので、uwscr.exeとだけ書きます
改めてインストールを試す
インストールできました!
uwscr.exeが (表向きは) %LOCALAPPDATA%\Microsoft\WinGet\Links
にインストールされます
同時にこのディレクトリのパスがユーザー環境変数に追加されます
このディレクトリはPATHを通すためのもののようで、ポータブルアプリのシンボリックリンクが置かれるようです
プロセス環境変数には追加されないので、一旦シェルを再起動しましょう
実行してみる
PS> cmd /c uwscr --version
uwscr 0.9.0
PS> gcm uwscr
CommandType Name Version Source
----------- ---- ------- ------
Application uwscr.exe 0.9.0.0 C:\Users\stuncloud\AppData\Local\Microsoft\WinGet\Links\uwscr.exe
よかったですね
winget1.4がリリースされたら正式に対応したいと思います
マニフェストファイル
実際に使ったマニフェストファイルは以下になります