Что означает код HRESULT 0x80040157 (REGDB_E_PACKAGEPOLICYVIOLATION)?

 
Предыдущий Следующий
REGDB_E_BADTHREADINGMODEL CAT_E_CATIDNOEXIST

REGDB_E_PACKAGEPOLICYVIOLATION

Что означает REGDB_E_PACKAGEPOLICYVIOLATION

REGDB_E_PACKAGEPOLICYVIOLATION означает, что запрошенная COM-регистрация или активация запрещена политикой текущего пакета приложения. Класс может существовать и быть корректно зарегистрирован для обычного настольного процесса, но способ его использования недопустим в упакованном контексте.

Что проверить

  • Зафиксируйте CLSID, IID и способ активации, который непосредственно вернул ошибку.
  • Проверьте манифест пакета и объявление соответствующего COM-компонента.
  • Сверьте разрядность процесса и ожидаемое расположение регистрации.
  • Убедитесь, что приложение не пытается обходить пакетную регистрацию глобальной записью в HKCR.

Исправлять следует модель регистрации или манифест, а не разрешения реестра вслепую. Полезная проверка — сравнить тот же CLSID в обычном и пакетном процессе: если сбой появляется только во втором, исследуйте ограничения пакета и разрешённый способ активации класса.

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


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