WinGetは、記事執筆時点で以下の3つが配布されている。
●プレビュー版(v1.6.1573-preview)
https://github.com/microsoft/winget-cli/releases/tag/v1.6.1573-preview
●プレリリース版(v1.5.1572)
https://github.com/microsoft/winget-cli/releases/tag/v1.5.1572
●安定版(v1.4.11071)
https://github.com/microsoft/winget-cli/releases/tag/v1.4.11071
新機能として「winget configuration」(プレビュー版のみ)と「pinning」(プレビュー版、プレリリース版)があり、さらにPowerShell用モジュール「Winget.Client」(安定版を含む上記3バージョンに対応)がPowerShell Galleryで配布されている。
configurationは、アプリケーションのインストールと環境設定を同時にする機能で、サーバーやクライアントの初期設定などに利用できるもの。環境設定などには、PowerShell DSC(Desired State Configuration)を用いている。
pinningは、WingetのUpgradeコマンドから特定のプログラムを除外し、バージョンを固定するためのものだ。Winget.Clientは、PowerShell(制限付きだがWindows PowerShellを含む)からWingetの機能を使うためのものである。ページの関係から、今回は「pinning」と「Winget.Clinet」について解説し、次回「winget configuration」について解説する予定だ。
そもそもWinget pinningとは?
wingetには、インストールされているソフトウェアのバージョンを調べ、アップデートがあれば、これをインストールする「upgrade」コマンド(サブコマンド)がある。
pinningは、このときに除外するアプリケーション(パッケージ)を指定するものだ。除外方法は、「Blocking」、「Pinning」、「Gating」の3つ。
あらかじめpinningを指定しておけば、winget upgradeコマンドを使うときに、特定パッケージを除外するなど細かい操作はせずとも、pinning指定されていないパッケージをまとめて更新できるようになる。
Blockingは最も強く、指定されているパッケージは、winget upgradeオプションのほとんどでアップグレードされない。しかし、--forceオプションとともにパッケージ名を直接指定したときは、アップグレードがなされる。
pinningでは、単純なwinget upgradeではアップグレードされないが、パッケージ名を直接指定する、あるいは--pinnedオプションなどが指定されるとアップグレードが実行される。
gatingは、バージョン条件が設定され、それを満たす場合にはアップグレードされるが、条件を満たさないと、アップグレードがされない。バージョン条件は、バージョン番号で「1.*」など、数字とワイルドカードで指定され、「1.1」や「1.9」などへのアップグレードはされても、2.0にはアップグレードしない。
pinningの指定は、winget pinコマンドで行なう。このコマンドには、「add」「list」「remove」の3つのサブコマンドがあり、それぞれ、pinningの指定、pinning中のパッケージのリスト、pinningの解除をする。
addサブコマンドでは、以下のように「Blocking」「Pinning」「Gating」を指定する。
Blocking
winget pin add <パッケージ名> --blocking
Pinning
winget pin add <パッケージ名>
winget pin add <パッケージ名> --version <バージョン指定>
pinningは、winget v1.15以降で利用できる。なお、プレビュー版winget v1.16のupgradeでは、--uninstall-previousオプションの利用が可能になった。従来のwinget upgradeでは、一回アンインストール処理したあとインストールすることででアップグレードしていたが、一部のアプリケーションは、これにより、情報を失うことがあった。
この連載の記事
-
第429回
PC
Windows Updateの「利用可能になったらすぐに最新の更新プログラムを入手する」はオンにした方がいいか? -
第428回
PC
Google/Bingで使える検索オプション -
第427回
PC
WindowsのPowerShellのプロファイルを設定する -
第426回
PC
WindowsでAndroidスマホをWebカメラにする機能を試した -
第425回
PC
無料で使えるExcelにWord、Microsoft 365のウェブ版を調べた -
第424回
PC
Windowsの基本機能であるクリップボードについてあらためて整理 -
第423回
PC
PowerShellの今を見る 2つあるPowerShellはどっち使えばいい? -
第422回
PC
Windows 11の目玉機能が早くも終了、Windows Subsystem for Android(WSA)を振り返る -
第421回
PC
進化しているPowerToys LANで接続したマシンでキーボード/マウス共有機能などが追加 -
第420回
PC
Windowsプレビュー版に搭載されたsudoを試す -
第419回
PC
Windows Insider Previewが変わって、今秋登場のWindows 11 Ver.24H2の新機能が見えてきた? - この連載の一覧へ