【问题标题】:WMI Provider load failureWMI 提供程序加载失败
【发布时间】:2014-06-18 02:19:24
【问题描述】:

我在“下一行(第 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

【问题讨论】:

    标签: .net wmi


    【解决方案1】:

    https://msdn.microsoft.com/en-us/library/bb961987.aspx

    当 WMI 客户端尝试使用在利用 WMI 提供程序扩展基础结构的 WMI 提供程序中实现的功能时,可能会收到提供程序加载失败错误。 原因可能是未正确注册的动态链接库 (DLL)。在安装 .NET Framework 3.5(SP1 之前)期间,名为 System.Management.Instrumentation.dll 的 DLL 未正确注册。 要执行注册,请运行 Regasm.exe 工具,提供 DLL 的完整路径作为唯一参数。以下过程提供了正确注册 System.Management.Instrumentation.dll 的分步说明。 注册 System.Management.Instrumentation.dll

    1. 单击开始,然后选择所有程序。

    2. 单击 Microsoft Visual Studio 2008 并选择 Visual Studio 工具。

    3. 在 Windows Vista 之前的操作系统上,单击 Microsoft Visual Studio 2008 命令提示符以打开命令提示符窗口。在 Windows Vista 上,右键单击 Microsoft Visual Studio 2008 命令提示符并选择以管理员身份运行以打开提升的命令提示符窗口。

    4. 在命令提示符下,键入“regasm %systemdrive%\program files\reference assembly\microsoft\framework\v3.5\system.management.instrumentation.dll”并按 Enter。
    5. 检查消息,类型注册成功。要验证注册是否已更正,您可以运行下面的 WSH 脚本。它应该输出 System.Management.Instrumentation for .NET Framework 3.5 is already registered。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-25
      • 2017-12-15
      • 1970-01-01
      • 1970-01-01
      • 2022-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多