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.
Model aplikasi yang dihosting memungkinkan Anda membuat aplikasi ringan yang mewarisi titik eksekusi dan entri mereka dari aplikasi host. Aplikasi yang dihosting adalah paket terpisah yang berisi konten (skrip, aset, konfigurasi) tetapi bergantung pada runtime host untuk dijalankan.
Cara kerja aplikasi yang dihosting
Aplikasi host mendeklarasikan HostRuntime ekstensi dalam manifesnya, membuat executable-nya tersedia untuk paket lain.
Aplikasi yang dihosting mendeklarasikan dependensi pada host tersebut dan menentukan konten mana yang akan dijalankan. Saat pengguna menjalankan aplikasi yang dihosting, Windows memulai file eksekusi host dan meneruskan konten aplikasi yang dihosting sebagai konteks.
Model ini berguna untuk:
- Mesin skrip — Host menyediakan runtime (misalnya, Python, Node.js), dan aplikasi yang dihosting adalah skrip atau aplikasi individual.
- Mesin game — Host menyediakan mesin game, dan aplikasi yang dihosting adalah game individual.
- Kerangka kerja aplikasi — Host menyediakan runtime kerangka kerja, dan aplikasi yang dihosting adalah konten yang berjalan di dalamnya.
Important
Aplikasi host dan yang dihosting memerlukan identitas paket MSIX. Aplikasi yang dihosting adalah paket MSIX yang ditandatangani, tetapi file eksekusinya berasal dari aplikasi host.
Deklarasikan runtime host
Di aplikasi host Package.appxmanifest, tambahkan ekstensi HostRuntime:
<Package xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10" ...>
<Applications>
<Application Id="App" Executable="MyHost.exe" EntryPoint="...">
<Extensions>
<uap10:Extension Category="windows.hostRuntime">
<uap10:HostRuntime Id="MyHostRuntime" />
</uap10:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Nilai Id adalah nilai yang dirujuk oleh aplikasi yang di-host untuk menyatakan dependensinya.
Mendeklarasikan aplikasi yang dihosting
Dalam manifes aplikasi yang dihosting, nyatakan dependensi runtime host dan tentukan TrustLevel dan RuntimeBehavior:
<Package xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10" ...>
<Dependencies>
<uap10:HostRuntimeDependency Name="HostAppPackageFamilyName"
Publisher="CN=HostPublisher"
MinVersion="1.0.0.0" />
</Dependencies>
<Applications>
<Application Id="App"
uap10:HostId="MyHostRuntime"
uap10:Parameters=""script.py"">
</Application>
</Applications>
</Package>
Atribut kunci:
| Attribute | Deskripsi |
|---|---|
HostRuntimeDependency.Name |
Nama keluarga paket dari aplikasi host |
HostId |
Cocok dengan HostRuntime.Id di aplikasi host |
Parameters |
Argumen baris perintah diteruskan ke host yang dapat dieksekusi |
Membuat paket aplikasi yang dihosting
Untuk membuat paket aplikasi yang dihosting:
- Buat proyek MSIX standar atau gunakan
MakeAppx.exe. - Sertakan hanya file konten Anda (skrip, aset, konfigurasi).
- Jangan sertakan file eksekusi — file tersebut disediakan oleh host.
- Deklarasikan
HostRuntimeDependencydalam file manifes. - Tanda tangani paket dengan sertifikat tepercaya untuk produksi. Selama pengembangan, Anda dapat mendaftarkan paket yang tidak ditandatangani (lihat di bawah).
Pendaftaran paket tanpa tanda tangan (pengembangan)
Selama pengembangan, Anda dapat mendaftarkan paket aplikasi yang dihosting yang tidak ditandatangani:
Add-AppxPackage -Path "HostedApp.msix" -AllowUnsigned
Note
Pendaftaran paket yang tidak ditandatangani hanya untuk pengembangan. Untuk produksi, tanda tangani paket dengan sertifikat tepercaya.
Contoh: host skrip Python
Aplikasi runtime Python dapat berfungsi sebagai host:
-
aplikasi host — Mengemas
python.exedan mendeklarasikanHostRuntime Id="PythonHost". -
Aplikasi yang dihosting — Berisi skrip Python (
app.py) dan dideklarasikanHostId="PythonHost"denganParameters="app.py". - Saat pengguna meluncurkan aplikasi yang dihosting, Windows menjalankan host
python.exe app.pydengan direktori paket aplikasi yang dihosting sebagai konteks kerja.
Konten terkait
Windows developer