【问题标题】:InstallUtil Publishing WMI Schema to 64 Bit Directory Instead of 32 Bit DirectoryInstallUtil 将 WMI 架构发布到 64 位目录而不是 32 位目录
【发布时间】:2023-04-02 06:00:02
【问题描述】:

This is similar to this question,但似乎还没有确定一个好的解决方案,所以我要开一个新的,详细说明一下。

我们编写了一个 .NET 服务,其中包括使用 WMI 发布一些类层次结构。在 64 位机器(运行 Windows 2008 R2 Server)上,我们正在运行 32 位版本的 InstallUtil 来安装服务。它安装成功,但是当服务运行时,我们在使用 Instrumentation.Publish() 发布 WMI 类时收到以下错误消息

DirectoryNotFoundException - (找不到路径的一部分 'C:\Windows\system32\WBEM\Framework\root\MyNamespace\MyService'。)

但是,此目录确实存在于 C:\Windows\syswow64 目录中。如果我们手动将该目录结构复制到 system32 目录,那么一切正常。 但是,我们正在寻找一种自动化解决方案,因为我们将其打包在一个 MSI 中,然后分发到许多服务器上。

我们已经尝试运行 64 位版本的 InstallUtil,看看它是否可以工作,但是......这是真正奇怪的部分......它在 安装时给我们一个错误那说

安装 WMI 架构:已开始

安装阶段发生异常。 System.IO.DirectoryNotFoundException: 找不到路径的一部分 'C:\Windows\system32\WBEM\Framework\root\MyNamespace\MyService.mof'。

WMI 安装程序似乎以某种方式翻转。有没有其他人经历过这种情况,或者知道解决方法?

【问题讨论】:

    标签: .net windows-server-2008 wmi 64-bit


    【解决方案1】:

    我正在寻找同样问题的答案。我现在有点晚了,但对你和其他读者来说。我们发现当我们使用命令时它工作正常

    C:\Windows\Microsoft.NET\Framework64\v2.0.50727\InstallUtil.exe

    而不是,

    C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe.

    Framework 目录中的 64 让我们大吃一惊。如果你已经解决了你的问题,那么我希望我能帮助其他人寻找相同问题的答案。

    【讨论】:

      【解决方案2】:

      我知道这个回复更晚了,但也许它也可以帮助其他人 -

      我发现如果您从命令行运行安装实用程序,如果您不以管理员身份运行它,您会遇到奇怪的问题,我们有类似的事情并使用“以管理员身份运行”打开命令“然后问题就烟消云散了。可能无法解决您的问题,但值得一试。

      【讨论】:

        猜你喜欢
        • 2011-03-24
        • 1970-01-01
        • 2012-01-15
        • 2010-12-11
        • 2014-01-07
        • 1970-01-01
        • 2016-07-13
        • 1970-01-01
        相关资源
        最近更新 更多