Problemas conocidos de las aplicaciones de escritorio empaquetadas

En este artículo se describen los problemas conocidos que pueden producirse al crear un paquete MSIX para tu aplicación de escritorio.

Recibe el error MSB4018, que indica que se produjo un error inesperado en la tarea "GenerateResource".

Esto puede suceder al intentar convertir ensamblados satélite en archivos de índice de recursos del paquete (PRI).

Conocemos este problema y estamos trabajando en una solución a más largo plazo. Como solución temporal, para deshabilitar el generador de recursos puedes agregar esta línea de XML al primer elemento PropertyGroup que aloja el archivo de proyecto:

<AppxGeneratePrisForPortableLibrariesEnabled>false</AppxGeneratePrisForPortableLibrariesEnabled>

Pantalla azul con el código de error 0x139 (KERNEL_SECURITY_CHECK_FAILURE)

Después de instalar o iniciar determinadas aplicaciones desde Microsoft Store, es posible que la máquina se reinicie inesperadamente con el error: 0x139 (KERNEL_SECURITY_CHECK_ FAILURE)

Las aplicaciones afectadas conocidas incluyen Kodi, JT2Go, Ear Trumpet y Teslagrad, entre otras.

Se publicó una actualización de Windows (versión 14393.351 - KB3197954) el 27/10/16 que incluye correcciones importantes que abordan este problema. Si se produce este problema, actualiza la máquina. Si no puedes actualizar el equipo porque la máquina se reinicia antes de poder iniciar sesión, debes usar la función Restaurar sistema para recuperar el sistema a un punto anterior a la instalación de una de las aplicaciones afectadas. Para obtener información sobre cómo usar Restaurar sistema, consulta Opciones de recuperación de Windows 10.

Si la actualización no soluciona el problema o no estás seguro de cómo recuperar tu equipo, ponte en contacto con el Soporte técnico de Microsoft.

Si eres un desarrollador, quizá quieras impedir la instalación de tu aplicación empaquetada en las versiones de Windows que no incluyen esta actualización. Ten en cuenta que, al hacerlo, la aplicación no estará disponible para los usuarios que aún no han instalado la actualización. Para limitar la disponibilidad de la aplicación a los usuarios que han instalado esta actualización, modifica el archivo AppxManifest.xml de la siguiente manera:

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

Para conocer más detalles sobre Windows Update, consulta:

Errores comunes que pueden aparecer al iniciar sesión en la aplicación

La falta de coincidencia entre el editor y el certificado produce el error de SignTool "Error: Error de SignerSign()" (-2147024885/0x8007000b)

La entrada Editor del manifiesto del paquete de la aplicación de Windows debe coincidir con el valor de Firmante del certificado con que firmas. Puedes usar cualquiera de los métodos siguientes para ver el firmante del certificado.

Opción 1: PowerShell

Ejecute el siguiente comando de PowerShell. Puedes usar .cer o .pfx como el archivo de certificado, ya que tienen la misma información de editor.

(Get-PfxCertificate <cert_file>).Subject

Opción 2: Explorador de archivos

Haz doble clic en el certificado en el Explorador de archivos, selecciona la pestaña Detalles y después el campo Firmante en la lista. A continuación, puedes copiar el contenido.

Opción 3: CertUtil

Ejecuta certutil desde la línea de comandos en el archivo PFX y copia el valor del campo Firmante de la salida.

certutil -dump <cert_file.pfx>

Certificado de PE incorrecto (0x800700C1)

Puede ocurrir si el paquete contiene un archivo binario que tiene un certificado dañado. Estas son algunas de las razones por las que puede ocurrir:

  • El inicio del certificado no está al final de una imagen.

  • El tamaño del certificado no es positivo.

  • El inicio del certificado no se encuentra después de la estructura IMAGE_NT_HEADERS32 para un ejecutable de 32 bits o después de la estructura IMAGE_NT_HEADERS64 para un ejecutable de 64 bits.

  • El puntero del certificado no está correctamente alineado para una estructura WIN_CERTIFICATE.

Para buscar los archivos que contienen un certificado de PE incorrecto, abre un símbolo del sistema y establece la variable de entorno denominada en un valor de 1.

set APPXSIP_LOG=1

A continuación, desde el símbolo del sistema, vuelve a firmar la aplicación. Por ejemplo:

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

La información sobre los archivos que contienen un certificado de PE incorrecto aparecerá en la ventana de la consola. Por ejemplo:

...

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

...   

Pasos siguientes

¿Tienes alguna pregunta? Pregúntanos en Stack Overflow. Nuestro equipo supervisa estas etiquetas.