Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit dem gehosteten App-Modell können Sie einfache Apps erstellen, die ihre ausführbare Datei und ihren Einstiegspunkt von einer Host-App erben. Die gehostete App ist ein separates Paket, das Inhalte (Skripte, Ressourcen, Konfiguration) enthält, für die Ausführung jedoch auf die Laufzeitumgebung des Hosts angewiesen ist.
Funktionsweise gehosteter Apps
Eine Host-App deklariert eine HostRuntime Erweiterung im Manifest und stellt die ausführbare Datei für andere Pakete zur Verfügung. Eine gehostete App deklariert eine Abhängigkeit von diesem Host und gibt an, welche Inhalte ausgeführt werden sollen. Wenn der Benutzer die gehostete App startet, startet Windows die ausführbare Datei des Hosts und übergibt den Inhalt der gehosteten App als Kontext.
Dieses Modell ist nützlich für:
- Skriptmodule – Ein Host stellt die Laufzeit bereit (z. B. Python, Node.js), und gehostete Apps sind einzelne Skripts oder Anwendungen.
- Spielengines – Ein Host stellt die Spielengine bereit, und gehostete Apps sind einzelne Spiele.
- App-Frameworks – Ein Host stellt eine Framework-Laufzeit bereit, und gehostete Apps sind Inhalte, die darauf ausgeführt werden.
Important
Sowohl Host- als auch gehostete Apps erfordern MSIX-Paketidentität. Die gehostete App ist ein signiertes MSIX-Paket, die ausführbare Datei stammt jedoch vom Host.
Deklarieren einer Hostlaufzeit
Fügen Sie in der Host-App Package.appxmanifesteine HostRuntime Erweiterung hinzu:
<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>
Der Id Wert ist, auf den gehostete Apps verweisen, um ihre Abhängigkeit zu deklarieren.
Deklarieren einer gehosteten App
Deklarieren Sie im Manifest der gehosteten App die Abhängigkeit von der Hostlaufzeit und geben Sie ein TrustLevel und RuntimeBehavior an:
<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>
Schlüsselattribute:
| Attribute | Description |
|---|---|
HostRuntimeDependency.Name |
Paketfamilienname der Host-App |
HostId |
Entspricht dem HostRuntime.Id in der Host-App |
Parameters |
An die Hostanwendung übergebene Befehlszeilenargumente |
Erstellen eines gehosteten App-Pakets
So erstellen Sie ein gehostetes App-Paket:
- Erstellen Sie ein Standard-MSIX-Projekt, oder verwenden Sie
MakeAppx.exe. - Schließen Sie nur Ihre Inhaltsdateien (Skripts, Ressourcen, Konfiguration) ein.
- Fügen Sie keine ausführbare Datei hinzu – sie stammt vom Host.
- Deklarieren Sie
HostRuntimeDependencyim Manifest. - Signieren Sie das Paket mit einem vertrauenswürdigen Zertifikat für die Produktion. Während der Entwicklung können Sie das Paket nicht signiert registrieren (siehe unten).
Nicht signierte Paketregistrierung (Entwicklung)
Während der Entwicklung können Sie ein nicht signiertes gehostetes App-Paket registrieren:
Add-AppxPackage -Path "HostedApp.msix" -AllowUnsigned
Note
Die Registrierung nicht signierter Pakete ist nur für die Entwicklung vorgesehen. Für die Produktion signieren Sie das Paket mit einem vertrauenswürdigen Zertifikat.
Beispiel: Host für Python-Skripts
Eine Python Laufzeit-App kann als Host dienen:
-
Host-App – packt
python.exeund deklariertHostRuntime Id="PythonHost". -
Gehostete App – Enthält ein Python Skript (
app.py) und deklariertHostId="PythonHost"mitParameters="app.py". - Wenn der Benutzer die gehostete App startet, führt Windows die
python.exe app.pydes Hosts aus, wobei das Paketverzeichnis der gehosteten App als Arbeitsverzeichnis verwendet wird.
Verwandte Inhalte
Windows developer