Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описаны известные проблемы, которые могут возникнуть при создании пакета MSIX для настольного приложения.
Вы получили сообщение об ошибке MSB4018: задача "GenerateResource" неожиданно прекратила выполнение.
Это может произойти при попытке преобразовать сателлитные сборки в файлы индекса ресурсов пакета (PRI).
Мы знаем об этой проблеме и работаем над более долгосрочным решением. В качестве временного обходного решения можно отключить генератор ресурсов, добавив эту строку XML в первый элемент PropertyGroup в файле проекта:
<AppxGeneratePrisForPortableLibrariesEnabled>false</AppxGeneratePrisForPortableLibrariesEnabled>
Синий экран с кодом ошибки 0x139 (KERNEL_SECURITY_CHECK_FAILURE)
После установки или запуска некоторых приложений из Microsoft Store компьютер может неожиданно перезагрузиться с ошибкой: 0x139 (KERNEL_SECURITY_CHECK_FAILURE).
Известные затронутые приложения включают Kodi, JT2Go, Ear Trumpet, Teslagrad и другие.
Обновление Windows (версия 14393.351 — KB3197954) было выпущено 10.27.16, включающее важные исправления, которые устраняют эту проблему. При возникновении этой проблемы обновите компьютер. Если вы не сможете обновить компьютер, так как компьютер перезагрузится до входа, необходимо использовать восстановление системы для восстановления системы до точки раньше, чем при установке одного из затронутых приложений. Сведения об использовании восстановления системы см. в разделе "Параметры восстановления" в Windows 10.
Если обновление не устраняет проблему или не знаете, как восстановить компьютер, обратитесь в службу поддержки Майкрософт.
Если вы являетесь разработчиком, может потребоваться запретить установку упаковаемого приложения в версиях Windows, которые не включают это обновление. Обратите внимание, что при этом приложение не будет доступно пользователям, которые еще не установили обновление. Чтобы ограничить доступность приложения пользователям, которые установили это обновление, измените файл AppxManifest.xml следующим образом:
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.351" MaxVersionTested="10.0.14393.351"/>
Подробные сведения о центре обновления Windows можно найти по следующему адресу:
- https://support.microsoft.com/kb/3197954
- https://support.microsoft.com/help/12387/windows-10-update-history
Типичные ошибки, которые могут возникнуть при подписи приложения
Несоответствие издателя и сертификата приводит к ошибке signtool "Error: SignerSign() Failed" (-2147024885/0x8007000b)
Запись издателя в манифесте пакета приложения Windows должна соответствовать теме сертификата, с которым вы подписываются. Для просмотра темы сертификата можно использовать любой из следующих методов.
Вариант 1. PowerShell
Выполните следующую команду PowerShell. В качестве файла сертификата можно использовать .cer или PFX, так как они имеют те же сведения о издателе.
(Get-PfxCertificate <cert_file>).Subject
Вариант 2. Проводник
Дважды щелкните сертификат в проводнике, перейдите на вкладку "Сведения " и поле "Тема " в списке. Затем можно скопировать содержимое.
Вариант 3. CertUtil
Запустите certutil из командной строки в PFX-файле и скопируйте поле Subject из выходных данных.
certutil -dump <cert_file.pfx>
Недопустимый сертификат PE (0x800700C1)
Это может произойти, когда пакет содержит двоичный файл с поврежденным сертификатом. Вот некоторые из причин, почему это может произойти:
Начало сертификата не совпадает с концом изображения.
Размер сертификата не является положительным.
Сертификат не запускается после структуры
IMAGE_NT_HEADERS32
для 32-разрядного исполняемого файла или после структурыIMAGE_NT_HEADERS64
для 64-разрядного исполняемого файла.Указатель сертификата неправильно выровнен для структуры WIN_CERTIFICATE.
Чтобы найти файлы, содержащие недопустимый сертификат PE, откройте командную строку и задайте переменную среды с именем APPXSIP_LOG
1.
set APPXSIP_LOG=1
Затем в командной строке снова подпишите приложение. Рассмотрим пример.
signtool.exe sign /a /v /fd SHA256 /f APPX_TEST_0.pfx C:\Users\Contoso\Desktop\pe\VLC.appx
Сведения о файлах, содержащих недопустимый сертификат PE, будут отображаться в окне консоли. Рассмотрим пример.
...
ERROR: [AppxSipCustomLoggerCallback] File has malformed certificate: uninstall.exe
...
Дальнейшие шаги
У вас есть вопросы? Спросите нас в Stack Overflow. Наша команда следит за этими тегами.