Partager via


Problèmes connus liés aux applications de bureau empaquetées

Cet article contient des problèmes connus qui peuvent se produire lorsque vous créez un package MSIX pour votre application de bureau.

Vous recevez l’erreur MSB4018 la tâche « GenerateResource » a échoué de façon inattendue

Cela peut se produire lors de la tentative de conversion d’assemblys satellites en fichiers PRI (Package Resource Index).

Nous sommes conscients de ce problème et nous travaillons à une solution plus à long terme. En guise de solution de contournement temporaire, vous pouvez désactiver le générateur de ressources en ajoutant cette ligne de code XML au premier élément PropertyGroup dans l’hébergement du fichier projet :

<AppxGeneratePrisForPortableLibrariesEnabled>false</AppxGeneratePrisForPortableLibrariesEnabled>

Écran bleu avec code d’erreur 0x139 (KERNEL_SECURITY_CHECK_FAILURE)

Après avoir installé ou lancé certaines applications à partir du Microsoft Store, votre ordinateur peut redémarrer de manière inattendue avec l’erreur : 0x139 (KERNEL_SECURITY_CHECK_ FAILURE).

Les applications affectées connues incluent Kodi, JT2Go, Ear Trumpet, Teslagrad et d’autres.

Une mise à jour Windows (version 14393.351 - KB3197954) a été publiée le 10/27/16 qui inclut des correctifs importants qui résolvent ce problème. Si vous rencontrez ce problème, mettez à jour votre ordinateur. Si vous n’êtes pas en mesure de mettre à jour votre PC, car votre ordinateur redémarre avant de pouvoir vous connecter, vous devez utiliser la restauration du système pour récupérer votre système à un point antérieur à celui où vous avez installé l’une des applications affectées. Pour plus d’informations sur l’utilisation de la restauration du système, consultez les options de récupération dans Windows 10.

Si la mise à jour ne résout pas le problème ou si vous ne savez pas comment récupérer votre PC, contactez le support Microsoft.

Si vous êtes développeur, vous pouvez empêcher l’installation de votre application empaquetée sur les versions de Windows qui n’incluent pas cette mise à jour. Notez qu’en procédant ainsi, votre application ne sera pas disponible pour les utilisateurs qui n’ont pas encore installé la mise à jour. Pour limiter la disponibilité de votre application aux utilisateurs qui ont installé cette mise à jour, modifiez votre fichier AppxManifest.xml comme suit :

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

Vous trouverez plus d’informations sur Windows Update à l’adresse suivante :

Erreurs courantes qui peuvent apparaître lorsque vous signez votre application

L’incompatibilité du serveur de publication et du certificat provoque l’erreur Signtool « Error : SignerSign() Failed » (-2147024885/0x8007000b)

L’entrée Publisher dans le manifeste du package d’application Windows doit correspondre à l’objet du certificat avec lequel vous vous connectez. Vous pouvez utiliser l’une des méthodes suivantes pour afficher l’objet du certificat.

Option 1 : PowerShell

Exécutez la commande PowerShell suivante. Vous pouvez utiliser .cer ou .pfx comme fichier de certificat, car ils ont les mêmes informations d’éditeur.

(Get-PfxCertificate <cert_file>).Subject

Option 2 : Explorateur de fichiers

Double-cliquez sur le certificat dans l’Explorateur de fichiers, sélectionnez l’onglet Détails , puis le champ Objet de la liste. Vous pouvez ensuite copier le contenu.

Option 3 : CertUtil

Exécutez certutil à partir de la ligne de commande sur le fichier PFX et copiez le champ Objet à partir de la sortie.

certutil -dump <cert_file.pfx>

Certificat PE invalide (0x800700C1)

Cela peut se produire lorsque votre package contient un fichier binaire qui a un certificat endommagé. Voici quelques-unes des raisons pour lesquelles cela peut se produire :

  • Le début du certificat n’est pas à la fin d’une image.

  • La taille du certificat n’est pas positive.

  • Le début du certificat ne se trouve pas après la structure IMAGE_NT_HEADERS32 pour un exécutable 32 bits ni après la structure IMAGE_NT_HEADERS64 pour un exécutable 64 bits.

  • Le pointeur de certificat n’est pas correctement aligné pour une structure WIN_CERTIFICATE.

Pour rechercher des fichiers qui contiennent un certificat PE incorrect, ouvrez une invite de commandes et définissez la variable d’environnement nommée APPXSIP_LOG sur la valeur 1.

set APPXSIP_LOG=1

Ensuite, à partir de l’invite de commandes, signez à nouveau votre application. Par exemple:

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

Des informations sur les fichiers qui contiennent un certificat PE incorrect s’affichent dans la fenêtre console. Par exemple:

...

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

...   

Étapes suivantes

Vous avez des questions ? Posez-nous vos questions sur Stack Overflow. Notre équipe surveille ces balises .