His Masters' Voices Wiki

よろずのことの書き残し

ユーザ用ツール

サイト用ツール


pc:winget

**文書の過去の版を表示しています。**

wingetでアプリを管理する

概要

Windowsでアプリをインストールする方法は、ソフトウェアの配布サイト(アプリの公式や窓の杜などのサイト)からインストーラーをダウンロードしてGUIでインストールするのが一般的である。(ほかには、Microsoftストアからインストールする方法もあるにはあるが……)
たくさんのアプリをインストールする場合は、その都度インストール作業をポチポチ行う必要があり、これは非常に面倒。

一方、LinuxではコマンドラインからCUIでインストール(yum, dfn, apt など)が一般的。
これだと、スクリプトを書いておくとコマンド一発で所望のアプリを一括インストール、というようなことが簡単に実現できる。

実は、Windowsでも コマンドラインからCUIでインストールすることができる。

この用には、以前よりChocolaty(chocoコマンド)が存在していたが、有志のプロジェクトということもあり、個人所有ならともかく、企業で業務利用するPCで積極的に使うのはちょっと躊躇いがあった。

最近では、Microsoft自身がCUIによるアプリ管理方法を整備しており、Windows10 Windows11では、マイクロソフト謹製の winget というコマンドが使えるようになっている。
Microsoftが公式に提供している機能ということもあって、業務利用でも安心して(?)使用することができる。

そんな、winget コマンドでアプリを管理する方法について、よく使うところだけ、簡単に記す。

Wingetを導入する

  • Microsoft Storeアプリから 「アプリ インストーラー(App Installer)」 をインストールする
  • PowerShellで次のコマンドを実行する
    Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe

Wingetの使い方

インストールされているアプリを一覧表示する

winget list

アプリを探す

winget search <appname>

アプリをインストールする

winget install <appname>

アップグレードできるアプリを表示

winget upgrade

アプリをアップグレードする

winget upgrade <appname>

アプリを削除する

winget uninstall notepad++

インストール先のこと

Wingetに限ったことではないが、インストーラーを使ったWindowsアプリのインストール先には、基本的に次のパターンがある。

  • システムインストール ※管理者権限が要る
    すべてのユーザー(ALL USERS) C:\Program Files\, C:\Program Files (x86)\など
  • ユーザーインストール
    現在のユーザー(CURRENT USER) C:\Users\<USERNAME>\AppData\Local\Programs\など

個人所有など、自分専用として専有できるパソコンならば、別にどちらを選ぼうが構わない。
会社や家族共用しているなど、複数ユーザーが共有するパソコンでは、ALL USERSでインストールしたいケースが多いに違いない。

ありがちな失敗例(自分の経験)

管理者権限のあるadminユーザーでアプリをインストールしたが、本来そのアプリを使いたい一般ユーザーでサインインすると、アプリは使えない状態のままだった。
インストーラーのデフォルトがユーザーインストールだったため、adminだけが使える状態でインストールされたことが原因。

Help

winget help

winget install help

System権限か、User権限か

アプリのインストールのされ方として、System権限:すべてのユーザー(管理者権限必要)と User権限:現在のユーザー がある。
System権限: C:\Program Files\<appName> や C:\Program Files(x86)\<appName>
User権限: C:\Users\<USERNAME>\AppData\Local\Programs\<appName>

特にsettingを変更せずに、winget install でインストールすると、どちらになるかは、アプリによってまちまちのようだ。

上手くない方法

スクリプト

※すべてのユーザーにインストールする

winget install winscp --silent --override "/SILENT /ALLUSERS"
winget install winmerge --scope machine
pc/winget.1683013398.txt.gz · 最終更新: 2023/05/02 16:43 by nipa28