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.
Tento článek obsahuje pokyny k nasazení zabalených aplikací závislých na architektuře (viz Co je MSIX?), které používají Windows App SDK. Ekvivalentní téma pro další možnosti balení závislé na frameworku je Windows App SDK průvodce nasazením pro aplikace závislé na frameworku balené s externím umístěním nebo nebalené.
Overview
Když ve výchozím nastavení vytvoříte projekt pomocí jedné šablony WinUI 3 v Visual Studio, nakonfiguruje se projekt tak, aby se aplikace sestavila do balíčku MSIX s jedním projektem (viz Balíček aplikace pomocí MSIX s jedním projektem) nebo projekt Windows Application Packaging (viz Nastavení desktopové aplikace pro balení MSIX v Visual Studio). Potom můžete vytvořit balíček MSIX pro vaši aplikaci pomocí pokynů v Balíčkování desktopové nebo UWP aplikace ve Visual Studiu. Po sestavení balíčku MSIX pro aplikaci máte několik možností, jak Spravovat nasazení MSIX.
Další informace o balíčcích, které vaše zabalená aplikace může potřebovat, když používá Windows App SDK, najdete v tématu o architektuře Deployment pro Windows App SDK. Patří sem balíčky Framework, Main a Singleton ; které jsou všechny podepsány a publikovány Společností Microsoft. Nasazení zabalené aplikace má dva hlavní požadavky:
Prerequisites
- U zabalených aplikací je závislost balíčku architektury VCLibs požadavkem. Další informace naleznete v tématu balíčky C++ Runtime Framework pro Desktop Bridge.
- C#. Je vyžadováno .NET 6 nebo novější. Další informace najdete v tématu .NET Ke stažení.
Nasazení balíčku architektury Windows App SDK
Balíček architektury Windows App SDK obsahuje binární soubory Windows App SDK používané za běhu a instaluje se s vaší aplikací. Architektura má různé požadavky na nasazení pro různé kanály Windows App SDK.
Stabilní verze
Při instalaci stabilní verze balíčku NuGet Windows App SDK do vývojového počítače a vytvoříte projekt pomocí jedné z poskytnutých šablon projektů WinUI, vygenerovaný manifest balíčku obsahuje PackageDependency element, který určuje závislost na balíčku architektury.
Pokud ale balíček aplikace sestavíte ručně pomocí samostatného projektu Windows Vytváření balíčků aplikací, musíte deklarovat PackageReference v souboru Application (package).wapproj, jak je znázorněno níže:
<ItemGroup>
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.8.260209005">
<IncludeAssets>build</IncludeAssets>
</PackageReference>
</ItemGroup>
Tato závislost balíčku zajišťuje, že se balíček Framework nainstaluje při nasazení aplikace do jiného počítače.
Náhledová verze
Při instalaci verze Preview balíčku NuGet Windows App SDK do vývojového počítače se během sestavování jako závislost balíčku NuGet nasadí verze Preview balíčku architektury Windows App SDK.
Zavolejte nasazovací API
Viz také Initialize Windows App SDK.
Rozhraní API pro nasazení poskytuje balíček frameworku Windows App SDK a je k dispozici v Microsoft.Windows.ApplicationModel.WindowsAppRuntime oboru názvů. Aplikační model Windows nepodporuje deklarování závislosti na balíčcích Main a Singleton. Rozhraní API pro nasazení se proto vyžaduje z těchto důvodů:
- Nasazení balíčku Singleton pro funkce, které nejsou v balíčku Framework (například nabízená oznámení).
- Nasazení hlavního balíčku, který umožňuje automatické aktualizace balíčku Framework z Microsoft Storu.
Pro zabalené aplikace, které nejsou distribuovány prostřednictvím Storu, zodpovídáte za distribuci balíčku Framework jako vývojář. Doporučujeme volat rozhraní API pro nasazení, aby byly doručeny jakékoli kritické servisní aktualizace. Všimněte si, že pro použití funkcí mimo balíček framework (například nabízená oznámení) musí být nasazen balíček Singleton (to se dá provést pomocí rozhraní API pro nasazení nebo redistribuací balíčků MSIX pomocí vlastní metody instalace).
Important
Pouze zabalené aplikace s úplným vztahem důvěry nebo s omezenými oprávněními packageManagement mají oprávnění k použití rozhraní API pro nasazování k instalaci závislostí balíčku Main a Singleton.
Po inicializaci procesu aplikace byste měli volat rozhraní API pro nasazení, ale ještě předtím, než vaše aplikace použije funkce modulu runtime Windows App SDK, které využívají balíček Singleton (například push oznámení). Hlavní metody rozhraní API pro nasazení jsou statické metody GetStatus a Initialize třídy DeploymentManager .
- Metoda GetStatus vrátí aktuální stav nasazení modulu runtime Windows App SDK, který je aktuálně načten. Tuto metodu použijte k určení, jestli je potřeba nainstalovat balíčky runtime Windows App SDK před tím, než může aktuální aplikace používat Windows App SDK funkce.
- Metoda Initialize ověřuje, jestli jsou všechny požadované balíčky přítomné na minimální verzi, kterou potřebuje modul runtime Windows App SDK, který je aktuálně načtený. Pokud nějaké závislosti balíčku chybí, metoda se pokusí zaregistrovat tyto chybějící balíčky. Počínaje Windows App SDK 1.1 podporuje metoda Initialize také možnost vynutit nasazení balíčků modulu runtime Windows App SDK. Tím se vypnou všechny procesy pro balíčky Main a Singleton Runtime, a tím přeruší jejich služby (například push oznámení nebudou během této doby doručována). Inicializovat byste měli jenom jednou. V Visual Studio nemusíte volat Initialize pro aplikace nasazené prostřednictvím příkazů Start bez ladění a Start Debugging.
Important
Výchozí hodnota vlastnosti Visual Studio <WindowsAppSdkDeploymentManagerInitialize> je true. Pokud tedy chcete volat DeploymentManager.Initialize explicitně, nastavte <WindowsAppSdkDeploymentManagerInitialize>false</WindowsAppSdkDeploymentManagerInitialize> v souboru projektu Visual Studio.
Ukázková aplikace pro nasazení API
Další pokyny k používání metod GetStatus a Initialize třídy DeploymentManager najdete v dostupné ukázkové aplikaci.
Řešení chyb instalace
Pokud rozhraní API pro nasazení při instalaci balíčků modulu runtime Windows App SDK dojde k chybě, vrátí kód chyby, který tento problém popisuje.
Následující tabulka uvádí běžné kódy chyb z rozhraní API pro nasazení a jejich typické příčiny:
| Kód chyby | Name | Obvyklá příčina |
|---|---|---|
| 0x80070005 | ACCESS_DENIED | Aplikace není plně důvěryhodná nebo nemá omezenou schopnost packageManagement. Spusťte zvýšenou úroveň nebo přidejte požadovanou funkci. |
| 0x80073CF0 | ERROR_INSTALL_OPEN_PACKAGE_FAILED | Balíček MSIX je poškozený nebo nepřístupný. Ověřte, že soubor balíčku je nedotčený a cesta je správná. |
| 0x80073CF3 | ERROR_INSTALL_PREREQUISITE_FAILED | Požadovaný balíček závislostí chybí nebo není kompatibilní. Ujistěte se, že je nainstalovaný balíček architektury VCLibs a všechny další požadavky. |
| 0x80073D06 | CHYBA_BALÍČKY_V_POUŽITÍ | Jeden nebo více balíčků se používá a nelze je aktualizovat. Zavřete všechny aplikace pomocí modulu runtime Windows App SDK a zkuste to znovu. |
| 0x80073CFB | ERROR_PACKAGE_ALREADY_EXISTS | Verze balíčku je již zaregistrovaná. Toto je informativní – vaše aplikace může pokračovat. |
| 0x80073CF9 | CHYBA_INSTALACE_SELHALA | Obecná chyba instalace. Další podrobnosti najdete v protokolech událostí (viz níže). |
Tip
Úplný seznam kódů chyb instalace balíčku MSIX najdete v tématu Řešení potíží s balením, nasazením a dotazováním aplikací Windows.
Pokud kód chyby neposkytuje dostatek informací, najdete další diagnostické informace v podrobných protokolech událostí (viz Získání diagnostických informací). Protokoly událostí se nacházejí v Prohlížeč událostí v části Protokoly> aplikací a služeb Microsoft>Windows>AppxDeployment-Server.
Pokud narazíte na chyby, které nemůžete diagnostikovat, vytvořte problém v úložišti WindowsAppSDK GitHub s kódem chyby a protokoly událostí, abychom mohli problém prošetřit.
Související témata
- Architektura nasazení pro Windows App SDK
- Průvodce nasazením Windows App SDK pro aplikace závislé na frameworku, zabalené s externím umístěním nebo bez balíčku
- Distribuční kanály
- Zabalte svou aplikaci pomocí MSIX pro jeden projekt
- Co je MSIX?
- Řešení potíží s balením, nasazením a dotazováním aplikací pro Windows
- Zabalení desktopové aplikace nebo aplikace pro UPW v Visual Studio
- Řízení nasazení MSIX
Windows developer