Обеспечение центрального администрирования не удается с System.io.DirectoryNotFoundException
Вопрос
Недавно я удалил Moss 2007 с моего сервера разработки и пытаюсь переустановить его.
Однако я получаю ошибку во время шага 6 мастера конфигурации после установки, и это приводит к провалу обеспечения веб-сайта Центральной администрирования. Я пробовал удалить/установить несколько раз, и одно и то же происходит каждый раз.
Ошибка ...
Не удалось предоставить веб -приложение SharePoint Central Administration.
Было брошено исключение типа System.io.directoryNotFoundException. Дополнительная информация об исключении: система не может найти указанный путь. (Исключение из HRESULT: 0x80070003)
Заходя в файл журнала PSCDiAgnostics, я получаю следующие соответствующие строки:
21.09.2011 15:29:56 8 INF Отключает кербероса для предоставления Adminvs ... 21.09.2011 15:29:59 8
Task Adminvs не удалось с неизвестным исключением 21.09.2011 15:29:59 8 ERR Exception: System.io.DirectoryNotFoundException: Система не может найти указанный путь. (Исключение из HRESULT: 0x80070003) AT SYSTEM.DirectoryServices.Interop.UnSafenativeMethods.iads.setInfo ()
at System.DirectoryServices.DirectoryEntry.commichanges () на microsoft.sharepoint.administration.spmetabaseobject.provision () на microsoft.sharepoint.administration.spprovisionAssistant.CreateVirtualdectories (spiiswebsite, объект. SPProvisioningAssistant.CreateVirtualDirectories(SPIisWebSite site, Boolean adminSite) at Microsoft.SharePoint.Administration.SPProvisioningAssistant.DoAdditionalWssWebApplicationProvisioning(SPIisSettings[] settingsCollection, Boolean adminSite) at Microsoft.SharePoint.Administration.SPWebApplication.ProvisionIisWebSitesAsAdministrator() at Microsoft.SharePoint.Administration.SPWebApplication. Provisioniiswebsites () на microsoft.sharepoint.administration.spwebapplication.provision ()
на microsoft.sharepoint.administration.spadministrationwebapplication.provision () на microsoft.sharepoint.administration.spwebserviceinstance.provision ()
на microsoft.sharepoint.postsetupconfiguration.centralAdministrationiteTask.provisionAdminvs () на microsoft.sharepoint.postsetupconfiguration.centralAdministrationsitask.run () на microsoft.sharepoint.postsetConfiguration.
Проверка в IIS, я вижу, что были созданы пул приложений и сайт (оба называемые SharePoint Central Administration V3). Папка в файловой системе для сайта создана, но она пуста.
Я получаю все те же проблемы, если я попробую обеспечить CA с PSConfig, например,
psconfig -cmd adminvs -provision -port 9090 -windowsauthprovider onlyusentlm
Есть идеи, что может произойти?
ОБНОВИТЬ: Глядя в журналах SharePoint ULS, я вижу следующие соответствующие сообщения:
High Provisioning the metabase path, IIS://localhost/w3svc/154067106
Medium Invoking metabase method start.
Unexpected Unable to invoke metabase method start:
System.Reflection.TargetInvocationException:
Exception has been thrown by the target of an invocation. --->
System.Runtime.InteropServices.COMException (0x800710D8):
The object identifier does not represent a valid object.
(Exception from HRESULT: 0x800710D8)
--- End of inner exception stack trace ---
at System.DirectoryServices.DirectoryEntry.Invoke(String methodName, Object[] args)
at Microsoft.SharePoint.Administration.SPMetabaseObject.InvokeMethod(String method)
Решение 2
Хорошо, после перерыва я вернулся к этому вопросу и сумел как -то решить его. Я не могу полностью рассказать о том, в чем была проблема, но я постараюсь задокументировать некоторые вещи, которые я сделал, если это полезно для какого -то будущего человека.
Я удалил SharePoint через панель управления, но также сделал Ручное удаление шагов, перечисленных в этой статье, в основном обеспечение удаления всех соответствующих записей из реестра и каталогов, удаленных из файловой системы.
Я также отредактировал файл хостов, чтобы у него была только одна запись, 127.0.0.1 localhost
. Анкет У него были добавлены несколько пользовательских записей.
Затем я перезапустил машину и снова запустил конфигурацию Post Install ... и она снова не удалась.
Я заметил, что SharePoint делает странную вещь с портами, когда вы обеспечиваете центрального администратора. Какой бы номер порта вы ни выбрали во время конфигурации, он создает виртуальный каталог в IIS, используя какой -то другой случайный номер порта. Кроме того, когда подготовка провалилась на полпути, я заметил в IIS, что сайт был связан с этим же случайным номером порта. Глядя на декомпилированный код для psconfig.exe и microsoft.sharepoint.dll в dotpeek. Похоже, что этот порт изменяется на выбранном вами порту после Некоторые начальные шаги обеспечения с использованием этого случайного номера порта.
Есть запись в реестре в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\WSS
называется CentralAdministrationURL
. Анкет Это было установлено http: //u003Cservername> : 12345, где 12345 представляет собой случайный номер порта, который SharePoint вызывает из ниоткуда. Поэтому я отредактировал этот реестр, чтобы использовать номер порта, который я знал, что собираюсь выбрать, когда запустил конфигурацию.
Затем я запустил конфигурацию, на этот раз с PSConfig:
psconfig.exe -cmd adminvs -provision -port 8080 -windowsauthprovider onlyusentlm
На этот раз это сработало. Я не уверен, какой шаг был тем, кто исправил его, потому что я попробовал некоторые из этих шагов в разное время. Может быть, на этот раз я сделал это в правильном порядке, чтобы он был разрешен.
(Еще одна вещь, которую я сделал, хотя этот, скорее всего, совершенно не связан, - добавить функцию «Услуги для сетевой файловой системы» к серверу через диспетчер серверов, просто потому, что я заметил живой сервер SP, который работал нормально, имел это включено, тогда как мой разработчик этого не сделал.)
Другие советы
Вы можете использовать здесь старого друга, Sysinternals Process Monitor.
Запустите его в своей системе. Вы можете отфильтровать его, чтобы заблокировать только в вашем конкретном процессе. Если вы запустите PSConfig из окна CMD, просто используйте значок «Поглядываясь на цель», перетащите его в окно оболочки, и он будет изолировать на процессах, выполненных в результате этого процесса.
Затем он будет сообщать обо всех файлах, реестре и обработке вызовов. Вы должны быть в состоянии наблюдать за происходящим, и сопоставить, когда работа не сработает с тем, что происходит внутри процесса Explorer. Ищите неудачу в записи в файловой системе или реестре. Если повезет, этого должно быть достаточно, чтобы определить вашу реальную причину и исправить ее.