c# - 在远程计算机上安装 msi (ManagementException "Not found")

标签 c# exception windows-installer wmi

我目前正在尝试使用 WMI 在远程计算机上安装 msi,但遇到了一些我无法弄清楚的问题。

当我在运行它的本地计算机的 WMI 连接上使用以下代码时,它工作正常。但是,当我更改与远程计算机的连接时,它会抛出 ManagementException

    object res = installer.InvokeMethod("Install", methodArgs);

带有“未找到”消息。

我已验证与远程计算机的 WMI 连接工作正常并且 msi 文件的位置正确。

try
{
    ManagementClass installer = new ManagementClass(scope, new ManagementPath("Win32_Product"), new ObjectGetOptions());

    object[] methodArgs = { @"C:\Deploy\Deploy.msi", @"TARGETDIR=C:\", true };
    object res = installer.InvokeMethod("Install", methodArgs);

    if ((UInt32)res != 0)
        throw new Exception("Install error " + res.ToString());
    else                                                       
        project.Log(Level.Info, "Succesfully installed {0}", msi);
}
catch (Exception ex)
{
    project.Log(Level.Error, ex.ToString());  
}

有什么想法吗?

最佳答案

我想通了;

我尝试安装的机器运行的是 Server 2003,默认情况下没有安装 Windows Install Provider。 ( link )

我将目标计算机更改为运行 Windows 7 的计算机,它运行良好。

关于c# - 在远程计算机上安装 msi (ManagementException "Not found"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6295153/

相关文章:

exception - Tomcat ServeletException NoClassDefFoundError 异常

scripting - Powershell:使用动态创建的参数运行msiexec

android - 无法启动 Activity ComponentInfo Caused by : android. view.InflateException

c# - "using"命名空间声明中的语句位置

c# - 使用 AutoMapper 的 IMappingEngine 和 DI 有什么好处(如果有的话)

c# - 如何解决 ReSharper 仅针对显示/值成员的属性的 "unused property"警告?

visual-studio - 调试期间算术下溢或上溢异常

java - 为应用程序创建 Windows 安装程序

windows-7 - Windows Installer只是将我的安装更改为背后的ALLUSERS = 1

c# - 检查Mysql中的日期和当前日期