Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Barındırılan uygulama modeli, yürütülebilir ve giriş noktalarını bir konak uygulamasından devralan basit uygulamalar oluşturmanıza olanak tanır. Barındırılan uygulama, içerik (betikler, varlıklar, yapılandırma) içeren ayrı bir pakettir; ancak çalıştırılmak için ana uygulamanın çalışma zamanına dayanır.
Barındırılan uygulamalar nasıl çalışır?
Bir ana uygulama, manifestinde bir HostRuntime uzantısı tanımlayarak yürütülebilir dosyasını diğer paketlerin kullanımına sunar.
Barındırılan uygulama, bu ana bilgisayara bağımlı olduğunu bildirir ve hangi içeriğin çalıştırılacağını belirtir. Kullanıcı barındırılan uygulamayı başlattığında Windows, ana uygulamanın yürütülebilir dosyasını çalıştırır ve barındırılan uygulamanın içeriğini bağlam olarak iletir.
Bu model şunlar için kullanışlıdır:
- Betik altyapıları — Konak çalışma zamanını (örneğin, Python, Node.js) sağlar ve barındırılan uygulamalar tek tek betikler veya uygulamalardır.
- Oyun motorları — Ana bilgisayar oyun motorunu sağlar ve barındırılan uygulamalar ayrı oyunlardır.
- Uygulama çerçeveleri — Bir ana bilgisayar, bir çerçevenin çalışma zamanı ortamını sağlar ve barındırılan uygulamalar, bunun üzerinde çalışan içeriktir.
Important
Hem ana hem de barındırılan uygulamalar MSIX paket kimliği gerektirir. Barındırılan uygulama imzalı bir MSIX paketidir, ancak yürütülebilir dosyası ana bilgisayardan gelir.
Ana bilgisayar çalışma zamanını bildirin
Ana uygulamanın Package.appxmanifest içine bir HostRuntime uzantısı ekleyin:
<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>
Bu Id değer, barındırılan uygulamaların bağımlılıklarını bildirmek için başvuracakları değerdir.
Barındırılan bir uygulama tanımlama
Barındırılan uygulamanın manifest dosyasında, konak çalışma zamanı bağımlılığını tanımlayın ve bir TrustLevel ile RuntimeBehavior belirtin:
<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>
Anahtar öznitelikleri:
| Attribute | Description |
|---|---|
HostRuntimeDependency.Name |
Ana uygulamanın paket aile adı |
HostId |
Ana uygulamadaki HostRuntime.Id ile eşleşir |
Parameters |
Ana bilgisayar yürütülebilir dosyasına iletilen komut satırı bağımsız değişkenleri |
Barındırılan uygulama paketi oluşturma
Barındırılan uygulama paketi oluşturmak için:
- Standart bir MSIX projesi oluşturun veya kullanın
MakeAppx.exe. - Yalnızca içerik dosyalarınızı (betikler, varlıklar, yapılandırma) ekleyin.
- Yürütülebilir dosya eklemeyin; ana bilgisayardan gelir.
-
HostRuntimeDependencyöğesini manifest dosyasında tanımlayın. - Paketi üretim için güvenilir bir sertifikayla imzalayın. Geliştirme sırasında paketi imzasız olarak kaydedebilirsiniz (aşağıya bakın).
İmzasız paket kaydı (geliştirme)
Geliştirme sırasında, imzalanmamış barındırılan bir uygulama paketini kaydedebilirsiniz:
Add-AppxPackage -Path "HostedApp.msix" -AllowUnsigned
Note
İmzasız paket kaydı yalnızca geliştirme içindir. Üretim için paketi güvenilir bir sertifikayla imzalayın.
Örnek: Python betik konağı
Python çalışma zamanı uygulaması konak görevi görebilir:
-
Ana uygulama —
python.exepaketler veHostRuntime Id="PythonHost"bildirir. -
Barındırılan uygulama — bir Python betiği (
app.py) içerir veParameters="app.py"ileHostId="PythonHost"bildirir. - Kullanıcı barındırılan uygulamayı başlattığında Windows, çalışma bağlamı olarak barındırılan uygulamanın paket dizinini kullanarak konağın
python.exe app.pybileşenini çalıştırır.
İlgili içerik
Windows developer