シナプス技術者ブログ

シナプスの技術者公式ブログ。インターネットで、鹿児島の毎日を笑顔にします。

もう手動アップデートには戻れない!wingetによるWindows開発環境の新しい常識

こんにちは、技術部システム開発課の蔵坪と申します。

「今更wingetの記事?」 きっと、そう思った方もいますよね。

白状します。私自身、wingetがこんなに便利になっているなんて、最近まで知らなかったんです…。 数年前に一度触ってみて「パッケージも少ないし、まだ早いかな?」と感じて以来、すっかりご無沙汰でした。

でも、それが大きな間違い!久しぶりに使ってみたら、あまりの進化に「もっと早く使っておけば…」と後悔したほどです。 今回は、そんな私の反省も踏まえつつ、同じようにwingetから少し距離を置いていた方や、まだその本当の便利さを知らない方へ向けて、「もう手放せない!」と感じたwingetの魅力をご紹介します。

エンジニアの「あるある」、wingetで解決しませんか?

  • PCセットアップ地獄: 新しいPCが届いた!でも、開発ツールを一つひとつWebサイトから探して、ダウンロードして、インストールして…という作業に半日溶けてしまう…。
  • 突然の脆弱性対応: 「〇〇に脆弱性発見!」という連絡がSlackで飛び交う。全メンバーが対応したか、確認するのも一苦労…。
  • 便利なはずのフリーソフトが化石に: ちょっとした便利ツール、気づけば半年前にインストールしたきり、一度も更新していない…。

これらの「あるある」な悩み、wingetがスマートに解決してくれます。

wingetとは?

Microsoftが開発・提供する、公式のパッケージ管理ツールです。 コマンドプロンプトやPowerShellからコマンドを一つ実行するだけで、ソフトウェアの検索、インストール、アップデート、アンインストールができてしまいます。

Linuxのaptyum、macOSのHomebrewを使ったことがある方なら、すぐにピンとくるはずです。

learn.microsoft.com

すぐに使える利用環境

  • Windows 10(バージョン1809以降)やWindows 11には、標準で搭載されています。
  • PowerShellやコマンドプロンプトで winget と入力し、バージョン情報が表示されれば準備OKです。

基本的な使い方

もう、ブラウザでインストーラーを探し回る必要はありません。以下のコマンドだけで、驚くほど簡単に操作できます。

  1. 探す (search): 例として「Visual Studio Code」を探してみます。

     winget search vscode
    
  2. インストール (install): 検索結果で表示されたIDを指定するのが確実です。

     winget install Microsoft.VisualStudioCode
    
  3. まとめて更新 (upgrade): これが超強力!更新可能なアプリを、すべて一括でアップデートします。

     winget upgrade --all
    
  4. アンインストール (uninstall): アンインストールもコマンド一つです。

     winget uninstall Microsoft.VisualStudioCode
    

私がwingetに感動した3つのポイント

  1. 手動で入れたアプリも、まとめてアップデートしてくれる!
  2. 「管理者として実行」を、ほとんど意識しなくていい!
  3. 対応アプリが膨大!しかも探し方が簡単!

Point 1: 手動インストールしたアプリもアップデート対象に

驚いたのが、これです。以前、公式サイトから手動でインストーラーを使って入れたGoogle Chromeや7-Zip。これらも winget upgrade --all を実行するだけで、ちゃんとアップデート対象としてリストアップされたんです。wingetでインストールしたものだけが対象だと思い込んでいたので、これは嬉しい誤算でした。

Point 2: 「管理者として実行」は、ほぼ不要

基本的に、wingetはユーザー権限で動作します。もし、インストールに管理者権限が必要なソフトウェアだった場合は、wingetが自動でUAC(ユーザーアカウント制御)のプロンプトを表示して、権限の昇格を促してくれます。いちいちPowerShellを管理者権限で開き直す、といった手間が必要ありません。

Point 3: 膨大なアプリと簡単な探し方

公式リポジトリには9,000以上のパッケージが登録済み(2025年7月時点)。開発ツール、ブラウザ、ユーティリティなど、日常的に使うアプリはほぼ網羅されています。

応用編:スクリプトで、さらに快適な環境構築

ゼロからの環境構築を、わずか数分で

新しいPCのセットアップは、あらかじめ用意しておいたPowerShellスクリプトを実行するだけで完了です。

setup.ps1

Write-Host "開発環境のセットアップを開始します…"

# -e はIDとの完全一致、--accept-source-agreements はソースリポジトリの同意を自動化
winget install -e --id Git.Git --accept-source-agreements
winget install -e --id Microsoft.VisualStudioCode --accept-source-agreements
winget install -e --id Docker.DockerDesktop --accept-source-agreements
winget install -e --id 7zip.7zip --accept-source-agreements
winget install -e --id Google.Chrome --accept-source-agreements

Write-Host "セットアップが完了しました。"

今の環境を「ほぼ完全コピー」

現在使っているPCにインストールされているアプリをリスト化し、それを元に別のPCで一括インストールすることも可能です。

  1. 今の環境をJSONファイルに出力 (export)

     winget export -o my_apps.json
    
  2. JSONファイルから環境を復元 (import)

     winget import -i my_apps.json
    

さいごに

wingetは、もはや単なるパッケージ管理ツールではありません。日々の業務の効率化、セキュリティの維持、そして開発環境の標準化を力強くサポートしてくれる、現代のWindows開発に必須のパートナーです。

  • もう、アプリ探しの旅には出ない。 コマンド一つで、必要なツールがすぐに手に入ります。
  • 「あのアプリ、更新したっけ?」は、もう忘れてOK。 winget upgrade --all が、あなたのPCを常に最新の状態に保ちます。
  • 新しいPCのセットアップも、怖くない。 スクリプト一つで、いつもの環境が数分で再現できます。

「昔使ってみたけど、いまいちだったな…」と感じている方こそ、ぜひもう一度wingetを試してみてください。きっと、その進化に驚き、あなたの開発ライフに欠かせない存在になるはずです。