Brief description of your issue
On new Windows 11 installs, after updating Winget and installing dependencies, Several of the PowerShell commands do not work and will throw Exception has been thrown by the target of an invocation. Currently, all the WinGetPackage commands (Get-WingetPackage, Uninstall-WingetPackage, etc.) throw the error.
Adding -Verbose and -Debug does not give any additional output. Get-WingetVersion works as expected (returns v1.4.10173). The other commands (the various WingetSetting and WingetSource commands) do not throw this error either.
The Winget command itself works fine - I can search, list, and install like normal.
The above behavior occurs when using Powershell v7.3.1. Using the Windows built in Powershell (v5.1.22621.963 for me), I cannot even import the module. running import-module .\Microsoft.WinGet.Client.psd1 -Verbose there gives the following output:
VERBOSE: Loading module from path
'C:\Users\main\Desktop\Microsoft.WinGet.Client-PSModule\Microsoft.WinGet.Client.psd1'.
VERBOSE: Loading 'FormatsToProcess' from path 'C:\Users\main\Desktop\Microsoft.WinGet.Client-PSModule\Format.ps1xml'.
VERBOSE: Loading module from path
'C:\Users\main\Desktop\Microsoft.WinGet.Client-PSModule\x64\Desktop\Microsoft.WinGet.Client.dll'.
import-module : Could not find Windows Runtime type 'Microsoft.Management.Deployment.PackageMatchField'.
At line:1 char:1
+ import-module .\Microsoft.WinGet.Client.psd1 -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Import-Module], TypeLoadException
+ FullyQualifiedErrorId : System.TypeLoadException,Microsoft.PowerShell.Commands.ImportModuleCommand
Steps to reproduce
- Spin up a new VM and install Windows 11
- Update all apps through Microsoft Store
- Install all updates through Windows update
- Verify that Winget is v1.4.10173
- Install Microsoft.Powershell (v7.3.1 for me)
- Install Microsoft.VCRedist.2015+.x64 (as specified here)
- Download the Powershell module for winget from the releases
- import the module and run
Get-WingetPackage
Expected behavior
Get-WingetPackage returns a list of all installed packages
Actual behavior
Get-WingetPackage returns Get-WinGetPackage: Exception has been thrown by the target of an invocation.
Environment
Windows Package Manager v1.4.10173
Copyright (c) Microsoft Corporation. All rights reserved.
Windows: Windows.Desktop v10.0.22621.1105
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.19.10173.0
Brief description of your issue
On new Windows 11 installs, after updating Winget and installing dependencies, Several of the PowerShell commands do not work and will throw
Exception has been thrown by the target of an invocation.Currently, all theWinGetPackagecommands (Get-WingetPackage,Uninstall-WingetPackage, etc.) throw the error.Adding
-Verboseand-Debugdoes not give any additional output.Get-WingetVersionworks as expected (returnsv1.4.10173). The other commands (the variousWingetSettingandWingetSourcecommands) do not throw this error either.The
Wingetcommand itself works fine - I can search, list, and install like normal.The above behavior occurs when using Powershell v7.3.1. Using the Windows built in Powershell (v5.1.22621.963 for me), I cannot even import the module. running
import-module .\Microsoft.WinGet.Client.psd1 -Verbosethere gives the following output:Steps to reproduce
Get-WingetPackageExpected behavior
Get-WingetPackagereturns a list of all installed packagesActual behavior
Get-WingetPackagereturnsGet-WinGetPackage: Exception has been thrown by the target of an invocation.Environment