Solucionar problemas de tiempo de ejecución en un contenedor de MSIXTroubleshoot runtime issues in an MSIX container

En este artículo, revisaremos cómo puede solucionar los problemas de tiempo de ejecución que se producen en un contenedor MSIX.In this article, we will review how you can troubleshoot runtime issues occurring in a MSIX container. Los contenedores de MSIX son relativamente sencillos y sencillos.MSIX containers by themselves are relatively simple and straightforward. A medida que se ejecutan más aplicaciones dentro de la misma identidad de paquete con la ayuda de los paquetes de modificación, el registro virtual y el sistema de archivos virtual se sobredisponer en el orden en que se instalan las aplicaciones.As more applications are run inside the same package identity with the help of modification packages, the virtual registry and virtual file system will be over-layed in the order in which the applications are installed.

Puede haber casos en los que el orden en el que se instalan estas aplicaciones pueda causar problemas de imprevistos en los que se puedan sobrescribir las claves del registro esperadas y se puedan reemplazar los archivos esperados.There can be cases where the order in which these applications are installed could cause unforseen issues where the expected registry keys might be overwritten and expected files might be replaced.

Para ayudar a diagnosticar estos problemas, Invoke-CommandInDesktopPackage es un cmdlet de PowerShell que se puede usar para ejecutar una aplicación dentro del contenedor MSIX.To assist in diagnosing such issues, Invoke-CommandInDesktopPackage is a PowerShell cmdlet that can be used to run an application inside the MSIX container. Esto permite a los usuarios ejecutar el símbolo del sistema, el editor del registro, PowerShell dentro del contenedor MSIX y obtener una vista del sistema de archivos combinado y el subárbol del registro combinado.This allows for users to run command prompt, registry editor, PowerShell inside the MSIX container and get a view of the merged file system and merged registry hive.

Importante

Invoke-CommandInDesktopPackage requiere que el dispositivo esté en modo de desarrollador para las compilaciones de Windows 10 anteriores a 18922.Invoke-CommandInDesktopPackage requires the device to be in Developer mode for Windows 10 builds prior to 18922.

Ver el sistema de archivos combinadosView the merged file system

Para ver el sistema de archivos según lo observado por las aplicaciones que se ejecutan dentro del contenedor, use el siguiente comando de PowerShell:To view the file system as observed by the applications that are running inside the container, use the following PowerShell command:

Invoke-CommandInDesktopPackage -AppId "AppPackage1" -PackageFamilyName "Contoso.AppPackage1_8h66172c634n0" -Command "cmd.exe" -PreventBreakaway

El comando anterior iniciará una instancia de cmd.exe en el contenedor de paquetes contoso. AppPackage1_8h66172c634n0 .The above command will launch an instance of cmd.exe in the Contoso.AppPackage1_8h66172c634n0 package container. Mientras ejecuta el símbolo del sistema desde dentro del contenedor, puede examinar el sistema de archivos y ver los archivos combinados.As you are running the command prompt from inside the container, you can browse through the file system and view the merged files.

Ver el subárbol del registro combinadoView the merged registry hive

Para ver el subárbol del registro de dispositivo completo según lo observado por las aplicaciones que se ejecutan en el contenedor, use el siguiente comando de PowerShell:To view the full device registry hive as observed by the applications that are running insider the container, use the following PowerShell command:

Invoke-CommandInDesktopPackage -AppId "AppPackage1" -PackageFamilyName "Contoso.AppPackage1_8h66172c634n0" -Command "regedit.exe" -PreventBreakaway

El comando anterior iniciará el editor del registro en el contexto del contenedor de paquetes contoso. AppPackage1_8h66172c634n0 .The above command will launch registry editor within the context of the Contoso.AppPackage1_8h66172c634n0 package container. Aquí puede examinar el equipo local y las claves del registro del usuario actual e identificar el posible infractor que está causando el problema.Here you can browse through local machine and current user registry keys and identify possible offender that is causing the issue.

Sugerencia

Use la marca "-PreventBreakaway" mientras usa Invoke-CommandInDesktopPackage si desea iniciar procesos posteriores en el mismo contenedor.Use '-PreventBreakaway' flag while using Invoke-CommandInDesktopPackage if you would like to launch subsequent processes in the same container. De lo contrario, cualquier inicio posterior se interrumpirá fuera del contenedor.Else, any subsequent launch will break out of the container.

Nota

No todas las aplicaciones se pueden iniciar dentro del contenedor.Not all applications can be launched within the container. Por ejemplo, explorer.exe creará un desglose del contenedor.For instance, explorer.exe will breakout of the container.