Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Aplikasi paket mungkin perlu mengakses sumber daya di luar kotak pasir. Contoh sumber daya tersebut termasuk file pengguna, gambar, item registri, kamera, lokasi, dan mikrofon, antara lain. Deklarasi kemampuan memungkinkan aplikasi terkotakpasir untuk mengakses beberapa sumber daya tersebut. Deklarasi dibuat dalam manifes paket aplikasi terkotakpasir. Lihat msix-packaging-tool untuk referensi.
Profiler kemampuan aplikasi adalah sekumpulan alat yang membantu mengidentifikasi kemampuan apa yang mungkin perlu dideklarasikan oleh paket aplikasi, sehingga diberikan akses sumber daya yang dibutuhkannya. Selain itu, ini memberikan informasi diagnostik yang berguna tentang upaya akses yang gagal oleh paket aplikasi.
Penting
Fitur ini dalam pratinjau: Beberapa informasi berkaitan dengan produk prarilis yang mungkin dimodifikasi secara substansial sebelum dirilis secara komersial. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyiapkan sistem target untuk pembuatan profil
Langkah-langkah berikut diperlukan untuk menyiapkan sistem target untuk pembuatan profil:
Pastikan akun pengguna Anda memiliki hak istimewa administrator ke sistem Windows target.
Aktifkan mode pengembang pada sistem target. Pengaturan ini dapat ditemukan di Pengaturan Windows | Privasi & keamanan | Untuk pengembang. Lihat Mengaktifkan perangkat Anda untuk pengembangan untuk informasi selengkapnya.
Instal PowerShell 7.3 atau yang lebih baru. Lihat Menginstal PowerShell di Windows untuk instruksi penginstalan.
Ini diperlukan untuk kompatibilitas modul Microsoft.Windows.Win32Isolation.ApplicationCapabilityProfiler .
Instal Windows Performance Recorder (WPR) jika belum diinstal dan tambahkan ke PATH.
Lihat Perekam Performa Windows untuk petunjuknya.
Get-Command wpr
Unduh arsip profiler kemampuan aplikasi dan ekstrak ke jalur yang nyaman.
Arsip profiler kemampuan aplikasi dapat diunduh dari aset rilis proyek ini.
Ikuti instruksi tentang msix-packaging-tool untuk mengemas aplikasi dan menginstalnya pada sistem target.
Dapatkan manifes paket aplikasi target (disarankan) dan/atau nama lengkap paket aplikasi target.
(Disarankan) Dapatkan manifes paket aplikasi target. Cara termudah untuk melakukan ini adalah dengan membukanya menggunakan alat pengemasan MSIX dan menyimpan salinan manifes ke jalur yang nyaman.
Dapatkan nama lengkap paket aplikasi dengan menjalankan perintah berikut di PowerShell:
Get-AppxPackage | where-object {$_.name -like '*Test-AppSilo*'}
(Opsional) Instal windows Penganalisis Kinerja. Lihat Penganalisis Kinerja Windows untuk petunjuknya. Ini tidak diperlukan untuk pembuatan profil tetapi mungkin berguna dalam memvisualisasikan beberapa data yang diambil dan dihasilkan oleh ACP.
Impor modul PowerShell
Informasi tentang modul dapat ditemukan di sini: Microsoft.Windows.Win32Isolation.ApplicationCapabilityProfiler.
Jalankan perintah berikut di PowerShell dengan hak istimewa administrator untuk mengimpor modul:
Import-Module .\Microsoft.Windows.Win32Isolation.ApplicationCapabilityProfiler.dll
Catatan
Modul Microsoft.Windows.Win32Isolation.ApplicationCapabilityProfiler.dll terletak di folder ACP yang diekstrak dari arsip di langkah 5 dari menyiapkan sistem target untuk instruksi pembuatan profil di atas.
Mulai pembuatan profil
Cmdlet Start-Profiling mengambil jalur ke manifes paket aplikasi target atau nama lengkap paket aplikasi.
Start-Profiling akan melengkapi paket aplikasi target untuk pencatatan jejak dan mengaktifkan penyedia pencatatan jejak untuk upaya akses yang dilakukan oleh paket aplikasi target. Lihat Mulai Pembuatan Profil untuk informasi selengkapnya.
Jalankan perintah berikut di PowerShell dengan hak istimewa administrator untuk mulai membuat profil:
Start-Profiling -ManifestPath TestApp-AppXManifest.xml
Menjalankan skenario aplikasi
Dalam langkah ini, penting bahwa semua skenario aplikasi penting dijalankan. Hasil pembuatan profil sama komprehensifnya dengan skenario yang dijalankan pada langkah ini. Semakin banyak skenario aplikasi yang dijalankan, semakin besar dan lebih lengkap jumlah data yang diambil oleh sesi pencatatan jejak yang dimulai di atas.
Hentikan pembuatan profil
Cmdlet Stop-Profiling menghentikan sesi pencatatan jejak upaya akses yang telah dimulai dan menghapus instrumentasi untuk paket aplikasi apa pun yang diinstrumentasikan untuk pengelogan jejak.
Stop-Profiling menerima parameter jalur pelacakan opsional yang mengontrol jalur yang digunakan untuk file Log Jejak Peristiwa (.etl) output. <current_directory>\trace.etl secara default. Lihat Stop-Profiling untuk informasi selengkapnya.
Jalankan perintah berikut di PowerShell dengan hak istimewa administrator untuk menghentikan pembuatan profil:
Stop-Profiling
Mendapatkan hasil pembuatan profil
Cmdlet Get-ProfilingResults mengurai file jejak yang diperoleh dari langkah-langkah di atas dan menemukan kemampuan yang diperlukan oleh paket aplikasi yang diidentifikasi dalam jejak. Ini menghasilkan kemampuan dan informasi untuk setiap paket aplikasi yang diidentifikasi dalam pelacakan, kecuali filter ke paket tertentu ditentukan.
Get-ProfilingResults menerima jalur ke file pelacakan yang akan diurai. Jika tidak ada jalur yang disediakan, Get-ProfilingResults akan mencoba memanggil Stop-Profiling untuk mendapatkan jejak untuk diurai.
Get-ProfilingResults secara opsional mengambil jalur ke manifes aplikasi target. Jika informasi dalam jejak yang diurai dapat dikaitkan dengan manifes paket aplikasi target, file diedit langsung dengan kemampuan output. Jika tidak, salinan manifes dibuat untuk setiap paket yang diidentifikasi dalam jejak, menambahkan kemampuan yang diidentifikasi.
Lihat Get-ProfilingResults untuk detailnya.
Perintah berikut akan mengurai file jejak dan menghasilkan hasilnya:
Get-ProfilingResults -EtlFilePaths trace.etl -ManifestPath TestApp-AppXManifest.xml
Mengemas ulang aplikasi
Untuk mengemas ulang aplikasi target dengan kemampuan yang baru diidentifikasi:
- Sertakan kemampuan yang baru diidentifikasi dalam manifes paket aplikasi target (Get-ProfilingResults akan mengedit manifes secara langsung jika disediakan).
- Ikuti instruksi dalam msix-packaging-tool untuk mengemas ulang aplikasi target dengan kemampuan baru, dan instal ulang.
Cmdlet pembantu
Cmdlet Merge-ProfilingResults dapat digunakan untuk menggabungkan output dari beberapa eksekusi Get-ProfilingResults.
Menginterpretasikan output pembuatan profil
Output Get-ProfilingResults terdiri dari yang berikut ini:
Kemampuan berformat manifes
Jika pengguna menyediakan manifes untuk diedit dengan
-ManifestPathsakelar dan paket tempat manifes berada diidentifikasi dalam jejak input, Get-ProfilingResults akan mengedit file manifes secara langsung untuk menyertakan kemampuan yang diidentifikasi dalam jejak untuk paket. Jika tidak, untuk setiap paket yang diidentifikasi dalam file pelacakan, Get-ProfilingResults akan menghasilkan file bernama<package full name><manifest name>.xmlyang berisi<Capabilities>elemen dengan kemampuan yang diidentifikasi dalam jejak untuk paket yang sesuai.Catatan
Ada dua jenis kemampuan khusus yang dapat diidentifikasi Get-ProfilingResults . Hasil ini ditandai dengan komentar XML dalam manifes output.
- Kemampuan sensitif privasi: Kemampuan ini melindungi sumber daya sensitif privasi seperti kamera, lokasi, dan mikrofon. Kemampuan ini harus dideklarasikan jika paket aplikasi memerlukan akses ke sumber daya ini. Namun, deklarasi kemampuan saja mungkin tidak cukup untuk memastikan akses aplikasi ke sumber daya sensitif privasi target. Dalam pengaturan privasi, pengguna masih dapat memberikan atau menolak akses sumber daya ke aplikasi.
- Kemampuan permintaan: Get-ProfilingResults akan menghasilkan kemampuan ini dalam formulir "dikomentari" ketika mengidentifikasi bahwa kemampuan permintaan dapat berlaku untuk paket aplikasi. Jika dinyatakan dalam manifes paket, aplikasi akan memilih untuk meminta fallback. Permintaan pengguna akan dikeluarkan setiap kali aplikasi memiliki aksesnya ditolak ke sumber daya yang memenuhi syarat permintaan. Ini memberi pengguna kesempatan untuk secara eksplisit memberikan atau menolak akses ke sumber daya. Permintaan fallback dapat mengganggu dan melemahkan kotak pasir, sehingga harus digunakan dengan hati-hati, sebaiknya hanya ketika diperlukan untuk skenario aplikasi penting.
AccessAttemptRecords.csv
Ini adalah file nilai yang dipisahkan koma yang berisi informasi diagnostik terperinci tentang peristiwa jejak yang diurai dan setiap upaya akses yang gagal dicatat untuk paket aplikasi.
summary.txt
Ini adalah ringkasan semua eksekusi Get-ProfilingResults. Setiap eksekusi ditambahkan ke file ini.
-SummaryOutputPathdapat digunakan untuk mengubah jalur file ini.Ringkasan berisi input yang diurai, paket aplikasi target dan dapat dieksekusi, kemampuan yang diidentifikasi, konten manifes yang diedit, dan daftar ringkasan semua sumber daya yang coba diakses paket aplikasi tetapi tidak ada kemampuan yang diidentifikasi.
Catatan
Ada kemungkinan bahwa aplikasi target tidak akan dapat mengakses sumber daya ini saat dibungkus.
README.txt
File ini berisi informasi untuk semua eksekusi Get-ProfilingResults. Setiap kali skrip berjalan, skrip ditambahkan ke file ini.
README menyediakan informasi tentang input yang diurai, paket aplikasi target, output file dan jalurnya, serta panduan pemecahan masalah.
Pelacakan tumpukan
Arsip ACP berisi file bernama ACP-StackTrace.wpaProfile. Ini adalah profil untuk Windows Penganalisis Kinerja (WPA). Ini memungkinkan visualisasi pelacakan tumpukan untuk file log jejak peristiwa yang diambil oleh Stop-Profiling. Ini memecah upaya akses, target mereka, dan tumpukan yang mengeluarkan upaya. Ini memungkinkan pemahaman yang lebih lengkap tentang alasan mengapa aplikasi target tidak dapat mengakses sumber daya tertentu.
Untuk memvisualisasikan tumpukan upaya akses yang diambil oleh Stop-Profiling di trace.etl:
Buka file trace.etl di WPA.
Konfigurasikan jalur Simbol WPA untuk menunjuk ke simbol aplikasi dan server simbol publik Microsoft:
Muat simbol.
Terapkan profil di ACP-StackTrace.wpaProfile untuk melihat visualisasi tumpukan upaya akses:
Topik terkait
Microsoft.Windows.Win32Isolation.ApplicationCapabilityProfiler