Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Model hostované aplikace umožňuje vytvářet odlehčené aplikace, které dědí jejich spustitelný a vstupní bod z hostitelské aplikace. Hostovaná aplikace je samostatný balíček, který obsahuje obsah (skripty, prostředky, konfiguraci), ale spoléhá na spuštění modulu runtime hostitele.
Jak hostované aplikace fungují
Hostitelská aplikace deklaruje HostRuntime rozšíření v manifestu a zpřístupňuje jeho spustitelný soubor jiným balíčkům.
Hostovaná aplikace deklaruje závislost na daném hostiteli a určuje, který obsah se má spustit. Když uživatel spustí hostované aplikace, Windows spustí spustitelný soubor hostitele a předá obsah hostované aplikace jako kontext.
Tento model je užitečný pro:
- Skriptovací moduly – Hostitel poskytuje moduly runtime (například Python, Node.js) a hostované aplikace jsou jednotlivé skripty nebo aplikace.
- Herní stroje – hostitel poskytuje herní modul a hostované aplikace jsou jednotlivé hry.
- Aplikační frameworky — Hostitel poskytuje běhové prostředí frameworku a hostované aplikace jsou obsah, který v něm běží.
Important
Hostitelské i hostované aplikace vyžadují identitu balíčku MSIX. Hostovaná aplikace je podepsaný balíček MSIX, ale jeho spustitelný soubor pochází z hostitele.
Deklarace modulu runtime hostitele
Do hostitelské aplikace Package.appxmanifest přidejte rozšíření 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>
Hodnotu Id hostované aplikace používají k deklaraci své závislosti.
Deklarace hostované aplikace
V manifestu hostované aplikace deklarujte závislost na hostitelském modulu runtime a zadejte TrustLevel a 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>
Klíčové atributy:
| Attribute | Description |
|---|---|
HostRuntimeDependency.Name |
Název rodiny balíčků hostitelské aplikace |
HostId |
Odpovídá hodnotě HostRuntime.Id v hostitelské aplikaci. |
Parameters |
Argumenty příkazového řádku předané hostitelskému spustitelnému souboru |
Vytvoření balíčku hostované aplikace
Vytvoření balíčku hostované aplikace:
- Vytvořte standardní projekt MSIX nebo použijte
MakeAppx.exe. - Zahrňte pouze soubory s vaším obsahem (jako jsou skripty, assety a konfigurace).
- Nezahrnujte spustitelný soubor – pochází z hostitele.
- Deklarujte
HostRuntimeDependencyv manifestu. - Podepište balíček důvěryhodným certifikátem pro produkci. Během vývoje můžete balíček zaregistrovat bez znaménka (viz níže).
Registrace nepodepsaného balíčku (vývoj)
Během vývoje můžete zaregistrovat nepodepsaný balíček hostované aplikace:
Add-AppxPackage -Path "HostedApp.msix" -AllowUnsigned
Note
Registrace nepodepsaného balíčku je určená jenom pro vývoj. V produkčním prostředí podepište balíček důvěryhodným certifikátem.
Příklad: hostitel skriptu Python
Aplikace Python runtime může sloužit jako hostitel:
-
Hostitelská aplikace – Balíčky
python.exea deklaraceHostRuntime Id="PythonHost". -
Hostovaná aplikace – Obsahuje Python skript (
app.py) a deklarujeHostId="PythonHost"pomocíParameters="app.py". - Když uživatel spustí hostovanou aplikaci, Windows spustí
python.exe app.pyhostitele s adresářem balíčku hostované aplikace jako pracovním adresářem.
Související obsah
Windows developer