**文書の過去の版を表示しています。**
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に限ったことではないが、Windowsのアプリのインストール先は、基本的に次があると思っている。
- すべてのユーザー(ALL USERS)
- 現在のユーザー(CURRENT USER)
個人所有など、自分専用として専有できるパソコンならば、別にどちらを選ぼうが構わない。
会社や家族共用しているなど、複数ユーザーが共有するパソコンでは、ALL USERSでインストールしたいケースが多いに違いない。
ありがちな失敗例(自分の経験)
管理者ユーザー(admin)でインストールしたが、アプリのデフォルトが CURRENT USERだったため、adminだけが使える状態でインストールされて、本来そのアプリを使いたい一般ユーザーには使えない状態になっていた。
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