Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le modèle d’application hébergé vous permet de créer des applications légères qui héritent de leur exécutable et de leur point d’entrée à partir d’une application hôte. L’application hébergée est un package distinct qui contient du contenu (scripts, ressources, configuration), mais s’appuie sur le runtime de l’hôte à exécuter.
Fonctionnement des applications hébergées
Une application hôte déclare une HostRuntime extension dans son manifeste, rendant son exécutable disponible pour d’autres packages. Une application hébergée déclare une dépendance sur cet hôte et spécifie le contenu à exécuter. Lorsque l'utilisateur lance l'application hébergée, Windows démarre l'exécutable de l'hôte et transmet le contenu de l'application hébergée en tant que contexte.
Ce modèle est utile pour :
- Moteurs de script : un hôte fournit le runtime (par exemple, Python, Node.js), et les applications hébergées sont des scripts ou des applications hébergées.
- Moteurs de jeu : un hôte fournit le moteur de jeu et les applications hébergées sont des jeux individuels.
- Infrastructures d’application : un hôte fournit un runtime d’infrastructure et les applications hébergées sont du contenu qui s’exécute dessus.
Important
Les applications hôtes et hébergées nécessitent une identité de package MSIX. L’application hébergée est un package MSIX signé, mais son exécutable provient de l’hôte.
Déclarer un runtime hôte
Dans l’application hôte Package.appxmanifest, ajoutez une extension 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>
La Id valeur est la référence des applications hébergées pour déclarer leur dépendance.
Déclarer une application hébergée
Dans le manifeste de l’application hébergée, déclarez la dépendance d’exécution de l’hôte et spécifiez a TrustLevel et 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>
Attributs clés :
| Caractéristique | Description |
|---|---|
HostRuntimeDependency.Name |
Nom de famille du package de l’application hôte |
HostId |
Correspond à HostRuntime.Id dans l’application hôte |
Parameters |
Arguments de la ligne de commande transmis à l’exécutable hôte |
Créer un package d’application hébergé
Pour créer un package d’application hébergé :
- Créez un projet MSIX standard ou utilisez
MakeAppx.exe. - Incluez uniquement vos fichiers de contenu (scripts, ressources, configuration).
- N’incluez pas d’exécutable , il provient de l’hôte.
- Déclarez le
HostRuntimeDependencydans le manifeste. - Signez le package avec un certificat approuvé pour la production. Pendant le développement, vous pouvez inscrire le package non signé (voir ci-dessous).
Enregistrement d’un paquet non signé (développement)
Pendant le développement, vous pouvez inscrire un package d’application hébergé non signé :
Add-AppxPackage -Path "HostedApp.msix" -AllowUnsigned
Note
L’enregistrement d’un package non signé est réservé au développement uniquement. Pour la production, signez le package avec un certificat approuvé.
Exemple : hôte de script Python
Une application runtime Python peut servir d’hôte :
-
Application hôte — packagise
python.exeet déclareHostRuntime Id="PythonHost". -
Application hébergée : contient un script Python (
app.py) et déclareHostId="PythonHost"avecParameters="app.py". - Lorsque l'utilisateur lance l'application hébergée, Windows exécute l'
python.exe app.pyhôte avec le répertoire de package de l'application hébergée comme contexte de travail.
Contenu connexe
Windows developer