長らく Chocolatey で Windows のパッケージ管理を行ってきましたが、更新が面倒だったり Microsoft ストアアプリを扱えないことだったりで、 winget への移行を計画中です。
そこで Windows Sandbox で練習しようとしたら、Windows Sandbox に winget をインストールする作業で手間取ったので解決策を残しておきます。
winget のインストールエラー
上記の記事を参考に、コマンドラインでインストールしようとしました。
Add-AppxPackage -Path Microsoft.VCLibs.x64.14.00.Desktop.appx Add-AppxPackage -Path Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
- VC++ のパッケージをインストール
- winget をインストール
しかし winget をインストールするところで、下記のエラーが起きました。
Add-AppxPackage : Deployment failed with HRESULT: 0x80073CF3, Package failed updates, dependency or conflict
validation.
パッケージ Microsoft.DesktopAppInstaller_1.17.10271.0_x64__8wekyb3d8bbwe
は、見つからないフレームワークに依存しているためインストールできません。インストールするこのパッケージには、フレームワーク
"Microsoft.UI.Xaml.2.7" (公開元 "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington,
C=US"、ニュートラルまたは x64 プロセッサ アーキテクチャ、最少バージョン 7.2109.13004.0)
が必要です。現在インストールされている "Microsoft.UI.Xaml.2.7" という名前のフレームワークは次のとおりです: {}
NOTE: For additional information, look for [ActivityId] 41e5ee07-5275-0007-0549-e6417552d801 in the Event Log or use
the command line Get-AppPackageLog -ActivityID 41e5ee07-5275-0007-0549-e6417552d801
At line:1 char:1
+ Add-AppxPackage -Path Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msi ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (C:\Users\WDAGUt...bbwe.msixbundle:String) [Add-AppxPackage], IOException
+ FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand
Microsoft.UI.Xaml.2.7 というパッケージが足りないらしい。
ということで、NuGet のサイトからパッケージを直接ダウンロードしてきます。
Zip ファイルでダウンロードできるので、それを展開して winget のインストールコマンドに追加します。
Add-AppxPackage -Path Microsoft.VCLibs.x64.14.00.Desktop.appx Add-AppxPackage -Path microsoft.ui.xaml.2.7.1\tools\AppX\x64\Release\Microsoft.UI.Xaml.2.7.appx Add-AppxPackage -Path Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
これで Windows Sandbox に winget をインストールすることができました。
PS C:\Users\WDAGUtilityAccount> winget -v v1.2.10271