Bagikan melalui


Memecahkan masalah runtime dalam kontainer MSIX

Dalam artikel ini, kami akan meninjau bagaimana Anda dapat memecahkan masalah runtime yang terjadi dalam kontainer MSIX. Kontainer MSIX sendiri relatif sederhana dan mudah. Karena lebih banyak aplikasi dijalankan di dalam identitas paket yang sama dengan bantuan paket modifikasi, registri virtual dan sistem file virtual akan diletakkan berlebihan dalam urutan aplikasi diinstal.

Mungkin ada kasus di mana urutan aplikasi ini diinstal dapat menyebabkan masalah tak terduga di mana kunci registri yang diharapkan mungkin ditimpa dan file yang diharapkan mungkin diganti.

Untuk membantu mendiagnosis masalah tersebut, Invoke-CommandInDesktopPackage adalah cmdlet PowerShell yang dapat digunakan untuk menjalankan aplikasi di dalam kontainer MSIX. Ini memungkinkan pengguna untuk menjalankan prompt perintah, editor registri, PowerShell di dalam kontainer MSIX dan mendapatkan tampilan sistem file gabungan dan sarang registri gabungan.

Penting

Invoke-CommandInDesktopPackage mengharuskan perangkat berada dalam mode Pengembang untuk build Windows 10 sebelum 18922.

Menampilkan sistem file gabungan

Untuk melihat sistem file seperti yang diamati oleh aplikasi yang berjalan di dalam kontainer, gunakan perintah PowerShell berikut:

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

Perintah di atas akan meluncurkan instans cmd.exe dalam kontainer paket Contoso.AppPackage1_8h66172c634n0 . Saat Anda menjalankan prompt perintah dari dalam kontainer, Anda dapat menelusuri sistem file dan melihat file yang digabungkan.

Menampilkan sarang registri gabungan

Untuk melihat sarang registri perangkat lengkap seperti yang diamati oleh aplikasi yang berjalan di dalam kontainer, gunakan perintah PowerShell berikut:

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

Perintah di atas akan meluncurkan editor registri dalam konteks kontainer paket Contoso.AppPackage1_8h66172c634n0 . Di sini Anda dapat menelusuri komputer lokal dan kunci registri pengguna saat ini dan mengidentifikasi kemungkinan pelaku yang menyebabkan masalah.

Tip

Gunakan bendera '-PreventBreakaway' saat menggunakan Invoke-CommandInDesktopPackage jika Anda ingin meluncurkan proses berikutnya dalam kontainer yang sama. Jika tidak, setiap peluncuran berikutnya akan keluar dari kontainer.

Catatan

Tidak semua aplikasi dapat diluncurkan dalam kontainer. Misalnya, explorer.exe akan memecah kontainer.