Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O modelo de aplicativo hospedado permite criar aplicativos leves que herdam seu ponto de entrada e executável de um aplicativo host. O aplicativo hospedado é um pacote separado que contém conteúdo (scripts, ativos, configuração), mas depende do runtime do host para executar.
Como os aplicativos hospedados funcionam
Um aplicativo host declara uma HostRuntime extensão em seu manifesto, tornando seu executável disponível para outros pacotes. Um aplicativo hospedado declara uma dependência desse host e especifica qual conteúdo será executado. Quando o usuário inicia o aplicativo hospedado, Windows inicia o executável do host e passa o conteúdo do aplicativo hospedado como contexto.
Esse modelo é útil para:
- Mecanismos de script — um host fornece o runtime (por exemplo, Python, Node.js) e aplicativos hospedados são scripts ou aplicativos individuais.
- Mecanismos de jogo – um host fornece o mecanismo de jogo e os aplicativos hospedados são jogos individuais.
- Estruturas de aplicativo – um host fornece um runtime de estrutura e os aplicativos hospedados são conteúdos executados nele.
Importante
Os aplicativos host e os hospedados exigem uma identidade de pacote MSIX. O aplicativo hospedado é um pacote MSIX assinado, mas seu executável vem do host.
Declarar um runtime de host
No aplicativo host Package.appxmanifest, adicione a extensão 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>
O Id valor é o que os aplicativos hospedados fazem referência para declarar sua dependência.
Declarar um aplicativo hospedado
No manifest do aplicativo hospedado, declare a dependência do ambiente de execução do host e especifique um TrustLevel e 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>
Atributos de chave:
| Attribute | Description |
|---|---|
HostRuntimeDependency.Name |
Nome da família de pacotes do aplicativo host |
HostId |
Corresponde ao HostRuntime.Id no aplicativo host |
Parameters |
Argumentos de linha de comando passados para o executável do host |
Criar um pacote de aplicativo hospedado
Para criar um pacote de aplicativo hospedado:
- Criar um projeto MSIX padrão ou usar
MakeAppx.exe. - Inclua apenas seus arquivos de conteúdo (scripts, ativos, configuração).
- Não inclua um executável , ele vem do host.
- Declare o
HostRuntimeDependencyno manifesto. - Assine o pacote com um certificado confiável para produção. Durante o desenvolvimento, você pode registrar o pacote não assinado (veja abaixo).
Registro de pacote não assinado (desenvolvimento)
Durante o desenvolvimento, você pode registrar um pacote de aplicativo hospedado não assinado:
Add-AppxPackage -Path "HostedApp.msix" -AllowUnsigned
Note
O registro de pacote não assinado é somente para desenvolvimento. Para uso em produção, assine o pacote com um certificado confiável.
Exemplo: host de script Python
Um aplicativo de runtime Python pode servir como um host:
-
Aplicativo hospedeiro — Empacota
python.exee declaraHostRuntime Id="PythonHost". -
Aplicativo hospedado — contém um script de Python (
app.py) e declaraHostId="PythonHost"comParameters="app.py". - Quando o usuário inicia o aplicativo hospedado, Windows executa o host
python.exe app.pycom o diretório de pacotes do aplicativo hospedado como o contexto de trabalho.
Conteúdo relacionado
Windows developer