Přehled balení

Balení definuje, jak se aplikace instaluje, aktualizuje a integruje s Windows. Aplikace WinUI 3 jsou ve výchozím nastavení zabalené, zatímco mnoho desktopových aplikací, jako jsou tradiční aplikace Win32, běží rozbalené. Volba mezi zabalenou nebo rozbalenou aplikací má vliv na funkce, které můžete použít, model nasazení, na který spoléháte, a celkové prostředí, které zákazníci získají.

Poznámka:

Vytváříte novou aplikaci WinUI 3? Už jste ve výchozím nastavení zabalení. Níže uvedené pokyny jsou nejrelevantnější pro vývojáře, kteří potřebují explicitní volbu – obvykle při přenosu existující aplikace, nasazení do podnikových počítačů nebo přidání Windows funkcí do aplikace, která nebyla původně zabalená.

Proč je důležité balení aplikací

Zabalené aplikace využívají čistý instalační model, automatické aktualizace a přístup k funkcím Windows, které vyžadují identitu balíčku – včetně úloh na pozadí, oznámení, rozšíření místní nabídky, sdílení cílů a dalších bodů rozšiřitelnosti. Balení také pomáhá zajistit čistější nasazení, spolehlivé aktualizace a zjednodušenou distribuci prostřednictvím kanálů, jako jsou Microsoft Store a nástroje podnikového nasazení.

Funkce, které vyžadují identitu balíčku

Tyto funkce Windows fungují jenom v aplikacích, které mají identitu balíčku – buď prostřednictvím úplného balení MSIX, nebo balení s externím umístěním (řídké balení).

funkce Description
úlohy na pozadí Spusťte kód, když vaše aplikace není v popředí – například k synchronizaci dat, zpracování stahování nebo odpovídání na systémové události.
Windows rozhraní API umělé inteligence (Phi Silica, OCR atd.) Získejte přístup k funkcím umělé inteligence na zařízení, jako jsou místní jazykové modely, rozpoznávání textu a analýza obrázků.
Nabízená oznámení (WNS) Přijímat oznámení z cloudové služby v reálném čase prostřednictvím služby oznámení Windows.
Cíl sdílení Umožněte uživatelům sdílet obsah z jiných aplikací přímo do vaší aplikace pomocí systémové nabídky Sdílet.
Vlastní rozšíření kontextové nabídky Přidejte akce vaší aplikace do kontextové nabídky v Průzkumníku souborů a dalších prostředích shellu.
Přidružení typu souboru a protokolu Zaregistrujte aplikaci jako obslužnou rutinu pro konkrétní typy souborů nebo protokoly URI (např yourapp://. ).
Úlohy po spuštění Spusťte aplikaci automaticky, když se uživatel přihlásí k Windows.
App Services Zpřístupněte služby na pozadí, které mohou využívat jiné aplikace, což umožňuje komunikaci mezi aplikacemi.

Návod

Pokud jste rozbalili a narazili na chyby E_ILLEGAL_METHOD_CALL nebo APPMODEL_ERROR_NO_PACKAGE při volání rozhraní API Windows, je to požadavek na identitu balíčku. Podívejte se na balení s externím umístěním (Sparse balení) jako na nejjednodušší řešení s nejnižším odporem.

Další informace najdete v tématu Funkce, které vyžadují identitu balíčku.

Stručný přehled balení modelů

Model Identita balíčku Instalátor Vhodné pro Store Nejvhodnější pro
Zabalené (MSIX) ✅ Ano MsiX nahrazuje instalační program. ✅ Ano (odeslání MSIX) Nové aplikace, publikování ve Storu, enterprise MDM
Balení s umístěním mimo standardní prostor ✅ Ano Váš stávající instalační program ✅ Ano (odeslání MSI/EXE) Existující aplikace s vlastním instalačním programem, nezávislí výrobci softwaru
Nebalené ❌ Ne Instalační program MSI nebo EXE (také: XCopy nebo skript pro distribuci mimo úložiště) ✅ Ano (odeslání MSI/EXE – vyžaduje instalační program MSI nebo EXE s podporou tiché instalace). Široká distribuce Win32, interní nástroje

Zabalené aplikace (MSIX)

Zabalené aplikace používají MSIX a mají identitu package, která se vyžaduje pro mnoho Windows bodů rozšiřitelnosti. Identita balíčku umožňuje Windows spolehlivě identifikovat volajícího rozhraní API platformy, což je důvod, proč na nich tyto funkce závisejí.

  • Zabalené aplikace se obvykle spouštějí v jednoduchém kontejneru aplikací s virtualizací systému souborů a registru (viz AppContainer pro starší aplikace a aplikace MSIX AppContainer).
  • Aplikace je také možné nakonfigurovat tak, aby se v kontejneru aplikací nespustí v případě potřeby.
  • MSIX se používá k balení i instalaci (viz Co je MSIX?).

Balení s externím umístěním (řídké balení)

Balíčky s externím umístěním (označované také jako řídké balíčky) umožňují zaregistrovat malý balíček identity vedle vaší stávající aplikace — bez změny vašeho instalačního programu, umístění binárního souboru nebo procesu aktualizace. Řešení bylo představeno ve verzi Windows 10 2004 (build 19041).

Ideální řešení pro stávající aplikace Win32/WPF (Windows Presentation Foundation)/WinForms, které se instalují prostřednictvím vlastního instalačního balíčku (NSIS, WiX, InstallShield atd.) a neplánují přechod na MSIX. Zaregistrujete jednoduchý balíček identity, binární soubory zůstanou tam, kde jsou, a odemknete úplnou sadu funkcí Windows s identitou balíčku.

Schopnost MSIX Externí umístění
Nahradí instalační program. Ano Ne
Binární soubory uvnitř balíčku Ano Ne (externí)
Vhodné pro Store Ano (odeslání MSIX) Ano (odeslání MSI/EXE)
Identita balíčku Ano Ano
Mechanismus aktualizace Aktualizace MSIX Váš stávající mechanismus

Úplný návod: Udělení identity balíčku zabalením s externím umístěním

Rozbalené aplikace

Rozbalené aplikace nepoužívají MSIX a nemají identitu balíčku, což znamená, že nemají přístup k výše uvedeným funkcím.

  • Zůstávají plně neomezené z hlediska rozhraní API, přístupu k systému souborů, přístupu k registru, zvýšení oprávnění a modelu procesu.
  • Instalace a aktualizace závisí na .exenasazení , .msivlastních instalačních programů, ClickOnce nebo xcopy.

Před rozhodnutím používat nebalenou verzi zkontrolujte výše uvedenou tabulku funkcí podle vašeho plánu. Pokud jsou oznámení, úlohy na pozadí nebo AI rozhraní API na obzoru, zvažte zahájení s balíčkovými řešeními.

Zvolit podle scénáře

Scénář Doporučený model Podrobnosti
Nezávislý vývojář publikující na Microsoft Store Doporučené zabalení (MSIX) MsiX je doporučená cesta – umožňuje aktualizace spravované storem, rozdílové stahování a čistou odinstalaci. Aplikace WinUI 3 jsou ve výchozím nastavení zabalené. Podepisování kódu se zpracovává zdarma ve Storu. Distribuujte balíčkovanou aplikaci

Aplikace Win32 s existujícím instalačním programem MSI nebo EXE mohou také publikovat do Storu prostřednictvím cesty odeslání MSI/EXE, ale Store nenasdílí aktualizace stávajícím uživatelům – aktualizace musí být zpracovány aplikací nebo instalačním programem.
Podniková aplikace nasazená prostřednictvím Intune nebo Správce konfigurace Zabalené nebo externí umístění pro existující instalační programy Nové aplikace by měly používat MSIX. Existující aplikace s vlastním instalačním programem můžou používat balení s externím umístěním. Podepisování kódu: použijte samopodepsaný certifikát (důvěryhodný prostřednictvím Intune, zásad skupiny nebo Správce konfigurace) nebo Azure Artifacts Signing (dříve Trusted Signing). → Nasazení zabalených aplikací
ISV distribuce přímé stažení s vlastním instalátorem Balení s vnějším umístěním Zaregistrujte balíček zjednodušené identity společně s existujícím instalačním programem. Podepisování kódu: Pro distribuci, která není úložištěm, se vyžaduje důvěryhodný certifikát certifikační autority. Podepisování artefaktů Azure (dříve Důvěryhodné podepisování) je doporučená možnost s nižšími náklady. → Identita balíčku grantu

Případně odešlete existující instalační program do Storu prostřednictvím cesty pro odeslání MSI/EXE.
Interní nástroj nebo vývojářský nástroj Nebalené Nejjednodušší sestavení a nasazení Windows App SDK funguje přes NuGet, ale některé funkce nebudou dostupné.

Návod

Nevíte jistě o nákladech na podepisování kódu? Publikování balíčku MSIX prostřednictvím obchodu Microsoft Store znamená, že nemusíte samostatně získávat ani spravovat certifikát pro důvěru koncových uživatelů — Microsoft balíček znovu podepisuje. Publikování Win32 MSI/EXE instalátoru prostřednictvím Storu vyžaduje řetězení certifikátů k certifikační autoritě v programu Microsoft Trusted Root; vlastnoručně podepsané certifikáty nejsou přijímány. U jiných distribučních cest závisí váš přístup k podepisování na kontextu nasazení – podniková prostředí můžou důvěřovat certifikátu podepsanému svým držitelem prostřednictvím správy zařízení, zatímco širší distribuce, která není úložištěm, obvykle vyžaduje řešení podepisování kódu důvěryhodné certifikační autority. Azure Podepisování artefaktů (dříve Důvěryhodné podepisování) je doporučená možnost od Microsoftu (viz ceny), bez nutnosti hardwarového tokenu.

Závislé na frameworku vs. samostatné nasazení

Nezávisle na modelu balení, aplikace využívající Windows App SDK si zvolí, jak se mají přenášet jejich runtime závislosti.

  • Závislý na frameworku: Spustitelný modul Windows App SDK musí být nainstalován na počítači uživatele. Menší nároky na aplikaci; spoléhá na to, že modul runtime je přítomný nebo automaticky nainstalovaný.
  • Samostatný: Všechny binární soubory Windows App SDK se dodávají s vaší aplikací. Větší prostorové nároky; není potřeba externí runtime. Vhodné pro uzamčená podniková prostředí.

Nasazení samostatných aplikací

Začněte s MSIX.

Pokud vytváříte desktopovou aplikaci Win32 (někdy označovanou jako desktopová aplikace classic desktopová aplikace) nebo .NET aplikace , včetně Windows Presentation Foundation (WPF (Windows Presentation Foundation)) a model Windows Forms (WinForms), můžete aplikaci zabalit a nasadit pomocí MSIX.

Další instalační technologie