Устранение неполадок среды выполнения в контейнере 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 разорвит контейнер.