長らく 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