Aplikasi (Windows 10)

Mewakili aplikasi yang terdiri dari atau semua fungsionalitas yang dikirimkan dalam paket.

Hierarki elemen

<Paket>

    <Aplikasi>

         <Aplikasi>

Sintaks

<Application
  EntryPoint? = 'See the Attributes table for more info.'
  Executable?
  uap10:HostId?
  Id
  uap10:Parameters?
  ResourceGroup?
  uap10:RuntimeBehavior?
  StartPage?
  desktop4:Subsystem?
  uap10:Subsystem?
  desktop4:SupportsMultipleInstances?
  uap10:SupportsMultipleInstances?
  uap10:TrustLevel?
  uap16:BaseNamedObjectsIsolation?
  uap17:BaseNamedObjectsIsolation?
  desktop11:AppLifecycleBehavior?

  <!-- Child elements -->
  uap:ApplicationContentUriRules?
  Extensions?
  uap7:Properties
  uap:VisualElements

</Application>

Kunci

? opsional (nol atau satu)
& konektor interleave (dapat terjadi dalam urutan apa pun)

Atribut dan elemen

Atribut

Atribut Deskripsi Jenis Data Diperlukan Nilai default
EntryPoint ID kelas yang dapat diaktifkan (misalnya, "Office.Winword.Class"), atau "windows.fullTrustApplication", atau "windows.partialTrustApplication". Jika Anda menentukan EntryPoint, maka Anda juga harus menentukan atribut Executable . Jika Anda menentukan EntryPoint, maka Anda tidak boleh menentukan atribut StartPage . Panjang string antara 1 dan 256 karakter, mewakili tugas yang menangani ekstensi. Ini biasanya nama yang sepenuhnya memenuhi syarat namespace layanan dari jenis Windows Runtime; tetapi bisa menjadi salah satu nilai khusus "windows.fullTrustApplication" atau "windows.partialTrustApplication". Jika EntryPoint tidak ditentukan, EntryPoint yang ditentukan untuk aplikasi akan digunakan sebagai gantinya. Tidak
Eksekusi Peluncuran default yang dapat dieksekusi untuk aplikasi. File yang ditentukan harus ada dalam paket. Pada sistem yang lebih lama (lihat bagian keterangan untuk detailnya), jika Anda menentukan Executable, maka Anda juga harus menentukan atribut EntryPoint . Jika Anda menentukan Executable, maka Anda tidak boleh menentukan atribut StartPage . Panjang string antara 1 dan 256 karakter yang harus diakhir dengan .exe dan tidak boleh berisi karakter ini: <, , >, :", |, ?, atau *. Tidak
uap10:HostId ID aplikasi aplikasi host untuk aplikasi saat ini. Atribut ini digunakan untuk aplikasi yang dihosting. Panjang string alfanumerik antara 1 dan 255 karakter. Harus dimulai dengan surat. Tidak
Id Pengidentifikasi unik aplikasi dalam paket. Nilai ini terkadang disebut sebagai pengidentifikasi aplikasi relatif paket (PRAID). ID unik dalam paket tetapi tidak secara global. Mungkin ada paket lain pada sistem yang menggunakan ID yang sama. ID yang sama tidak dapat digunakan lebih dari sekali dalam paket yang sama. Saat menggunakan templat Visual Studio, nilai default atribut ini adalah Aplikasi. Pengembang harus mengubah ini secara manual dalam manifes. Pengidentifikasi aplikasi tidak boleh diubah setelah aplikasi dipublikasikan ke Microsoft Store; melakukannya akan mengganggu posisi petak peta di layar Mulai. Panjang string ASCII antara 1 dan 64 karakter. String ini berisi bidang alfa-numerik yang dipisahkan oleh titik. Setiap bidang harus dimulai dengan karakter alfabet ASCII. Anda tidak dapat menggunakan ini sebagai nilai bidang: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, dan LPT9. Ya
uap10:Parameters Berisi parameter baris perintah untuk diteruskan ke aplikasi. Hanya didukung untuk aplikasi desktop yang memiliki identitas paket (lihat Gambaran umum penyebaran). Panjang string antara 1 dan 32767 karakter dengan karakter non-spasi di awal dan akhir. Tidak
ResourceGroup Tag yang digunakan untuk mengelompokkan aktivasi ekstensi bersama-sama untuk tujuan manajemen sumber daya (misalnya, CPU dan memori). Lihat bagian Keterangan di Application@ResourceGroup. Panjang string alfanumerik antara 1 dan 255 karakter. Harus dimulai dengan surat. Tidak
uap10:RuntimeBehavior Menentukan perilaku run time aplikasi.

"packagedClassicApp"—aplikasi WinUI 3, atau aplikasi Desktop Bridge (Centennial). Untuk aplikasi WinUI 3, biasanya menggunakan TrustLevel "mediumIL" (tetapi "appContainer" juga merupakan pilihan).

"win32App"—jenis aplikasi Win32 lainnya, termasuk aplikasi yang dipaketkan dengan lokasi eksternal. Biasanya berjalan dengan TrustLevel dari "mediumIL" (tetapi "appContainer" juga merupakan pilihan).

"windowsApp"—aplikasi Platform Windows Universal (UWP). Selalu berjalan dengan TrustLevel dari "appContainer".

Semua berbagi properti umum (beberapa dinyatakan dalam appxmanifest.xml), dan berjalan sebagai proses dengan identitas paket dan identitas aplikasi. Anda dapat menganggapnya sebagai berada dalam dua kelompok. Satu grup adalah aplikasi UWP ("windowsApp"); yang lainnya adalah Windows .exes dengan main atau WinMain ("packagedClassicApp" atau "win32App"). Grup kedua itu juga dikenal sebagai aplikasi desktop.
String dengan salah satu nilai berikut: "packagedClassicApp", "win32App", atau "windowsApp". Tidak
StartPage Halaman web yang menangani titik ekstensibilitas. String dengan nilai antara 1 dan 256 karakter yang tidak boleh berisi karakter ini: <, , >, :", |, ?, atau *. Setiap URI atau IRI yang valid (versi non-ASCII dari URI). Tidak
desktop4:Subsistem Menunjukkan apakah aplikasi tersebut adalah aplikasi UWP standar atau aplikasi konsol UWP. String yang dapat berupa salah satu nilai berikut: konsol atau jendela. Tidak
uap10:Subsistem Menunjukkan apakah aplikasi tersebut adalah aplikasi UWP standar atau aplikasi konsol UWP. String yang dapat berupa salah satu nilai berikut: konsol atau jendela. Tidak
desktop4:SupportsMultipleInstances Menunjukkan dukungan beberapa instans terpisah aplikasi UWP. Untuk informasi selengkapnya, lihat bagian keterangan. Nilai boolean. Tidak
uap10:SupportsMultipleInstances Menunjukkan dukungan beberapa instans terpisah aplikasi UWP. Untuk informasi selengkapnya, lihat bagian keterangan. Nilai boolean. Tidak
uap10:TrustLevel Menentukan tingkat kepercayaan aplikasi

"mediumIL"—aplikasi ini memiliki kepercayaan penuh; prosesnya berjalan dengan tingkat integritas sedang (lihat Kontrol Integritas Wajib). Memerlukan kemampuan terbatas "Tingkat Izin Kepercayaan Penuh" (lihat Deklarasi kemampuan aplikasi).

"appContainer"—aplikasi berjalan dalam kontainer aplikasi ringan (lihat aplikasi MSIX AppContainer); prosesnya berjalan dengan tingkat integritas rendah. Dimungkinkan juga agar aplikasi yang tidak dikemas berjalan di AppContainer.
String dengan salah satu nilai berikut: "mediumIL" atau "appContainer". Tidak
uap16:BaseNamedObjectsIsolation Mengaktifkan isolasi BaseNameObject (BNO) untuk aplikasi. String yang bisa menjadi salah satu nilai berikut: paket atau tidak ada. Tidak
uap17:BaseNamedObjectsIsolation Mengaktifkan isolasi BaseNameObject (BNO) untuk aplikasi. String yang bisa menjadi salah satu nilai berikut: paket atau tidak ada. Tidak
desktop11:AppLifecycleBehavior Memungkinkan aplikasi untuk mengambil alih perilaku siklus hidup yang terkait dengan perilaku runtime untuk ekstensi. Aplikasi atau ekstensi dengan RuntimeBehavior "windowsApp" secara implisit memiliki AppLifecycleBehavior dari "systemManaged" kecuali ditentukan lain. Aplikasi atau ekstensi dengan RuntimeBehavior dari "packagedClassicApp" atau "win32App" secara implisit memiliki AppLifecycleBehavior "tidak terkelola" kecuali ditentukan lain. Salah satu nilai berikut: "systemManaged" , "unmanaged". Tidak

Elemen anak

elemen anak Deskripsi
uap:ApplicationContentUriRules Menentukan halaman mana dalam konteks web yang memiliki akses ke perangkat geolokasi sistem (jika aplikasi memiliki izin untuk mengakses kemampuan ini) dan akses ke clipboard.
Ekstensi (jenis: CT_ApplicationExtensions) Menentukan satu atau beberapa titik ekstensibilitas untuk aplikasi.
uap7:Properties Menentukan properti aplikasi.
uap:VisualElements Menjelaskan aspek visual aplikasi: petak peta default, gambar logo, warna teks dan latar belakang, orientasi layar awal, layar percikan, dan tampilan petak peta layar kunci.

Elemen induk

elemen induk Deskripsi
Aplikasi Mewakili satu atau beberapa aplikasi yang terdiri dari paket.

Keterangan

Elemen Aplikasi berisi atribut yang umum untuk titik ekstensibilitas yang berkaitan dengan aplikasi. Info ini digunakan oleh titik ekstensibilitas lainnya untuk mendapatkan info tentang aplikasi. Atribut aplikasi juga digunakan sebagai info aktivasi dalam startup dan manajemen instans aplikasi (dengan kata lain, mereka menjelaskan cara memulai proses, dan dengan perilaku apa).

Atribut StartPage hanya berlaku untuk aplikasi JavaScript. Jika StartPage tidak ditentukan, atribut Executable dan EntryPoint harus ditentukan (dan yang hanya berlaku untuk aplikasi C#, C++, atau VB).

uap10 diperkenalkan dalam Windows 10, versi 2004 (10.0; Build 19041)

Namespace uap10 (untuk uap10:RuntimeBehavior dan uap10:TrustLevel) diperkenalkan dalam Windows 10, versi 2004 (10.0; Bangun 19041). Jika paket Anda diinstal pada sistem yang lebih lama dari itu, maka Anda perlu memberikan kombinasi atribut yang setara (lihat bagian berikut), jika tidak, info aktivasi akan tidak lengkap, dan penginstalan akan gagal.

Tetapi jika paket Anda memiliki <TargetDeviceFamily MinVersion="10.0.19041.0">, atau lebih tinggi, maka paket hanya diinstal pada sistem yang mendukung uap10 namespace layanan. Dalam hal ini, Anda harus menggunakan uap10:RuntimeBehavior atribut dan uap10:TrustLevel di preferensi ke kombinasi yang setara yang lebih lama (lihat bagian berikut).

Kombinasi atribut info aktivasi

Anda dapat menentukan atribut info aktivasi pada elemen Aplikasi ; dan Anda dapat secara opsional menentukannya pada elemen Ekstensi cakupan aplikasi. Jika tidak ditentukan pada Ekstensi, maka mereka diwarisi dari Aplikasi induk. Anda menentukan atribut ini dalam kombinasi—misalnya, EntryPoint, RuntimeBehavior, dan TrustLevel memiliki arti yang tumpang tindih, dan atribut tersebut ditentukan (dan/atau diwariskan) dalam kombinasi. Berikut adalah beberapa kombinasi atribut info aktivasi yang valid.

  1. Executable, uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel=["mediumIL", atau "appContainer" (default jika dihilangkan)]
  2. Executable, uap10:RuntimeBehavior="win32App", uap10:TrustLevel="mediumIL" (untuk persyaratan lain, lihat Deskripsi sebelumnya dalam topik ini untuk uap10:RuntimeBehavior).
  3. Executable, EntryPoint="windows.fullTrustApplication" (setara dengan uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel="mediumIL")
  4. Executable, EntryPoint="windows.partialTrustApplication" (setara dengan uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel="appContainer")
  5. Dapat dieksekusi, EntryPoint="<hal lain>"

Seperti yang Anda lihat, jika sistem target Anda tidak mendukung uap10 namespace, maka Anda dapat menentukan atribut EntryPoint sebagai gantinya. Demikian pula, setara dengan uap10:TrustLevel="appContainer"' pada sistem yang lebih lama adalah EntryPoint="windows.partialTrustApplication".

Sangat berlebihan untuk menentukan uap10:RuntimeBehavior/uap10:TrustLevel dan EntryPoint pada saat yang sama, tetapi jika Anda melakukannya, maka itu adalah kesalahan jika bertentangan.

aktivasi aplikasi Platform Windows Universal (UWP) memerlukan EntryPoint. Jadi, jika Anda menentukan Executable dan uap10:RuntimeBehavior="windowsApp" (tanpa EntryPoint), maka itu adalah kesalahan. Dalam kasus yang sama ini, EntryPoint akan menentukan sesuatu selain "windows.fullTrustApplication" dan "windows.partialTrustApplication"; dan nilai selain keduanya sudah mengatakan hal yang sama seperti uap10:RuntimeBehavior="windowsApp". Jadi uap10:RuntimeBehavior akan berlebihan dalam hal ini, dan Anda akan menentukan Executable dan EntryPoint.

Pengaturan uap10:RuntimeBehavior="win32App" dan uap10:TrustLevel="appContainer" tidak didukung.

Pengaturan uap10:TrustLevel="mediumIL" saat uap10:RuntimeBehavior="windowsApp" memerlukan Microsoft.coreAppActivation_8wekyb3d8bbwe Kemampuan Kustom.

Ini juga berlaku jika uap10:TrustLevel="mediumIL" dan EntryPoint adalah nilai lain selain "windows.fullTrustApplication" atau "windows.partialTrustApplication".

Anda dapat membaca selengkapnya tentang kemampuan kustom ini di sini di Kemampuan Kustom.

Catatan penting tentang aplikasi multi-instancing

  • Jika aplikasi menyatakan SupportsMultipleInstances dalam elemen Aplikasi , semua ekstensi latar depan juga akan multi-instans.
  • Jika aplikasi menyatakan SupportsMultipleInstances dalam elemen Aplikasi , maka aplikasi tidak perlu dideklarasikan di tingkat Ekstensi (misalnya, dalam elemen BackgroundTasks atau AppService ).
  • Aplikasi hanya boleh mendeklarasikan SupportsMultipleInstances pada tugas latar belakang, audio latar belakang, atau layanan aplikasi.
  • Aplikasi konsol akan selalu multi-instans dan harus secara eksplisit mendeklarasikan SupportsMultipleInstances.
  • Aplikasi dapat menggunakan deklarasi ResourceGroup dalam manifes untuk mengelompokkan beberapa tugas latar belakang ke host yang sama. Ini bertentangan dengan multi-instancing, di mana setiap aktivasi masuk ke host terpisah. Oleh karena itu, aplikasi tidak dapat mendeklarasikan SupportsMultipleInstances dan ResourceGroup dalam manifes.

Untuk informasi selengkapnya tentang menggunakan atribut SupportsMultipleInstances untuk mendukung beberapa instans aplikasi UWP terpisah, lihat Membuat Aplikasi Windows Universal multi-instans.

Persyaratan

Item Nilai
Ruang nama http://schemas.microsoft.com/appx/manifest/uap/windows10
atribut desktop4 http://schemas.microsoft.com/appx/manifest/desktop/windows10/4
atribut uap10 http://schemas.microsoft.com/appx/manifest/uap/windows10/10