对于下面的代码,我在下一行(第10行)收到以下错误。有什么想法吗?
System.Management.ManagementException occurred
Message=Provider load failure
Source=System.Management
StackTrace:
at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
at System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext()
以下是代码:
Using mos As ManagementObjectSearcher = New ManagementObjectSearcher("SELECT * FROM Win32_Process")
For Each mo As ManagementObject In mos.Get()
Dim name As String = mo("Name")
Dim commandLine As String = mo("CommandLine")
If name = "rundll32.exe" Then
Dim index As Integer
commandLine = commandLine.Substring(index).ToLower
processPath = commandLine
End If
Next
End Using
答案 0 :(得分:0)
https://msdn.microsoft.com/en-us/library/bb961987.aspx
当WMI客户端尝试使用在利用WMI Provider Extensions基础结构的WMI提供程序中实现的功能时,可能会收到“提供程序加载失败”错误。 原因可能是未正确注册的动态链接库(DLL)。在安装.NET Framework 3.5(SP1之前)期间,未正确注册名为System.Management.Instrumentation.dll的DLL。 要执行注册,请运行Regasm.exe工具,将DLL的完整路径作为唯一参数。以下过程提供了正确注册System.Management.Instrumentation.dll的分步说明。 注册System.Management.Instrumentation.dll
单击“开始”,然后选择“所有程序”。
单击Microsoft Visual Studio 2008并选择Visual Studio Tools。
在Windows Vista之前的操作系统上,单击“Microsoft Visual Studio 2008命令提示符”以打开命令提示符窗口。在Windows Vista上,右键单击“Microsoft Visual Studio 2008命令提示符”,然后选择“以管理员身份运行”以打开提升的命令提示符窗口。