«Файл не найден» при регистрации события WMI в 64-разрядной версии Win 2003 R2 - PullRequest
0 голосов
/ 30 января 2012

Я пытаюсь установить Событие WMI, содержащее простую сборку .Net, на 64-битном сервере Win 2003 R2, но я всегда получаю эту ошибку:

System.IO.FileNotFoundException: не удалось найти файл 'C: \ WINDOWS \ system32 \ WBEM \ Framework \ root \ MyApp \ WMIEvents \ Common \ MyApp.MyModule.WmiEvents_SN__Version_1.0.53.0.mof'.

  • Мой пользователь - администратор
  • Я запускаю InstallUtil в командной строке с полными привилегиями
  • Я использую 64-битную версию InstallUtil

У меня нет вариантов, любая помощь приветствуется ...

Полный вывод 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, и кажется, что каким-то образом installutil пытается открыть этот файл.

Ответы [ 2 ]

1 голос
/ 31 января 2012

Если вы пытаетесь установить провайдера WMI, который использует WMI.net, попробуйте использовать ключ / mof.Это может дать вам больше информации.это поможет вам отладки.

http://msdn.microsoft.com/en-us/library/bb608336(v=vs.90).aspx

0 голосов
/ 31 января 2012

Кажется, что база данных WMI как-то повреждена, в итоге я удалил всю схему для своего приложения (сначала я попытался удалить только классы), а затем выполнение installutil завершилось без ошибок.

Как удалить опубликованную схему wmi?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...