針對 MSIX 容器中的執行時間問題進行疑難排解
在本文中,我們將檢閱如何針對 MSIX 容器中發生的執行時間問題進行疑難排解。 MSIX 容器本身相對簡單明瞭。 隨著隨著修改套件的協助,在相同的套件身分識別內執行更多應用程式,虛擬登錄和虛擬檔案系統會以安裝應用程式的順序過度配置。
在某些情況下,安裝這些應用程式的順序可能會導致無法預見的問題,其中可能會覆寫預期的登錄機碼,並可能取代預期的檔案。
為了協助診斷這類問題, Invoke-CommandInDesktopPackage 是 PowerShell Cmdlet,可用來在 MSIX 容器內執行應用程式。 這可讓使用者在 MSIX 容器內執行命令提示字元、登錄編輯器、PowerShell,並取得合併檔案系統和合併登錄區檢視。
重要
Invoke-CommandInDesktopPackage 要求裝置在 18922 之前的 Windows 10 組建處於開發人員模式。
檢視合併的檔案系統
若要檢視容器內執行的應用程式觀察到的檔案系統,請使用下列 PowerShell 命令:
Invoke-CommandInDesktopPackage -AppId "AppPackage1" -PackageFamilyName "Contoso.AppPackage1_8h66172c634n0" -Command "cmd.exe" -PreventBreakaway
上述命令會在Contoso.AppPackage1_8h66172c634n0 套件容器中 啟動 cmd.exe 的實例。 當您從容器內執行命令提示字元時,您可以流覽檔案系統並檢視合併的檔案。
檢視合併的登錄區
若要檢視執行內部容器的應用程式觀察到的完整裝置登錄區,請使用下列 PowerShell 命令:
Invoke-CommandInDesktopPackage -AppId "AppPackage1" -PackageFamilyName "Contoso.AppPackage1_8h66172c634n0" -Command "regedit.exe" -PreventBreakaway
上述命令會在Contoso.AppPackage1_8h66172c634n0 套件容器的內容 中啟動登錄編輯器。 您可以在這裡流覽本機電腦和目前的使用者登錄機碼,並找出造成問題的可能罪犯。
提示
如果您想要在相同的容器中啟動後續進程,請使用 '-PreventBreakaway' 旗標,同時使用 Invoke-CommandInDesktopPackage。 否則,任何後續啟動都會中斷容器。
注意
並非所有應用程式都可以在容器內啟動。 例如,explorer.exe 將會中斷容器。