Windows でソフトをインストールする方法といえば、ブラウザで公式サイトなどから exe ファイルなどのインストーラーを落としてきて、それを開いてインストールメニューの画面をぽちぽちするのが一般的だとおもう。
これのめんどくさいところは、
- ソフトごとに公式サイトを巡る必要がある
- 広告や偽ボタンなどが煩わしいことがある
- 更新があるとソフトごとに確認していかなければならない など。
また、特に新しく PC をセットアップするときに、必要なソフトが大量にあるとこれを何度も繰り返す必要がある。 気づけばダウンロードフォルダには大量のインストーラーが……なんてことはこれまで自分も何度も繰り返してきた。
ここで紹介するのは「パッケージマネージャー」という考え方でのアプリ管理の方法だ。 Windows でのアプリ管理なら winget というパッケージマネージャーがある。
Linux なら apt など、Mac なら Homebrew がこれにあたる。
(よくチュートリアル記事とかで sudo apt upgrade とかコマンドを打つやつ)
ちなみに Windows には古くから Chocolatey というパッケージマネージャーもある。 こちらもオープンソースコミュニティで広く普及してきたものだが、winget は Microsoft 公式で OS に標準で搭載されていることがメリットか。
できること
winget でできることはこんな感じ。
- アプリのインストール
- 複数のアプリをまとめてインストールもできる
- アプリのアンインストール
- アプリの更新
- インストール済みアプリの一覧表示
要するに「アプリ管理をすべてコマンドで再現可能にできる」のが winget の強み。
黒い画面でキーボードだけで完結するからね、マウスを使わずにパッとできるととても楽。
winget をつかうときは管理者権限で起動したターミナル上でコマンドを実行するのをおすすめする。 (Linux とかで sudo でコマンドを実行するのと似たようなもの)
標準の権限でコマンドを実行すると、ソフトのインストール時に UAC の確認画面が出てくるため、ソフトをまとめてインストールしたりアップデートしたりするとその度に確認を求められて不便なので。
Windows キー + R キー で出てくる窓に cmd を入力してから Ctrl + Shift + Enter を押すことで「管理者権限でのコマンドプロンプト」を開くことができる。

たとえばアプリのインストールをしたいときは
winget install Google.Chrome同名のアプリがたくさんあると ID で指定しろと言われるので、そういうときは winget search キーワード で ID を調べよう。
C:\Windows\System32>winget search discord名前 ID バージョン 一致 ソース-----------------------------------------------------------------------------------------------------------------------Discord XPDC2RH70K22MN Unknown msstoreDiscord Discord.Discord 1.0.9219 ProductCode: discord wingetDiscord Discord.Discord.x86 1.0.9059 wingetBeeper Beeper.Beeper 4.2.367 Tag: discord winget...Legcord smartfrigde.Legcord 1.1.6 Tag: discord wingetSuside zeankundev.suside 2.3.3 Tag: discord wingetDiscord Canary Discord.Discord.Canary 1.0.794 wingetDiscord Canary Discord.Discord.Canary.x86 1.0.328 wingetDiscord Development Discord.Discord.Development 1.0.953 wingetDiscord Development Discord.Discord.Development… 1.0.771 wingetDiscord PTB Discord.Discord.PTB 1.0.1172 wingetDiscord PTB Discord.Discord.PTB.x86 1.0.1090 wingetBetterDiscordAutoInstaller Zwylair.BetterDiscordAutoIn… 1.5.0 wingetCSAuto MurkyYT.CSAuto 2.2.3 Tag: discord-rich-presence wingetこの場合だと、おそらくみんなが欲しい Discord アプリの ID は Discord.Discord になる。
逆にいえば ID じゃなくて名前でも (被りがなければ) インストールできる。
アップデートがあるか確認したいときは
winget updateアプデ可能なものが一覧で出てくる。
C:\Windows\System32>winget update名前 ID バージョン 利用可能 ソース-------------------------------------------------------------------------------------------------------------------Git Git.Git 2.51.2 2.52.0 wingetMozilla Firefox (x64 ja) Mozilla.Firefox.ja 145.0 145.0.2 wingetWizTree v4.27 AntibodySoftware.WizTree 4.27 4.28 wingetNDI 6 Tools NDI.NDITools 6.0.1.0 6.2.1.0 wingetTailscale Tailscale.Tailscale 1.90.6 1.90.8 wingetBlender BlenderFoundation.Blender 4.5.3 5.0.0 wingetOBS Studio OBSProject.OBSStudio 32.0.1 32.0.2 wingetParsec Parsec.Parsec 150-99 150.101.0.0 wingetVisual Studio Community 2022 Microsoft.VisualStudio.2022.Community 17.14.18 17.14.21 wingetEpic Games Launcher EpicGames.EpicGamesLauncher 1.3.128.0 1.3.161.0 wingetSD Card Formatter SDAssociation.SDMemoryCardFormatter 5.0.2 5.0.3 wingetGitHub Desktop GitHub.GitHubDesktop 3.5.3 3.5.4 wingetObsidian Obsidian.Obsidian 1.9.14 1.10.3 wingetSlack SlackTechnologies.Slack 4.47.59 4.47.65 wingetNVIDIA GeForce NOW 2.0.70.167 Nvidia.GeForceNow 2.0.70.167 2.0.79.166 wingetMicrosoft Teams Microsoft.Teams 25275.2601.4002.2815 25306.804.4102.7193 winget15 アップグレードを利用できます。
次のパッケージにはアップグレードを適用可能ですが、アップグレードには明示的対象化が必要です:名前 ID バージョン 利用可能 ソース--------------------------------------------------------Zotero DigitalScholar.Zotero 7.0.24 7.0.30 wingetDiscord Discord.Discord 1.0.9017 1.0.9216 wingetこれらをまとめてアップデートするなら
winget upgrade --allまた、入っているアプリを一覧で見たいなら
winget listこれを JSON ファイルとして書き出すことができる。
winget export -o winget-packages.jsonひとつ注意があるとすれば、winget に対応していないソフトがたまにあるので、それらはリストに書き出されない。仕方ないので手動でインストーラーを落としてこよう。
書き出した JSON ファイルがあれば、他の PC でまとめてインストールするときに便利。
winget import -i winget-packages.json基本的にはこれくらい覚えていればだいたいできる。
気になったらいろいろ調べてみよう。
まとめ
コマンドだけでアプリ管理ができる winget をつかおう。
この記事が役に立った場合は、ぜひシェアしてください!
一部の情報は古くなっている可能性があります