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.
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í:
- Windows App SDK průvodce nasazením pro zabalené aplikace závislé na architektuře
- Řízení nasazování MSIX
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í:
- 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
- Tutorial: Použití rozhraní API bootstrapperu v aplikaci zabalené s externím umístěním nebo nezabalené, která používá Windows App SDK
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ěx64architektury iARM64architektury. 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 trueC++/WinRT — Sestavte samostatné konfigurace pro
x64aARM64ve 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.
Související témata
- Přehled nasazení
- Architektura nasazení pro Windows App SDK
- Windows App SDK průvodce nasazením pro zabalené aplikace závislé na architektuře
- Řízení nasazování MSIX
- 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
- Tutorial: Použití rozhraní API bootstrapperu v aplikaci zabalené s externím umístěním nebo nezabalené, která používá Windows App SDK
- průvodce nasazením Windows App SDK pro samostatné aplikace
- Vytvořte svůj první projekt WinUI
- Použití Windows App SDK v existujícím project
Windows developer