Résoudre les problèmes d’exécution dans un conteneur MSIX
Dans cet article, nous allons examiner comment résoudre les problèmes d’exécution qui se produisent dans un conteneur MSIX. Les conteneurs MSIX eux-mêmes sont relativement simples et simples. À mesure que d’autres applications sont exécutées à l’intérieur de la même identité de package avec l’aide des packages de modification, le registre virtuel et le système de fichiers virtuels seront sur-retardés dans l’ordre dans lequel les applications sont installées.
Il peut y avoir des cas où l’ordre dans lequel ces applications sont installées peut provoquer des problèmes invisibles où les clés de Registre attendues peuvent être remplacées et les fichiers attendus peuvent être remplacés.
Pour faciliter le diagnostic de ces problèmes, Invoke-CommandInDesktopPackage est une cmdlet PowerShell qui peut être utilisée pour exécuter une application à l’intérieur du conteneur MSIX. Cela permet aux utilisateurs d’exécuter l’invite de commandes, l’éditeur de Registre, PowerShell à l’intérieur du conteneur MSIX et d’obtenir une vue du système de fichiers fusionné et de la ruche de Registre fusionnée.
Important
Invoke-CommandInDesktopPackage nécessite que l’appareil soit en mode développeur pour les builds Windows 10 antérieures à 18922.
Afficher le système de fichiers fusionné
Pour afficher le système de fichiers comme indiqué par les applications qui s’exécutent à l’intérieur du conteneur, utilisez la commande PowerShell suivante :
Invoke-CommandInDesktopPackage -AppId "AppPackage1" -PackageFamilyName "Contoso.AppPackage1_8h66172c634n0" -Command "cmd.exe" -PreventBreakaway
La commande ci-dessus lance une instance de cmd.exe dans le conteneur de package Contoso.AppPackage1_8h66172c634n0. Lorsque vous exécutez l’invite de commandes à partir du conteneur, vous pouvez parcourir le système de fichiers et afficher les fichiers fusionnés.
Afficher la ruche de Registre fusionnée
Pour afficher la ruche de Registre d’appareils complète, comme indiqué par les applications qui exécutent l’insider du conteneur, utilisez la commande PowerShell suivante :
Invoke-CommandInDesktopPackage -AppId "AppPackage1" -PackageFamilyName "Contoso.AppPackage1_8h66172c634n0" -Command "regedit.exe" -PreventBreakaway
La commande ci-dessus lance l’éditeur de Registre dans le contexte du conteneur de package Contoso.AppPackage1_8h66172c634n0 . Ici, vous pouvez parcourir l’ordinateur local et les clés de Registre des utilisateurs actuels et identifier les éventuels contrevenants à l’origine du problème.
Conseil
Utilisez l’indicateur « -PreventBreakaway » lors de l’utilisation de Invoke-CommandInDesktopPackage si vous souhaitez lancer les processus suivants dans le même conteneur. Sinon, tout lancement ultérieur va sortir du conteneur.
Remarque
Toutes les applications ne peuvent pas être lancées dans le conteneur. Par exemple, explorer.exe se détachera du conteneur.