【发布时间】: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