ひゃまだのblog

ひゃまだ(id:hymd3a)の趣味のブログ

Windows11でもWingetで便利に過ごす

(2025-07-09 初稿)

普段は、Linuxを使っており、aptを使って便利にソフトウェアのインストール、アップグレード、アンインストールを行っている。

ずっと知らなかったのだが、WindowsでもWingetという便利なソフトウェアがあることを知った。

ここでは、自分のメモ用にWIngetの簡単な使い方を紹介する。

冒頭で述べたように普段はDebianを使っている筆者なので、細かい点は大目に見てやってください。

以下では、例としてPDFをテキストに変換するpdftotext.exeというコマンドをインストールする手順を示す。

> winget search pdftotext
入力条件に一致するパッケージが見つかりませんでした。

あれ?、いきなり見つからない…(^^;

でネットを検索すると、pdftotext.exeはpopplerというパッケージに入っているらしい。

> winget search poppler
名前     ID                     バージョン 一致         ソース
--------------------------------------------------------------
Poppler  oschwartz10612.Poppler 24.08.0-0               winget
pympress Cimbali.pympress       1.8.6      Tag: poppler winget

今度は、2つほどヒットしたが、上のPopplerのソフトウェアをインスト―ルすることにする。

> winget install -e  oschwartz10612.Poppler

-e オプションは、大文字、小文字を区別してIDを指定する。間違いなく、パッケージをインストールすることができる。

これまでに、インストールしたパッケージのリストは、以下のようにして得る。

> winget list
名前                   ID                      バージョン       利用可能      ソース
-------------------------------------------------------------------------------------
Mozilla Thunderbird (… Mozilla.Thunderbird.ja  140.0                          winget
(以下、省略)

で、便利なのは、upgradeが必要なリストの一覧。

> winget upgrade
名前                ID                  バージョン         利用可能            ソース
-------------------------------------------------------------------------------------
Microsoft Visual C… Microsoft.VCRedist… 10.0.30319         10.0.40219          winget
Microsoft Visual C… Microsoft.VCRedist… 12.0.30501.0       12.0.40664.0       winget
(以下、省略)

全てのパッケージを一括でupgradeするには、以下のとおり。

> winget upgrade --all

これまで、いろいろなところに新しいパッケージをダウンロードしに行っていたのが、バカらしくなるくらい便利だ。

個別にアップグレードしたいときには、IDを指定してアップグレードする。

> winget upgrade --id  oschwartz10612.Poppler

wingetの詳細は、--helpオプションで確認できる。

> winget --help
v1.11.400 の Windows パッケージ マネージャー
Copyright (c) Microsoft Corporation. All rights reserved.

WinGet コマンド ライン ユーティリティを使用すると、コマンド ラインからアプリケーションやその他のパッケージをインストールできます。
使用法: winget  [<コマンド>] [<オプション>]
使用できるコマンドは次のとおりです:
  install    指定されたパッケージをインストール
  show       パッケージに関する情報を表示します
  source     パッケージのソースの管理
  search     アプリの基本情報を見つけて表示
  list       インストール済みパッケージを表示する
  upgrade    利用可能なアップグレードの表示と実行
  uninstall  指定されたパッケージをアンインストール
  hash       インストーラー ファイルをハッシュするヘルパー
  validate   マニフェスト ファイルを検証
  settings   設定を開くか、管理者設定を設定する
  features   試験的な機能の状態を表示
  export     インストールされているパッケージのリストをエクスポート
  import     ファイル中のすべてのパッケージをインストール
  pin        パッケージ ピンの管理
  configure  システムを適切な状態に構成します
  download   指定されたパッケージからインストーラをダウンロードする
  repair     選択したパッケージを修復します
  dscv3      DSC v3 リソース コマンド

特定のコマンドの詳細については、そのコマンドにヘルプ引数を渡します。 [-?]
次のオプションを使用できます。
  -v,--version                ツールのバージョンを表示
  --info                      ツールの一般情報を表示
  -?,--help                   選択したコマンドに関するヘルプを表示
  --wait                      終了する前に任意のキーを押すプロンプトをユーザーに表示します
  --logs,--open-logs          既定のログの場所を開く
  --verbose,--verbose-logs    WinGet の詳細ログを有効にする
  --nowarn,--ignore-warnings  警告出力を非表示にする
  --disable-interactivity     対話型プロンプトを無効にします
  --proxy                     この実行に使用するプロキシを設定します
  --no-proxy                  この実行に対するプロキシの使用を無効にする

その他のヘルプについては、次を参照してください: https://aka.ms/winget-command-help

便利なwingetコマンドだが、gemini-cliによると以下のメリット、デメリットがあるよう。

wingetのメリット(利点)

1. 自動化と効率化:

* 複数のアプリケーションを一つのコマンドで一度にインストールできる。新しいPCのセットアップが非常に早くなる。

* winget upgrade --all のようなコマンドで、インストール済みの対応アプリケーションを一度にすべて更新でき、非常に効率的。

2. コマンドラインでの一元管理:

* LinuxのaptやmacOSのHomebrewのように、ソフトウェア管理をコマンドラインで完結できる。

* 手動でWebサイトを探し、インストーラーをダウンロードしてクリックしていく手間が省ける。

3. 信頼性と安全性:

* Microsoftが公式に提供しているツールであり、リポジトリ(ソフトウェアの提供元)も審査されているため、怪しいサイトからマルウェアをダウンロードしてしまうリスクを低減できる。

4. スクリプト化が容易:

* インストールしたいソフトの一覧をスクリプトファイルに書いておけば、そのスクリプトを実行するだけで環境構築が完了できる。

5. Windowsへの統合:

* 最新のWindows 10およびWindows 11には標準で搭載されているため、すぐに利用を開始できる。

wingetのデメリット(欠点)

1. パッケージの網羅性:

* リポジトリは拡大しているが、まだすべてのソフトウェアが登録されているわけではない。特に、古かったりニッチだったりするソフトウェアは見つからないことがある。

2. CUIコマンドライン)操作が必須:

* グラフィカルな画面(GUI)はなく、操作はすべてコマンドで行う必要がある。コマンドラインに慣れていないユーザーには少し敷居が高い。

3. 細かいインストールオプションの指定が煩雑:

* GUIインストーラーでは簡単に選べるような「カスタムインストール」や特定のオプション指定が、winget経由だと複雑になったり、対応していなかったりする場合がある。

4. アンインストールの不完全さ:

* wingetによるアンインストールは、基本的には各ソフトウェアが持つアンインストーラーを呼び出すだけ。そのため、アンインストーラー自体の出来が悪いと、設定ファイルやレジストリが残ってしまうことがある。

とのこと。筆者はデメリットを考慮しても、メリットが上回るような気がするので、今後も使って行くことにする。

関連ページ