pc:winget
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
pc:winget [2023/04/30 18:57] – [各種アプリのインストール先] nipa28 | pc:winget [2023/05/04 10:26] (現在) – [Wingetの使い方] nipa28 | ||
---|---|---|---|
行 1: | 行 1: | ||
wingetでアプリを管理する | wingetでアプリを管理する | ||
======================= | ======================= | ||
- | Winget導入 | + | |
+ | 概要 | ||
+ | ---- | ||
+ | Windowsでアプリをインストールする方法は、ソフトウェアの配布サイト(アプリの公式や窓の杜などのサイト)からインストーラーをダウンロードしてGUIでインストールするのが一般的である。(ほかには、Microsoftストアからインストールする方法もあるにはあるが……) | ||
+ | たくさんのアプリをインストールする場合は、その都度インストール作業をポチポチ行う必要があり、これは非常に面倒。 | ||
+ | |||
+ | 一方、LinuxではコマンドラインからCUIでインストール(yum, | ||
+ | これだと、スクリプトを書いておくとコマンド一発で所望のアプリを一括インストール、というようなことが簡単に実現できる。 | ||
+ | |||
+ | 実は、Windowsでも コマンドラインからCUIでインストールすることができる。 | ||
+ | |||
+ | この用には、以前よりChocolaty(chocoコマンド)が存在していたが、有志のプロジェクトということもあり、個人所有ならともかく、企業で業務利用するPCで積極的に使うのはちょっと躊躇いがあった。 | ||
+ | |||
+ | 最近では、Microsoft自身がCUIによるアプリ管理方法を整備しており、Windows10 Windows11では、マイクロソフト謹製の winget というコマンドが使えるようになっている。 | ||
+ | Microsoftが公式に提供している機能ということもあって、業務利用でも安心して(?)使用することができる。 | ||
+ | |||
+ | |||
+ | そんな、winget コマンドでアプリを管理する方法について、よく使うところだけ、簡単に記す。 | ||
+ | |||
+ | |||
+ | |||
+ | Wingetを導入する | ||
---------- | ---------- | ||
行 7: | 行 28: | ||
* PowerShellで次のコマンドを実行する | * PowerShellで次のコマンドを実行する | ||
`Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe` | `Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe` | ||
+ | Wingetの使い方 | ||
+ | ---------- | ||
+ | |||
+ | インストールされているアプリを一覧表示する | ||
+ | ``` | ||
+ | winget list | ||
+ | ``` | ||
+ | |||
+ | アプリを探す | ||
+ | インストールしたいアプリの正確な名前(ID、モニカー)を確認する。 | ||
+ | ``` | ||
+ | winget search < | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | アプリをインストールする | ||
+ | |||
+ | ``` | ||
+ | winget install < | ||
+ | ``` | ||
+ | |||
+ | アップグレードできるアプリを表示 | ||
+ | ``` | ||
+ | winget upgrade | ||
+ | ``` | ||
+ | |||
+ | アプリをアップグレードする | ||
+ | ``` | ||
+ | winget upgrade < | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | アプリを削除する | ||
+ | |||
+ | ``` | ||
+ | winget uninstall notepad++ | ||
+ | ``` | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | インストール先のこと | ||
+ | ---------- | ||
+ | |||
+ | Wingetに限ったことではないが、インストーラーを使ったWindowsアプリのインストール先には、基本的に次のパターンがある。 | ||
+ | |||
+ | * システムインストール ※管理者権限が要る | ||
+ | すべてのユーザー(ALL USERS) | ||
+ | * ユーザーインストール | ||
+ | 現在のユーザー(CURRENT USER) '' | ||
+ | |||
+ | 個人所有など、自分専用として専有できるパソコンならば、別にどちらを選ぼうが構わない。 | ||
+ | 会社や家族共用しているなど、複数ユーザーが共有するパソコンでは、ALL USERSでインストールしたいケースが多いに違いない。 | ||
+ | |||
+ | < | ||
+ | |||
+ | 管理者権限のあるadminユーザーでアプリをインストールしたが、本来そのアプリを使いたい一般ユーザーでサインインすると、アプリは使えない状態のままだった。 | ||
+ | インストーラーのデフォルトがユーザーインストールだったため、adminだけが使える状態でインストールされたことが原因。</ | ||
+ | |||
+ | winget installに --scopeオプションを付けると、インストール範囲をuserまたはmachineに設定できる。userで基本ユーザーインストール、machineで基本システムインストールになるようだ。(デフォルトはuser) | ||
+ | いちいち --scope machine を付けるのが面倒なら winget settings で次のようにしておくと毎度オプション指定する手間が省ける。 | ||
+ | |||
+ | settings.jsonに追記 | ||
+ | ``` | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | }, | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
Help | Help | ||
行 104: | 行 203: | ||
``` | ``` | ||
++++ | ++++ | ||
- | |||
System権限か、User権限か | System権限か、User権限か | ||
------------- | ------------- | ||
行 113: | 行 211: | ||
特にsettingを変更せずに、winget install でインストールすると、どちらになるかは、アプリによってまちまちのようだ。 | 特にsettingを変更せずに、winget install でインストールすると、どちらになるかは、アプリによってまちまちのようだ。 | ||
+ | |||
+ | こうしておくと、System権限でインストールされるみたい。 | ||
+ | |||
+ | ``` | ||
+ | winget install winmerge --scope machine | ||
+ | |||
+ | ``` | ||
行 119: | 行 224: | ||
アプリのインストーラにオプションを渡して、System権限(/ | アプリのインストーラにオプションを渡して、System権限(/ | ||
+ | ``` | ||
+ | winget install winscp --silent --override "/ | ||
- | ^ アプリ | + | ``` |
- | | Notepad++ | + | |
- | | WinMerge | + | |
- | | WinSCP | + | |
+ | Notepad++ | ||
+ | System | ||
+ | /S | ||
+ | |||
+ | WinMerge | ||
+ | User | ||
+ | /SILENT /ALLUSERS | ||
+ | v2.16.28 wingetでオプション指定してもUser権限になる(単体インストーラーだとSystem権限) | ||
+ | WinSCP | ||
+ | User | ||
+ | /VERYSILENT /NORESTART /ALLUSERS | ||
++++ | ++++ | ||
- | |||
スクリプト | スクリプト | ||
--------- | --------- | ||
- | ※すべてのユーザーにインストールする | ||
- | ``` | ||
- | winget install winscp --silent --override "/ | ||
- | ``` | + | <file batch installApps.cmd> |
+ | powershell -ExecutionPolicy RemoteSigned -File .\installApps.ps1 | ||
+ | </ | ||
- | ``` | + | <file powershell installApps.ps1> |
- | winget install winmerge --scope machine | + | $list = " |
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
- | ``` | + | foreach ($item in $list) { |
+ | echo " | ||
+ | winget install $item --silent --scope machine | ||
+ | if ($?) { echo " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | 文字化けを避けるには、エンコードを「UTF-8-BOM」にする。 |
pc/winget.1682848637.txt.gz · 最終更新: 2023/04/30 18:57 by nipa28