| Предыдущий | Следующий |
| APPX_E_INVALID_SIP_CLIENT_DATA | APPX_E_INVALID_CONTENTGROUPMAP |
APPX_E_INVALID_KEY_INFO
Разбор APPX_E_INVALID_KEY_INFO: данные для диагностики
APPX_E_INVALID_KEY_INFO имеет значение 0x8008020A (-2146958838 в знаковом 32-битном представлении). Структура APPX_KEY_INFO, использованная для шифрования или расшифрования пакета, содержит недопустимые данные.
Для APPX_E_INVALID_KEY_INFO старший бит HRESULT делает значение ошибкой. Константа APPX_E_INVALID_KEY_INFO объявлена в winerror.h и относится к области «упаковка AppX/MSIX».
Где проходит граница ошибки
Для APPX_E_INVALID_KEY_INFO код возникает на границе проверки структуры пакета: Windows сопоставляет манифест, карту блоков, подпись и фактическое расположение файлов. Для APPX_E_INVALID_KEY_INFO ошибка упаковки должна исследоваться на исходном артефакте сборки, а не после ручного редактирования ZIP-контейнера.
Для APPX_E_INVALID_KEY_INFO не следует начинать с очистки состояния или переустановки компонента. Для APPX_E_INVALID_KEY_INFO сначала необходимо привязать результат к одному вызову, объекту и поколению его состояния.
В имени APPX_E_INVALID_KEY_INFO закодированы ориентиры для расследования: APPX — технический признак «appx»; INVALID — недопустимое значение; KEY — ключ; INFO — технический признак «info». Для APPX_E_INVALID_KEY_INFO эти ориентиры задают конкретный предмет проверки, но не заменяют контракт вызвавшего API.
Что означает код: признаки в имени константы
При разборе APPX_E_INVALID_KEY_INFO обозначение APPX связывает код с темой «технический признак «appx»». До повторной проверки APPX_E_INVALID_KEY_INFO сохраните входные данные без нормализации.
При разборе APPX_E_INVALID_KEY_INFO обозначение INVALID связывает код с темой «недопустимое значение». До повторной проверки APPX_E_INVALID_KEY_INFO сохраните входные данные без нормализации.
Компонент имени KEY уточняет смысл APPX_E_INVALID_KEY_INFO: речь идёт про ключ. Для APPX_E_INVALID_KEY_INFO эту границу следует воспроизвести отдельно от последующей обработки ошибки.
При разборе APPX_E_INVALID_KEY_INFO обозначение INFO связывает код с темой «технический признак «info»». До повторной проверки APPX_E_INVALID_KEY_INFO сохраните входные данные без нормализации.
Для APPX_E_INVALID_KEY_INFO в техническом контексте особенно важны: AppX/MSIX. При расследовании APPX_E_INVALID_KEY_INFO их следует проверять как связанные части одной операции, а не как независимые симптомы.
Что сохранить до изменений
- Для сравнения с исправным случаем по
APPX_E_INVALID_KEY_INFOнужно сохранить исходный .appx/.msix и его SHA-256 до повторной упаковки. - До повторной попытки по
APPX_E_INVALID_KEY_INFOнужно зафиксировать версию MakeAppx, SignTool и параметры конвейера сборки. - Для воспроизводимого отчёта по
APPX_E_INVALID_KEY_INFOнужно сравнить AppxManifest.xml, AppxBlockMap.xml и список файлов с успешным пакетом. - В первичном журнале по
APPX_E_INVALID_KEY_INFOнужно проверить, не переписывает ли пакет этап публикации, сжатия или доставки. - На границе сбоя по
APPX_E_INVALID_KEY_INFOнужно сохранить журнал AppXDeployment-Server и полный PackageFullName.
Последовательность проверки
- Для
APPX_E_INVALID_KEY_INFO: Проверить пакет штатным средством MakeAppx validate и отдельно проверить подпись; все остальные условия оставьте неизменными. - Для
APPX_E_INVALID_KEY_INFO: Сравнить проблемный артефакт с файлом, непосредственно полученным на этапе сборки; не удаляйте исходные данные до завершения сравнения. - Для
APPX_E_INVALID_KEY_INFO: Исключить ручную распаковку и повторное архивирование обычным ZIP-инструментом; повторите шаг на исправном контрольном примере. - Для
APPX_E_INVALID_KEY_INFO: Пересобрать пакет из чистого каталога и подписать уже окончательный файл; сохраните первый hresult и точное время результата. - Для
APPX_E_INVALID_KEY_INFO: Повторить установку на чистом тестовом профиле и проверить журнал развёртывания; отдельно отметьте изменение состояния объекта.
Исправление и подтверждение результата
Корректирующее действие для APPX_E_INVALID_KEY_INFO должно устранять условие «Структура APPX_KEY_INFO, использованная для шифрования или расшифрования пакета, содержит недопустимые данные» на уровне AppX/MSIX. Для APPX_E_INVALID_KEY_INFO простое подавление HRESULT, бесконечный повтор или очистка всех настроек не доказывают восстановление контракта.
Для APPX_E_INVALID_KEY_INFO после изменения повторите первоначальный сценарий, затем воспроизведите ближайшее ошибочное условие. Для APPX_E_INVALID_KEY_INFO это подтверждает, что устранена причина, а не только изменён путь обработки ошибки.
Технические ссылки
- Microsoft: Microsoft: troubleshoot Windows app packages — APPX_E_INVALID_KEY_INFO
- Обзор формата MSIX и структуры пакета — APPX_E_INVALID_KEY_INFO
Нужно найти другой код? Найти другой код состояния или ошибки.
