Přehled nasazení Windows App SDK

Windows App SDK můžete nasadit dvěma způsoby:

  • závislé na rozhraní Framework . Vaše aplikace závisí na přítomnosti Windows App SDK runtime nebo balíčku frameworku na cílovém zařízení. Nasazení závislé na rozhraní je výchozí režim nasazení Windows App SDK pro efektivní využití prostředků počítače a možností služeb.
  • Samostatný. Vaše aplikace obsahuje závislosti sady Windows App SDK, takže na cílovém počítači není nutná samostatná instalace modulu runtime.

Toto téma také používá termíny balená aplikace, balená aplikace s externím umístěníma nebalená aplikace. Vysvětlení těchto termínů najdete v přehledu nasazení .

Nasazení závislé na rozhraní Nasadit samostatně
Výhody Malé nasazení. Distribuují se jenom vaše aplikace a její další závislosti. Balíček Windows App SDK runtime a framework se automaticky nainstaluje aplikacemi závislými na frameworku, které jsou zabalené, nebo jako součást instalačního programu Windows App SDK runtime pro aplikace závislé na frameworku, které jsou buď zabalené s externím umístěním, nebo rozbalené.

Provozuschopné. Servisní aktualizace Windows App SDK se instalují automaticky prostřednictvím balíčku Windows App SDK Framework bez nutnosti jakékoli akce aplikace.
Řízení verze Windows App SDK. Určujete, která verze Windows App SDK se nasadí s vaší aplikací. Aktualizace údržby Windows App SDK nebudou mít vliv na vaši aplikaci, pokud ji znovu sestavíte a redistribuujete.

izolované od jiných aplikací. Aplikace a uživatelé nemůžou odinstalovat vaši Windows App SDK závislost bez odinstalace celé aplikace.

Nasazení pomocí Xcopy. Protože jsou závislosti Windows App SDK součástí vaší aplikace, můžete aplikaci nasadit jednoduše pomocí xcopy pro zkopírování výstupu sestavení, bez jakýchkoli dalších instalačních požadavků.
Nevýhody Další závislosti instalace. Vyžaduje instalaci balíčku Windows App SDK runtime a/nebo frameworkového balíčku, což může při instalaci aplikace komplikovat.

sdílené závislosti. Riziko odinstalace sdílených závislostí Aplikace nebo uživatelé, kteří odinstalují sdílené komponenty, můžou ovlivnit uživatelské prostředí jiných aplikací, které tuto závislost sdílejí.

rizika kompatibility. Riziko, že aktualizace údržby Windows App SDK zavádějí zásadní změny. I když by servisní aktualizace měly poskytovat zpětnou kompatibilitu, je možné, že se zavádějí regrese.
větší nasazení (pouze nebalené aplikace). Vzhledem k tomu, že vaše aplikace obsahuje Windows App SDK, je požadovaná velikost stahování a požadované místo na pevném disku větší, než by tomu bylo u verze závislé na rozhraní.

Performance (pouze rozbalené aplikace). Pomalejší načítání a používá více paměti, protože kódové stránky se nesdílejí s jinými aplikacemi.

Nelze obsluhovat. Verzi Windows App SDK distribuovanou s vaší aplikací je možné aktualizovat pouze vydáním nové verze aplikace. Zodpovídáte za integraci servisních aktualizací Windows App SDK do vaší aplikace.

Podívejte se také na Vytvoření prvního projektu WinUI 3 a Použití Windows App SDK v existujícím projektu.

Note

PublishSingleFile (exe s jedním souborem) se podporuje pro rozbalené samostatné aplikace WinUI 3 (Windows App SDK 1.5 a novější). Zabalené aplikace a aplikace závislé na architektuře nepodporují PublishSingleFile. Požadované vlastnosti nástroje MSBuild naleznete v části Jednosouborový EXE.

Další informace o nasazení závislém na rozhraní

Před konfigurací aplikace závislé na frameworku pro nasazení, abyste se dozvěděli více o závislostech, které vaše aplikace bere při použití Windows App SDK, projděte si architekturu nasazení pro Windows App SDK.

Zabalené aplikace

Pokud jste se rozhodli přejít k zabalené aplikaci závislé na rozhraní (viz přehled Deployment), tady jsou pokyny k nasazení modulu runtime Windows App SDK s aplikací:

Balíčkované s externím umístěním nebo nebalenými aplikacemi

Pokud jste se rozhodli pro aplikaci závislou na rozhraní s externím umístěním nebo pro rozbalenou aplikaci závislou na rozhraní (viz přehled Deployment), zde najdete pokyny, jak nasadit modul runtime Windows App SDK spolu s aplikací:

Další informace o samostatném nasazení

Informace o samoobslužných aplikacích najdete v průvodci nasazením Windows App SDK.

Note

PublishSingleFile (EXE s jedním souborem) vyžaduje, aby aplikace byla rozbalená i samostatná. Úplný seznam požadovaných vlastností MSBuild naleznete v části Single-file EXE.

Inicializujte tento Windows App SDK

Způsob, jakým byste měli inicializovat Windows App SDK, závisí na tom, jestli a jak aplikaci zabalíte, a na způsobu nasazení vzhledem k modulu runtime Windows App SDK. Použijte část níže, která platí pro vaši aplikaci.

Zabalené aplikace

Jak se vaše aplikace nasazuje Jak inicializovat
Závislá na frameworku Viz volání rozhraní API pro nasazení.
Samostatný Není nutná žádná inicializace.

Aplikace bez balení a aplikace s externím umístěním

Jak se vaše aplikace nasazuje Jak inicializovat
Závislá na frameworku Viz také Použití rozhraní API bootstrapperu v aplikaci balené s externím umístěním nebo rozbalené.
Samostatný Viz rušení (nebo aktivace) automatické podpory UndockedRegFreeWinRT.

Aspekty architektury (x64, ARM64)

Při nasazování aplikace musíte zahrnout binární soubory pro každou architekturu procesoru, kterou uživatelé potřebují. To platí pro režimy nasazení závislé na rozhraní i na samostatném nasazení.

Podpora ARM64

Windows na zařízeních ARM (včetně Surface Pro X, Surface Pro 11 a Copilot+ PCs) běží nativně na platformě ARM64. I když je emulace x64 dostupná na zařízeních s Windows 11 ARM64, nativní binární soubory ARM64 poskytují lepší výkon a životnost baterie – a doporučuje se, pokud chcete co nejlepší prostředí pro úlohy umělé inteligence na zařízení na Copilot+ PCs.

Nativní nasazení ARM64

  • Sady MSIX – Vytvořte balíček .msixbundle , který zahrnuje obě x64 architektury i ARM64 architektury. Visual Studio je automaticky vygeneruje při sestavování pro více platforem. Store a Instalační program aplikací při instalaci vyberou správnou architekturu.

  • Samostatné publikování – Zadejte identifikátor modulu runtime (RID) pro každou architekturu:

    dotnet publish -c Release -r win-x64 --self-contained true
    dotnet publish -c Release -r win-arm64 --self-contained true
    
  • C++/WinRT — Sestavte samostatné konfigurace pro x64 a ARM64 ve svém řešení Visual Studio.

  • Aplikace závislé na architektuře – Při použití instalačního programu modulu Windows App SDK runtime se ujistěte, že poskytujete správný instalační program specifický pro architekturu. Windows App SDK dodává samostatné instalační programy pro x64 a ARM64.

Arm64EC – postupná migrace pro velké základy kódu C/C++

Pokud má vaše aplikace velký nativní základ kódu (C/C++), nemusí být úplné překompilování na ARM64 praktické v jednom kroku. Arm64EC (emulace kompatibilní) umožňuje kombinovat kód x64 a ARM64 ve stejném procesu. Rekompilujete moduly kritické pro výkon na nativní ARM64, zatímco zbývající moduly x64 běží pod emulací – to vše v rámci jednoho binárního souboru.

Approach Nejvhodnější pro Kompromis
Úplné rekompilování ARM64 Čistě .NET aplikace, malé projekty C++ Nejlepší výkon; vyžaduje, aby všechny závislosti byly kompatibilní s ARM64.
Arm64EC Velké aplikace C/C++, aplikace s moduly plug-in jen pro x64 nebo knihovny DLL třetích stran přírůstková migrace; Emulované části běží pomaleji než nativní
pouze x64 (emulovaná) Aplikace, které se nedají znovu zkompilovat a nepotřebují špičkový výkon Nejjednodušší; nižší životnost baterie a vyšší latence na zařízeních ARM64

Další informace najdete v tématu Arm64EC – vytváření a portování aplikací pro nativní výkon v Arm.

Emulace (prism)

Windows 11 v ARM používá emulační vrstvu s názvem Prism ke spouštění aplikací x64 a x86 na hardwaru ARM64. Prism překládá instrukce x86/x64 na ARM64 za běhu a poskytuje širokou kompatibilitu aplikací bez nutnosti rekompilu.

  • emulace x64 – k dispozici pouze na zařízeních WINDOWS 11 ARM64 (ne Windows 10 v ARM).
  • emulace x86 – k dispozici na zařízeních Windows 10 i Windows 11 ARM64.
  • Výkon – emulované aplikace obvykle běží s přijatelným výkonem pro úlohy produktivity, ale aplikace náročné na grafiku nebo výpočetní výkon výrazně využívají nativní sestavení ARM64 nebo Arm64EC.

Tip

Pokud cílíte jenom na x64, vaše aplikace stále běží na zařízeních ARM64 prostřednictvím emulace Prism (Windows 11 pouze). Nativní buildy ARM64 se však důrazně doporučují pro produkční aplikace – emulované aplikace používají více baterie a mají vyšší latenci. Na Copilot+ PCs může nativní ARM64 poskytovat nejlepší výkon pro úlohy umělé inteligence na zařízení.

Při odesílání do Store nahrajte balíčky pro konkrétní architektury nebo balíček, který obsahuje obojí. Store poskytuje každému zařízení pouze odpovídající architekturu.