Home Menu Search

Saqwel

IT and other things blog

Не устанавливается клиент SCCM 2012 R2

Share

Нашел я как то в локальной сети сервер, не управляемый SCCM. Не порядок, подумал я и запустил установку клиента SCCM на проблемный сервер с сервера управления. Установка потерпела крах. Процесс ccmsetup.exe запускался и тут же прекарщался. В логe ccmsetup.log первая ошибка была

Could not create WMI locator class (80040154)

Эта ужасная ошибка не давала покоя в течение дней, наверно, десяти, пока я не поборол её.

Вообще сама по себе она говорит, что есть проблемы с WMI, однако всяческие проверки показали, что WMI тут не причем. Оказывается код ошибки 0x80040154 говорит о том, что не зарегистрирован какой-то COM класс, но какой загадка. В поисках ответов нашел, что проблема скорее всего в том, что не работает функция CoCreateInstance или CoCreateInstanceEx, используемые для создания объектов. По этим функциям в поисковике раскопал несколько проблем, которые возникали у людей, в итоге пришёл к тому что необходимо в оснастке comexp.msc поглядеть на объекты COM. И наконец, я наткнулся на ошибку.

TcCtx. TransactionContext Object was not found in registry
TcCtx. TransactionContext Object was not found in registry

С такими показаниями решить проблему оказалось делом техники. Необходимо в свойствах объекта TcCtx. TransactionContext найти значение CLSID. Так как проблема возникала в COM+ Utilities (32 bit), то необходимо искать эти объекты в разделе реестра HKEY_CLASSES_ROOT\Wow6432Node\CLSID. Этих объектов там не было, поэтому я экспортировал ключи HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{5cb66670-d3d4-11cf-acab-00a024a55aef} и HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{7999FC25-D3C6-11CF-ACAB-00A024A55AEF} со здорового компьютера на этот проблемный. В результате первая ошибка в ccmsetup.log исчезла.

Однако, осталась ещё одна ошибка

Failed to get assigned site from AD. Error 0x87d00227

Такую ошибку решить не представляется никакой возможности, поэтому я перешёл к следующему этапу.

На этот раз я скопировал папку, из которой устанавливается клиент на проблемный сервер и запустил локально в итоге получил ошибки

CreateInstance of CLSID_BackgroundCopyManager failed with 80040154. Unable to check BITS version
This operating system does not contain the correct version of BITS. BITS 2.5 or later is required.

Я предпринял попытку восстановить BITS, однако, проблема оказалась не в этом. Пресловутая ошибка 0x80040154. В ходе посиков я раскопал, что объект BackgroundCopyManager входит в интерфейс IBackgroundCopyManager, CLSID которого {5CE34C0D-0DC9-4C1F-897C-DAA1B78CEE7C}, этого раздела не было в том же разделе реестра, в котором не было объекта TcCtx. TransactionContext. По отработаной схеме я экспортировал этот раздел со здоровой машины и импортировал на этот проблемный сервер.

В итоге, клиент SCCM благополучно установился.

PS

Добавлю, что в ходе последующих изысканий было выявлено, что не работают некоторые кнопки и ссылки в интерфейсе Windows и не запускается Internet Explorer 9 32-bit. Оказалось что надо перерегистрировать все dll в папке %windir%\sysWOW64. Скорее всего, перерегистрация всех библиотек помогла бы и в решении пролемы с невозможностью установить клиента SCCM.

Leave a Reply