Поделиться через


Устранение неполадок среды выполнения в контейнере 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 . При выполнении командной строки из контейнера можно просматривать файловую систему и просматривать объединенные файлы.

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

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

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

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

Совет

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

Примечание.

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