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 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)

Entre las aplicaciones afectadas conocidas se incluyen Kodi, JT2Go, Ear Trumpet, Teslagrad y otros.

Se liberó una actualización de Windows (versión 14393.351 - KB3197954) el 27/10/16 que incluye correcciones importantes que abordan este problema. Si detecta este problema, actualice la máquina. Si no puede actualizar el PC porque la máquina se reinicia antes de poder iniciar sesión, debe usar la restauración del sistema para recuperar el sistema en un punto anterior a la instalación de una de las aplicaciones afectadas. Para obtener información sobre cómo usar la restauración del sistema, consulte Opciones de recuperación en Windows 10.

Si la actualización no corrige el problema o no está seguro de cómo recuperar su PC, póngase 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"/>

Puede consultar detalles sobre Windows Update en:

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: SignerSign() Failed" (-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. Puede usar cualquiera de los métodos siguientes para ver el asunto del certificado.

Opción 1: PowerShell

Ejecute el siguiente comando de PowerShell. Tanto .cer como .pfx se pueden usar como archivo de certificado, ya que tienen la misma información del editor.

(Get-PfxCertificate <cert_file>).Subject

Opción 2: Explorador de archivos

Haga doble clic en el certificado en el Explorador de archivos, seleccione la pestaña Detalles y, a continuación, el campo Asunto de la lista. A continuación, puede 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 APPXSIP_LOG 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.