Что означает код HRESULT 0x80004023 (CO_E_MSI_ERROR)?

 
Предыдущий Следующий
CO_E_RELOAD_DLL CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT

CO_E_MSI_ERROR

Контракт операции

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

Что сохранить до retry

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

Проверка гипотезы

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

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

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

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


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