Windowsパッケージマネージャといえば「Chocolatey」や「Scoop」などがあります。最近、Microsoft公式のWindowsパッケージマネージャ「winget」がリリースされたので紹介したいと思います。
パッケージマネージャとは
マイクロソフトのページには「ソフトウェアのインストール、アップグレード、構成、および使用を自動化するために使用されるシステムまたは一連のツールです。」と記載されています。利用者側の視点に立つと、通常ソフトウェアのインストールには、ソフトが公開されているサイトを訪れて、ダウンロードして、インストールする必要があります。しかしパッケージマネージャを利用すると、それらの手間をなくし、コマンドライン一発でインストールが可能になります。また、ソフトウェアのアップデートも同様にコマンドライン一発でアップデートが完了します。とても楽をすることができる便利ツールとなります。
インストール方法
WindowsUpdateをこまめに行っていれば既にインストールされているはずです。コマンドプロンプトを開いて「winget 」と入力してみてください。バージョンおよび利用法方法が表示されればインストール済みと判断できます。
C:\>winget
Windows Package Manager v1.1.13405
Copyright (c) Microsoft Corporation. All rights reserved.
WinGet コマンド ライン ユーティリティを使用すると、コマンド ラインからアプリケーションやその他のパッケージをインストールできます。
使用状況: winget [<コマンド>] [<オプション>]
使用できるコマンドは次のとおりです:
install 指定されたパッケージをインストール
show パッケージに関する情報を表示します
source パッケージのソースの管理
search アプリの基本情報を見つけて表示
list インストール済みパッケージを表示する
upgrade 指定されたパッケージをアップグレードします
uninstall 指定されたパッケージをアンインストール
hash インストーラー ファイルをハッシュするヘルパー
validate マニフェスト ファイルを検証
settings 設定を開くか、管理者設定を設定する
features 試験的な機能の状態を表示
export インストールされているパッケージのリストをエクスポート
import ファイル中のすべてのパッケージをインストール
特定のコマンドの詳細については、そのコマンドにヘルプ引数を渡します。 [-?]
次のオプションを使用できます。
-v,--version ツールのバージョンを表示
--info ツールの一般情報を表示
詳細については、次を参照してください。 https://aka.ms/winget-command-help
エラーとなる場合は、以下どちらかの方法でインストールしてください。
1.Githubから最新版をインストールする。ファイル名は「Microsoft.DesktopAppInstaller_XXXXXX.msixbundle」です。
2.Microsoft Storeから最新版をインストールする。アプリ名は「アプリインストーラー」です。
利用方法
アプリを探す
今回はVimエディタをインストールしてみようと思います。まずはアプリの検索を行います。searchコマンドをつけて検索します。
C:\>winget search vim
名前 ID バージョン 一致 ソース
------------------------------------------------------------------------------
Vim Cheat Sheet 9WZDNCRDMCWR Unknown msstore
Player for Vimeo 9NBLGGH40F1K Unknown msstore
Vimar VIEW Pro 9NNG9QXL8W3Z Unknown msstore
Vim vim.vim 8.2.4014 winget
qutebrowser qutebrowser.qutebrowser 2.4.0 Tag: vim winget
win-vind pit-ray.win-vind 4.3.2 Tag: vim winget
Vieb Jelmerro.Vieb 6.2.0 Tag: Vim winget
4K Video Downloader OpenMedia.4KVideoDownloader 4.19.2.4690 Tag: vimeo winget
アプリをインストールする
vimキーワードに一致するアプリが検索されました。今回インストールするのは上から4番目のVimになります。IDはvim.vimとなります。installコマンドと–idオプションをつけてインストールします。途中UACの関係でダイアログが表示されますがOKすることでインストールが続行します。
C:\>winget install --id vim.vim
見つかりました Vim [vim.vim] バージョン 8.2.4014
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
Downloading https://github.com/vim/vim-win32-installer/releases/download/v8.2.4014/gvim_8.2.4014_x64.exe
██████████████████████████████ 9.39 MB / 9.39 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました
インストールされているアプリ一覧を表示する
listコマンドで端末にインストールされているアプリ一覧が表示されます。
C:\>winget list
名前 ID バージョン 利用可能 ソース
-----------------------------------------------------------------------------------------------------------------------
7-Zip 7zip.7zip 19.00 21.07 winget
インテル® グラフィックス・コマンド・セン… AppUp.IntelGraphicsExperience_8j3eq9eme6c… 1.100.3407.0
Arduino Arduino 1.8.19
AutoHotkey Lexikos.AutoHotkey 1.1.33.10 winget
Canon IJ Printer Assistant Tool Canon IJ Printer Assistant Tool 1.60.2.15
アップデート可能なアプリ一覧を表示する
upgradeコマンドでインストールされているアプリの中でアップデート可能なアプリ一覧が表示されます。
C:\>winget upgrade
名前 ID バージョン 利用可能 ソース
-----------------------------------------------------------------------------------------------------------------------
7-Zip 7zip.7zip 19.00 21.07 winget
Git Git.Git 2.33.0.2 2.34.1 winget
WinMerge WinMerge.WinMerge 2.16.14.6 2.16.16.0 winget
XAMPP ApacheFriends.Xampp 8.0.12-0 8.1.1-2 winget
Microsoft Visual C++ 2015-2019 Redistributable (x… Microsoft.VC++2015-2019Redist-x64 14.28.29914.0 14.29.30139.0 winget
Node.js LTS OpenJS.NodeJS.LTS 14.18.0 16.13.1 winget
6 アップグレードを利用できます。
アプリをアップデートする
upgradeコマンドおよび–idオプションにてアプリのアップデートが可能です。 インストールと同様にUACの関係でダイアログが表示されますがOKすることでアップデートが続行します。
C:\>winget upgrade --id 7zip.7zip
見つかりました 7-Zip [7zip.7zip] バージョン 21.07
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
Downloading https://www.7-zip.org/a/7z2107-x64.exe
██████████████████████████████ 1.46 MB / 1.46 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました
アプリをアンインストールする
uninstallコマンドおよび–idオプションにてアプリのアンインストールを行います。途中アンインストールダイアログが表示されますが、画面に従って押すだけで問題ありません。
C:\>winget uninstall --id vim.vim
見つかりました Vim [vim.vim]
パッケージのアンインストールを開始しています...
正常にアンインストールされました
どのように使うか
小規模事業所で各端末にインストールされているアプリを管理したい場合などに利用できます。有償の管理ツールなどを導入するまでもない(または無料で管理したい)場合に有効かと思います。
winget list > //fileserver/path/%COMPUTERNAME%.txt
また一括アップデートも可能ですね。
winget upgrade --all --silent --accept-package-agreements
これらのコマンドはタスクスケジューラで実行でもよいですし、小規模事業所ならば月1回の声掛けで各自似対応してもらうでも良いですね。