Udostępnij przez


Znane problemy dotyczące spakowanych aplikacji na komputery stacjonarne

Ten artykuł zawiera znane problemy, które mogą wystąpić podczas tworzenia pakietu MSIX dla aplikacji komputerowej.

Zostanie wyświetlony błąd MSB4018 nieoczekiwanie zadanie "GenerateResource" nie powiodło się

Może się to zdarzyć podczas próby przekonwertowania zestawów satelickich na pliki indeksu zasobów pakietów (PRI).

Zdajemy sobie sprawę z tego problemu i pracujemy nad bardziej długoterminowym rozwiązaniem. Jako tymczasowe obejście można wyłączyć generator zasobów, dodając ten wiersz XML do pierwszego elementu PropertyGroup w pliku projektu hostingu:

<AppxGeneratePrisForPortableLibrariesEnabled>false</AppxGeneratePrisForPortableLibrariesEnabled>

Niebieski ekran z kodem błędu 0x139 (KERNEL_SECURITY_CHECK_FAILURE)

Po zainstalowaniu lub uruchomieniu niektórych aplikacji ze Sklepu Microsoft komputer może nieoczekiwanie ponownie uruchomić się z powodu błędu: 0x139 (KERNEL_SECURITY_CHECK_ FAILURE).

Znane aplikacje, których dotyczy problem, to Kodi, JT2Go, Ear Trumpet, Teslagrad i inne.

Aktualizacja systemu Windows (wersja 14393.351 — KB3197954) została wydana w dniu 10/27/16, która zawiera ważne poprawki, które rozwiązały ten problem. Jeśli wystąpi ten problem, zaktualizuj maszynę. Jeśli nie możesz zaktualizować komputera, ponieważ komputer zostanie uruchomiony ponownie przed zalogowaniem, należy użyć przywracania systemu w celu odzyskania systemu do punktu wcześniejszego niż podczas instalowania jednej z aplikacji, których dotyczy problem. Aby uzyskać informacje na temat korzystania z przywracania systemu, zobacz Opcje odzyskiwania w systemie Windows 10.

Jeśli aktualizacja nie rozwiąże problemu lub nie masz pewności, jak odzyskać komputer, skontaktuj się z pomocą techniczną firmy Microsoft.

Jeśli jesteś deweloperem, możesz uniemożliwić instalację spakowanej aplikacji w wersjach systemu Windows, które nie zawierają tej aktualizacji. Należy pamiętać, że dzięki temu aplikacja nie będzie dostępna dla użytkowników, którzy jeszcze nie zainstalowali aktualizacji. Aby ograniczyć dostępność aplikacji do użytkowników, którzy zainstalowali tę aktualizację, zmodyfikuj plik AppxManifest.xml w następujący sposób:

<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.351" MaxVersionTested="10.0.14393.351"/>

Szczegółowe informacje dotyczące usługi Windows Update można znaleźć na stronie:

Typowe błędy, które mogą występować podczas podpisywania aplikacji

Niezgodność wydawcy i certyfikatu powoduje błąd narzędzia Signtool "Błąd: SignerSign() Failed" (-2147024885/0x8007000b)

Wpis Wydawca w manifeście pakietu aplikacji systemu Windows musi być zgodny z podmiotem certyfikatu, którym się podpisujesz. Aby wyświetlić temat certyfikatu, możesz użyć dowolnej z poniższych metod.

Opcja 1. Program PowerShell

Uruchom następujące polecenie programu PowerShell. Jako plik certyfikatu można użyć .cer lub pfx, ponieważ mają te same informacje o wydawcy.

(Get-PfxCertificate <cert_file>).Subject

Opcja 2. Eksplorator plików

Kliknij dwukrotnie certyfikat w Eksploratorze plików, wybierz kartę Szczegóły , a następnie pole Temat na liście. Następnie możesz skopiować zawartość.

Opcja 3. CertUtil

Uruchom narzędzie certutil z wiersza polecenia w pliku PFX i skopiuj pole Podmiot z danych wyjściowych.

certutil -dump <cert_file.pfx>

Nieprawidłowy certyfikat PE (0x800700C1)

Może się tak zdarzyć, gdy pakiet zawiera plik binarny, który ma uszkodzony certyfikat. Oto niektóre z powodów, dla których może się to zdarzyć:

  • Początek certyfikatu nie znajduje się na końcu obrazu.

  • Rozmiar certyfikatu nie jest odpowiedni.

  • Rozpoczęcie certyfikatu nie następuje po strukturze IMAGE_NT_HEADERS32 32-bitowego wykonywalnego pliku ani po strukturze IMAGE_NT_HEADERS64 64-bitowego wykonywalnego pliku.

  • Wskaźnik certyfikatu nie jest prawidłowo ustawiony do struktury WIN_CERTIFICATE.

Aby znaleźć pliki zawierające nieprawidłowy certyfikat PE, otwórz wiersz polecenia i ustaw zmienną środowiskową o nazwie APPXSIP_LOG na wartość 1.

set APPXSIP_LOG=1

Następnie, z poziomu wiersza polecenia, ponownie podpisz aplikację. Przykład:

signtool.exe sign /a /v /fd SHA256 /f APPX_TEST_0.pfx C:\Users\Contoso\Desktop\pe\VLC.appx

Informacje o plikach zawierających nieprawidłowy certyfikat PE zostaną wyświetlone w oknie konsoli. Przykład:

...

ERROR: [AppxSipCustomLoggerCallback] File has malformed certificate: uninstall.exe

...   

Dalsze kroki

Masz pytania? Zapytaj nas w witrynie Stack Overflow. Nasz zespół monitoruje te tagi .