关于 Winget
官方网站
官方博客
官方帮助
https://docs.microsoft.com/zh-cn/windows/package-manager/
总结
-
- Microsoft公式のコマンドラインパッケージマネージャーがリリース!(2020年6月2日現在プレビュー版)
-
- ソフトウェアの必要な場所からのダウンロードとインストールを自動化できる。
最新バージョン(または指定した正確なバージョン)を検索してインストール
search、showコマンドで使用可能なパッケージの検索
新たにパッケージマネージャーを作成した理由
信頼されたアプリケーションのリポジトリを構築し、悪意のあるソフトウェアがリポジトリやマシンに侵入する可能性を減らす。
パッケージマネージャーをネイティブWindowsアプリケーションとして提供する。
すべてのWindows 10バージョンをサポートしている
方便的事情
-
- 例えば、Azureのチャットボット開発で、以下のコマンドで基本的な環境がそろう
再インストール、他の方に環境を設定してもらう際も便利になりそう
winget install -e --id Microsoft.PowerShell
winget install -e --id Microsoft.AzureCLI
winget install -e --id Microsoft.WindowsTerminal
winget install -e --id Microsoft.VisualStudioCode
winget install -e --id Microsoft.BotFrameworkEmulator
winget install -e --id Microsoft.BotFrameworkComposer
安装
Windows 11 在中国获得广泛使用。
- ✅標準でインストール
Windows 10 系统。
-
- GitHub(個人的にはこちらがおすすめ)
- https://github.com/microsoft/winget-cli/releases
能够使用的命令
install 指定されたアプリケーションをインストール
show アプリケーションに関する情報を表示
source アプリケーションのソースを管理
search アプリの基本情報を見つけて表示
hash インストーラー ファイルをハッシュするヘルパー
validate マニフェスト ファイルを検証
安装选项(–help)
-m,--manifest アプリケーションのマニフェストへのパス
--id ID で結果をフィルター処理
--name 名前で結果をフィルター処理
--moniker アプリ モニカーで結果をフィルター処理
-v,--version 指定されたバージョンを使用します。既定値は最新のバージョンです
-s,--source 指定されたリソースを使用してアプリを検索
-e,--exact 完全一致を使用してアプリを検索
-i,--interactive 対話式インストールを要求する;ユーザー入力が必要である可能性があります
-h,--silent サイレント インストールを要求
-o,--log ログの場所 (サポートされている場合)
--override インストーラーに渡される引数を上書き
-l,--location インストール先 (サポートされている場合)
More help can be found at: https://aka.ms/winget-command-install
安装
- 既定では対話型モードではないが、インストールの進行状況が表示される。
如果有多个候选人,就会失败。
> winget install PowerShell
Multiple apps found matching input criteria. Please refine the input.
Name Id Version Matched
-----------------------------------------------------------------------------------------
PowerShell Microsoft.PowerShell 7.0.2
Windows Terminal Preview Microsoft.WindowsTerminalPreview 1.0.1401.0 Tag: PowerShell
PowerShell-Preview Microsoft.PowerShell-Preview 7.1.0-preview.3
Windows Terminal Microsoft.WindowsTerminal 1.0.1401.0 Tag: powershell
如果要进行基于身份证进行完全匹配的指定,请添加-e、–id。
winget install -e --id Microsoft.PowerShell
搜索并显示“选项(–help)”。
请搜索Windows Package Manager (WinGet)相关内容,请点击以下链接:
https://docs.microsoft.com/zh-cn/windows/package-manager/winget/search
https://docs.microsoft.com/zh-cn/windows/package-manager/winget/show
几乎相同的选项。
以下为共同之处:
--id ID で結果をフィルター処理
--name 名前で結果をフィルター処理
--moniker アプリ モニカーで結果をフィルター処理
-s,--source 指定されたリソースを使用してアプリを検索
-e,--exact 完全一致を使用してアプリを検索
搜索原生选项。
--tag タグ で結果をフィルター処理
--command コマンドによる結果のフィルター処理
-n,--count 指定した数以下の結果を表示
展示专有选项
-m,--manifest アプリケーションのマニフェストへのパス
-v,--version 指定されたバージョンを使用します。既定値は最新のバージョンです
--versions アプリの利用可能なバージョンを表示
源头
- 追加のソースは、現時点ではサポートされていません。
在winget下载的文件存放位置。
%USERPROFILE%\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\
如果情况不顺利(如果没有权限)
以常规权限执行
winget install --Id OpenJS.Nodejs
Found Node.js [OpenJS.Nodejs]
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://nodejs.org/dist/v14.4.0/node-v14.4.0-x64.msi
██████████████████████████████ 28.7 MB / 28.7 MB
Successfully verified installer hash
Installing ...
-
- エラーコードが返却され、実行できない。
- 対処策:管理者権限でコマンドを実行する。
Installer failed with exit code: 1602
Installer log is available at: C:\Users\~\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\TempState\WinGet\OpenJS.Nodejs.14.4.0.log
2. 作为管理者执行
Found Node.js [OpenJS.Nodejs]
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://nodejs.org/dist/v14.4.0/node-v14.4.0-x64.msi
██████████████████████████████ 28.7 MB / 28.7 MB
Successfully verified installer hash
Installing ...
Successfully installed!
如果不顺利的话,则有2种情况(英文版和日文版)。
winget install Microsoft.SQLServerManagementStudio
Found SQL Server Management Studio [Microsoft.SQLServerManagementStudio]
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://go.microsoft.com/fwlink/?linkid=2125901&clcid=0x409
██████████████████████████████ 534 MB / 534 MB
Successfully verified installer hash
Installing ...
Installer failed with exit code: 1626
-
- Microsoft SQL Server Mangement Studioは、既定でインストールされるのが英語版
-
- 日本語版インストール済環境に英語版をインストールしてもバージョンアップできない
-
- ログを確認しないと詳細はわからなかった。
%USERPROFILE%\AppData\Local\Temp\SsmsSetup\SSMS-Setup-ENU_20200609110102.log
日本語版をアンインストールすれば英語版をインストールできるが、当然ながら英語版しか使えない(SSMSは英語版と日本語版が別インストーラー)
日本語版を使いたければ、SSMSは通常通りのインストールとなる
如果出现问题,可以尝试以下方法3(同一版本)。
- 同一バージョンの場合には、エラーコードが返却されたことがあった。(インストーラー次第)
如果事情不顺利(自我提升)
-
- Windows Terminal上のPoweshellからPoweshellをインストールするとエラーとなったことがあった(自分自身を更新しようとしたため?)
cmd.exeから再インストールすると復旧した。
填補缺漏
-
- 管理者のコマンドプロンプトから起動しなかった場合は、UACでブロックされる。
-
- wingetのリポジトリは反映が遅い場合があった。
PowerShellのコマンドで、PoweShellが古いというメッセージが表示されるが、wingetではまだ更新されていないことがあった。
仅需要一种选项的话,以下是对这句话的汉语本地化改写:
借鉴
-
- Microsoft ブログ
-
- Microsoft ドキュメント
-
- GitHub
- Build 2020 まとめ