Risolvere i problemi di runtime in un contenitore MSIXTroubleshoot runtime issues in an MSIX container

In questo articolo verrà esaminato come risolvere i problemi di runtime che si verificano in un contenitore MSIX.In this article, we will review how you can troubleshoot runtime issues occurring in a MSIX container. I contenitori MSIX da soli sono relativamente semplici e semplici.MSIX containers by themselves are relatively simple and straightforward. Man mano che vengono eseguite più applicazioni all'interno della stessa identità del pacchetto con l'ausilio dei pacchetti di modifica, il registro virtuale e il file system virtuale verranno sovradisposti nell'ordine in cui le applicazioni vengono installate.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.

In alcuni casi è possibile che l'ordine in cui queste applicazioni siano installate possa causare problemi imprevedibili in cui le chiavi del registro di sistema previste potrebbero essere sovrascritte e i file previsti potrebbero essere sostituiti.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.

Per semplificare la diagnosi di questi problemi, Invoke-CommandInDesktopPackage è un cmdlet di PowerShell che può essere usato per eseguire un'applicazione all'interno del contenitore 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. Questo consente agli utenti di eseguire il prompt dei comandi, l'editor del registro di sistema, PowerShell all'interno del contenitore MSIX e ottenere una visualizzazione del file system Unito e dell'hive del registro di sistema Unito.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 richiede che il dispositivo sia in modalità sviluppatore per le compilazioni Windows 10 precedenti alla 18922.Invoke-CommandInDesktopPackage requires the device to be in Developer mode for Windows 10 builds prior to 18922.

Visualizzare il file system UnitoView the merged file system

Per visualizzare il file system come osservato dalle applicazioni in esecuzione all'interno del contenitore, usare il comando di PowerShell seguente: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

Il comando precedente avvierà un'istanza di cmd.exe nel contenitore del pacchetto contoso. AppPackage1_8h66172c634n0 .The above command will launch an instance of cmd.exe in the Contoso.AppPackage1_8h66172c634n0 package container. Quando si esegue il prompt dei comandi dall'interno del contenitore, è possibile esplorare il file system e visualizzare i file Uniti.As you are running the command prompt from inside the container, you can browse through the file system and view the merged files.

Visualizzare l'hive del registro di sistema UnitoView the merged registry hive

Per visualizzare l'hive del registro di sistema completo del dispositivo come osservato dalle applicazioni che eseguono Insider the container, usare il comando di PowerShell seguente: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

Il comando precedente avvierà l'editor del registro di sistema all'interno del contesto del contenitore del pacchetto contoso. AppPackage1_8h66172c634n0 .The above command will launch registry editor within the context of the Contoso.AppPackage1_8h66172c634n0 package container. Qui è possibile esplorare le chiavi del registro di sistema del computer locale e dell'utente corrente e identificare il possibile trasgressore che causa il problema.Here you can browse through local machine and current user registry keys and identify possible offender that is causing the issue.

Suggerimento

Usare il flag '-PreventBreakaway ' quando si usa Invoke-CommandInDesktopPackage se si vuole avviare processi successivi nello stesso contenitore.Use '-PreventBreakaway' flag while using Invoke-CommandInDesktopPackage if you would like to launch subsequent processes in the same container. In caso contrario, qualsiasi avvio successivo si interrompe dal contenitore.Else, any subsequent launch will break out of the container.

Nota

Non tutte le applicazioni possono essere avviate all'interno del contenitore.Not all applications can be launched within the container. Ad esempio, explorer.exe eliminerà il contenitore.For instance, explorer.exe will breakout of the container.