Что означает код HRESULT 0x80004028 (CO_E_CLRNOTAVAILABLE)?

 
Предыдущий Следующий
CO_E_CLASS_DISABLED CO_E_ASYNC_WORK_REJECTED

CO_E_CLRNOTAVAILABLE

Контекст этого HRESULT

При CO_E_CLRNOTAVAILABLE нарушено конкретное условие: Среда Common Language Runtime недоступна. Не подменяйте его последующей ошибкой приложения: сначала локализуйте платформа и развёртывание COM.

Параметры первого сбоя

  • зафиксируйте OS/build, process architecture, SxS activation context, MSI product/component identity и CLR availability. Для условия «Среда Common Language Runtime недоступна» это позволяет восстановить исходный объект и не спутать его с последующим состоянием.
  • соберите для сравнения технические маркеры CoInitializeEx, HRESULT с теми значениями, которые были видны до очистки/rollback; они привязывают «Среда Common Language Runtime недоступна» к реальному вызову.
  • запишите момент первого результата и один исправный запуск, сохранив одинаковыми входные данные; различие должно появиться именно на стадии платформа и развёртывание COM.

Контроль после изменения

локализуйте сравнить установленный компонент и activation context с требованиями зарегистрированного COM-класса. Изменяйте только предпосылку, связанную с «Среда Common Language Runtime недоступна», а регистрацию, identity, входной объект и окружение по возможности оставляйте прежними.

не маскировать platform mismatch переустановкой без проверки версии и архитектуры; для результата «Среда Common Language Runtime недоступна» широкая переустановка, очистка каталога или ослабление безопасности не считается доказательством причины.

Для соседних результатов соседний HRESULT той же подсистемы сравнивайте первую различающуюся операцию. Исправление подтверждено только тогда, когда исходная граница проходит при прежних входах и следующий ожидаемый шаг получает корректное состояние.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.