pc:winget
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| pc:winget [2023/04/30 18:46] – nipa28 | pc:winget [2023/05/04 10:26] (現在) – [Wingetの使い方] nipa28 | ||
|---|---|---|---|
| 行 2: | 行 2: | ||
| ======================= | ======================= | ||
| - | Winget導入 | + | 概要 |
| + | ---- | ||
| + | Windowsでアプリをインストールする方法は、ソフトウェアの配布サイト(アプリの公式や窓の杜などのサイト)からインストーラーをダウンロードしてGUIでインストールするのが一般的である。(ほかには、Microsoftストアからインストールする方法もあるにはあるが……) | ||
| + | たくさんのアプリをインストールする場合は、その都度インストール作業をポチポチ行う必要があり、これは非常に面倒。 | ||
| + | |||
| + | 一方、LinuxではコマンドラインからCUIでインストール(yum, | ||
| + | これだと、スクリプトを書いておくとコマンド一発で所望のアプリを一括インストール、というようなことが簡単に実現できる。 | ||
| + | |||
| + | 実は、Windowsでも コマンドラインからCUIでインストールすることができる。 | ||
| + | |||
| + | この用には、以前よりChocolaty(chocoコマンド)が存在していたが、有志のプロジェクトということもあり、個人所有ならともかく、企業で業務利用するPCで積極的に使うのはちょっと躊躇いがあった。 | ||
| + | |||
| + | 最近では、Microsoft自身がCUIによるアプリ管理方法を整備しており、Windows10 Windows11では、マイクロソフト謹製の winget というコマンドが使えるようになっている。 | ||
| + | Microsoftが公式に提供している機能ということもあって、業務利用でも安心して(?)使用することができる。 | ||
| + | |||
| + | |||
| + | そんな、winget コマンドでアプリを管理する方法について、よく使うところだけ、簡単に記す。 | ||
| + | |||
| + | |||
| + | |||
| + | Wingetを導入する | ||
| ---------- | ---------- | ||
| 行 8: | 行 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 | ||
| ------ | ------ | ||
| 行 104: | 行 203: | ||
| ``` | ``` | ||
| ++++ | ++++ | ||
| + | System権限か、User権限か | ||
| + | ------------- | ||
| + | アプリのインストールのされ方として、System権限:すべてのユーザー(管理者権限必要)と User権限:現在のユーザー がある。 | ||
| + | System権限: | ||
| + | User権限: C: | ||
| - | 各種アプリのインストール先 | + | 特にsettingを変更せずに、winget install でインストールすると、どちらになるかは、アプリによってまちまちのようだ。 |
| - | ------------- | + | |
| - | 各種アプリのデフォルトのインストール先 | + | こうしておくと、System権限でインストールされるみたい。 |
| - | System: C:\Program Files\ | + | |
| - | User: C: | + | |
| + | ``` | ||
| + | winget install winmerge --scope machine | ||
| - | ^ アプリ | + | ``` |
| - | | Notepad++ | + | |
| - | | WinMerge | + | |
| - | | WinSCP | + | |
| - | スクリプト | + | ++++ 上手くない方法 | |
| - | --------- | + | |
| - | ※すべてのユーザーにインストールする | + | アプリのインストーラにオプションを渡して、System権限(/ |
| ``` | ``` | ||
| 行 130: | 行 229: | ||
| ``` | ``` | ||
| - | ``` | ||
| - | winget install winmerge --scope machine | ||
| - | ``` | + | |
| + | Notepad++ | ||
| + | System | ||
| + | /S | ||
| + | |||
| + | WinMerge | ||
| + | User | ||
| + | /SILENT /ALLUSERS | ||
| + | v2.16.28 wingetでオプション指定してもUser権限になる(単体インストーラーだとSystem権限) | ||
| + | WinSCP | ||
| + | User | ||
| + | / | ||
| + | |||
| + | ++++ | ||
| + | スクリプト | ||
| + | --------- | ||
| + | |||
| + | |||
| + | |||
| + | <file batch installApps.cmd> | ||
| + | powershell -ExecutionPolicy RemoteSigned -File .\installApps.ps1 | ||
| + | </ | ||
| + | |||
| + | <file powershell installApps.ps1> | ||
| + | $list = " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | |||
| + | foreach ($item in $list) { | ||
| + | echo " | ||
| + | winget install $item --silent --scope machine | ||
| + | if ($?) { echo " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | 文字化けを避けるには、エンコードを「UTF-8-BOM」にする。 | ||
pc/winget.1682847975.txt.gz · 最終更新: by nipa28
