Устранение неполадок среды выполнения в контейнере MSIX

В этой статье мы рассмотрим, как устранять неполадки среды выполнения в контейнере MSIX. Сами контейнеры MSIX являются относительно простыми и простыми. Так как больше приложений выполняются в одном и том же удостоверении пакета с помощью пакетов изменений, виртуальный реестр и виртуальная файловая система будут переложены в том порядке, в котором установлены приложения.

В случаях, когда порядок установки этих приложений может привести к непредвиденным проблемам, когда ожидаемые разделы реестра могут быть перезаписаны и ожидаемые файлы могут быть заменены.

Чтобы упростить диагностику таких проблем, Invoke-CommandInDesktopPackage — это командлет PowerShell, который можно использовать для запуска приложения в контейнере MSIX. Это позволяет пользователям запускать командную строку, редактор реестра, PowerShell в контейнере MSIX и просматривать объединенную файловую систему и объединенный куст реестра.

Важно!

Invoke-CommandInDesktopPackage требуется, чтобы устройство было в режиме разработчика для сборок Windows 10 до 18922 года.

Просмотр объединенной файловой системы

Чтобы просмотреть файловую систему в соответствии с приложениями, работающими в контейнере, используйте следующую команду PowerShell:

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

Приведенная выше команда запустит экземпляр cmd.exe в контейнере пакета Contoso.AppPackage1_8h66172c634n0 . При запуске командной строки из контейнера можно просматривать файловую систему и просматривать объединенные файлы.

Просмотр объединенного куста реестра

Чтобы просмотреть полный куст реестра устройств, наблюдаемый приложениями, выполняющими внутренний контейнер, используйте следующую команду PowerShell:

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

Приведенная выше команда запустит редактор реестра в контексте контейнера пакета Contoso.AppPackage1_8h66172c634n0 . Здесь вы можете просматривать разделы реестра локальных компьютеров и текущих пользователей и выявлять возможных правонарушителей, вызывающих проблему.

Совет

Используйте флаг -PreventBreakaway при использовании Invoke-CommandInDesktopPackage, если вы хотите запустить последующие процессы в том же контейнере. В противном случае все последующие запуски будут прервать работу контейнера.

Примечание

Не все приложения можно запустить в контейнере. Например, explorer.exe разорвит контейнер.