stsadm.exe аварийно завершает работу при выполнении всех команд

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/4149

  •  16-10-2019
  •  | 
  •  

Вопрос

Внезапно stsadm перестал работать, вызывая сбой при выполнении всех команд, которыми он был запущен (даже -help!)

например

> stsadm.exe -help
Unhandled Exception: System.ArgumentNullException: Value cannot be null.
Parameter name: path
   at System.IO.DirectoryInfo..ctor(String path)
   at Microsoft.SharePoint.StsAdmin.SPStsAdmin.EnsureExtendedOperationMap()
   at Microsoft.SharePoint.StsAdmin.SPStsAdmin.EnsureFullOperationMap()
   at Microsoft.SharePoint.StsAdmin.SPStsAdmin.LookupOperationName(String strOperation)
   at Microsoft.SharePoint.StsAdmin.SPStsAdmin.Main(String[] args)

Я озадачен, почему.Единственным существенным изменением на сервере между вчерашним и сегодняшним днем ​​была установка веб-частей Citrix Web Interface для SharePoint.

ОБНОВЛЯТЬ:Я также получаю следующую ошибку при запуске центра администрирования из меню «Пуск» (Пуск -> Microsoft Office Server -> Центр администрирования SharePoint 3.0).

Произошла ошибка при доступе к разделу реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\12.0\WSS.Восстановите этот продукт, выбрав его в меню «Установка и удаление программ».

Если я захожу в Центр администрирования через браузер и ввожу URL-адрес (например, http://интранет:8080), все работает нормально.

БОЛЬШЕ ОБНОВЛЕНИЯ: Я немного покопался в stsadm, разбирая его с помощью .NET Reflector.Оказывается, строка, от которой он отказывается:

FileInfo[] files = new DirectoryInfo(SPUtility.GetGenericSetupPath("config")).GetFiles("stsadmcommands.*.xml");

в EnsureExtendedOperationMap() метод.

Причина, я полагаю, в том, что SPUtility.GetGenericSetupPath("config") возвращает ноль.Я установил тестовое консольное приложение и, конечно же, SPUtility.GetGenericSetupPath("config") возвращает ноль.Значит что-то явно где-то сильно залито.

При запуске тестового консольного приложения я заметил следующий вывод:

Первое случайное исключение типа «System.DllNotFoundException» произошло в Microsoft.SharePoint.dll.

что звучит не очень хорошо.Поэтому я прошу Visual Studio прерывать все исключения, даже обработанные, и исключение выглядит следующим образом:

System.DllNotFoundException:Невозможно загрузить DLL onetnative.dll:Указанный модуль не может быть найден.(Исключение из HRESULT:0x8007007E)

Примечание:Я начал отдельный вопрос относительно этой проблемы с onetnative.dll...

Это было полезно?

Решение

Насколько я могу проследить, это было вызвано установкой неправильной версии Microsoft J#.

J# является обязательным условием для веб-частей Citrix Web Interface для SharePoint.Я установил 32-битную версию по ошибке, затем удалил и установил 64-битную версию.У меня есть догадка (основанная на хорошем тестировании, но не проверенная на 100%), что это привело к тому, что приложения .NET/CLR начали искать в 32-битном узле реестра, а не в 64-битном.

Другие советы

Возможно, UAC включен, и вы, возможно, запускаете командную строку не от имени администратора?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top