我正在尝试在Win 2003 R2 64位服务器上安装包含普通.Net程序集的WMI事件,但我总是收到此错误:
System.IO.FileNotFoundException:找不到文件'C:\ WINDOWS \ system32 \ WBEM \ Framework \ root \ MyApp \ WMIEvents \ Common \ MyApp.MyModule.WmiEvents_SN__Version_1.0.53.0.mof'。< /强>
我在这里没有选择,欢迎任何帮助......
以下完整的InstallUtil输出:
D:\Hosts\web\bin>c:\WINDOWS\microsoft.net\Framework64\v2.0.50727\InstallUtil.exe /i MyApp.MyModule.WmiEvents.dll /showcallstack
Microsoft (R) .NET Framework Installation utility Version 2.0.50727.3053
Copyright (c) Microsoft Corporation. All rights reserved.
Running a transacted installation.
Beginning the Install phase of the installation.
See the contents of the log file for the D:\Hosts\web\bin\MyApp.MyModule.WmiEvents.dll assembly's progress.
The file is located at D:\Hosts\web\bin\MyApp.MyModule.WmiEvents.InstallLog.
Installing assembly 'D:\Hosts\web\bin\MyApp.MyModule.WmiEvents.dll'.
Affected parameters are:
i =
assemblypath = D:\Hosts\web\bin\MyApp.MyModule.WmiEvents.dll
logfile = D:\Hosts\web\bin\MyApp.MyModule.WmiEvents.InstallLog
logtoconsole =
Installing WMI Schema: Started
An exception occurred during the Install phase.
System.IO.FileNotFoundException: Could not find file 'C:\WINDOWS\system32\WBEM\Framework\root\MyApp\WMIEvents\Common\MyApp.MyModule.WmiEvents_SN__Version_1.0.53.0.mof'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize)
at System.IO.StreamReader..ctor(String path, Boolean detectEncodingFromByteOrderMarks)
at System.Management.Instrumentation.SchemaNaming.get_Mof()
at System.Management.Instrumentation.ManagementInstaller.Install(IDictionary savedState)
at System.Configuration.Install.Installer.Install(IDictionary stateSaver)
at System.Configuration.Install.Installer.Install(IDictionary stateSaver)
at System.Configuration.Install.AssemblyInstaller.Install(IDictionary savedState)
at System.Configuration.Install.Installer.Install(IDictionary stateSaver)
at System.Configuration.Install.TransactedInstaller.Install(IDictionary savedState)
The Rollback phase of the installation is beginning.
See the contents of the log file for the D:\Hosts\web\bin\MyApp.MyModule.WmiEvents.dll assembly's progress.
The file is located at D:\Hosts\web\bin\MyApp.MyModule.WmiEvents.InstallLog.
Rolling back assembly 'D:\Hosts\web\bin\MyApp.MyModule.WmiEvents.dll'.
Affected parameters are:
i =
assemblypath = D:\Hosts\web\bin\MyApp.MyModule.WmiEvents.dll
logfile = D:\Hosts\web\bin\MyApp.MyModule.WmiEvents.InstallLog
logtoconsole =
The Rollback phase completed successfully.
The transacted install has completed.
The installation failed, and the rollback has been performed.
D:\Hosts\web\bin>
更新 我一直在浏览procmon,似乎安装程序试图打开该文件。
答案 0 :(得分:1)
如果您尝试安装使用WMI.net的WMI提供程序,请尝试使用/ mof开关。 这可能会给你更多信息。这将有助于您调试。
http://msdn.microsoft.com/en-us/library/bb608336(v=vs.90).aspx
答案 1 :(得分:0)
似乎WMI数据库以某种方式被破坏了,我最终删除了我的应用程序的整个架构(首先我尝试删除了这些类)然后完成了installutil执行而没有错误。