Wybieranie ścieżki dystrybucji dla aplikacji Windows

Sposób dystrybucji aplikacji Windows wpływa na koszty podpisywania kodu, mechanikę aktualizacji, możliwości zarządzania przedsiębiorstwem oraz sposób łatwego odnajdywania i instalowania aplikacji przez klientów. W tym artykule porównaliśmy główne ścieżki ułatwiające dokonanie właściwego wyboru.

Wskazówka

W przypadku większości deweloperów zalecaną ścieżką jest Microsoft Store. Zapewnia szerokie możliwości odkrywania, zaufane środowisko instalacji i brak infrastruktury do zarządzania przesyłaniem MSIX (Microsoft ponownie podpisuje i hostuje pakiet). Przesyłanie instalatora Win32 MSI/EXE jest również akceptowane — wydawca musi hostować wersjonowany adres URL instalatora HTTPS — zobacz Przesyłanie aplikacji MSI/EXE. Zgłoszenia MSIX umożliwiają bezpłatne podpisywanie kodu i wbudowane dostarczanie aktualizacji.

Uwaga / Notatka

Jeśli Twoja aplikacja została zbudowana w oparciu o technologie internetowe (HTML, JavaScript, CSS), Progressive Web App (PWA) jest najszybszą drogą do Microsoft Store — nie są wymagane natywne narzędzia opakowania.

Ścieżki dystrybucji w skrócie

Path Najlepsze dla Koszt podpisywania kodu Automatyczna aktualizacja Enterprise MDM Dystrybuowane za pośrednictwem sklepu
Microsoft Store (MSIX) Aplikacje konsumenckie i biznesowe, szeroki zasięg ✅ Bezpłatnie (Sklep ponownie podpisuje pakiet) ✅ Wbudowane ✅ za pomocą usługi Intune i aplikacji Portal firmy ✅ Tak
Microsoft Store (instalator MSI/EXE) Istniejące aplikacje Win32 z własnym instalatorem 💲 Publisher musi podpisać instalatora i wszystkie pliki PE certyfikatem, który jest częścią łańcucha Microsoft Trusted Root Program ❌ Ręczne (aplikacja lub instalator obsługuje aktualizacje) ✅ za pomocą usługi Intune i aplikacji Portal firmy ✅ Tak
PWA (progresywna aplikacja internetowa) Aplikacje internetowe i środowiska internetowe ✅ Bezpłatne (znaki sklepu dla Ciebie) ✅ Za pośrednictwem sklepu lub przeglądarki ✅ za pomocą usługi Intune i aplikacji Portal firmy ✅ Tak
Ładowanie bezpośrednie MSIX (przedsiębiorstwo) Wewnętrzne aplikacje biznesowe za pośrednictwem usługi Intune/programu ConfigMgr 💲 Azure Podpisywanie artefaktów (wcześniej Trusted Signing) (ok. $10/mies.) lub podpis własny + profil certyfikatu usługi Intune ✅ Za pośrednictwem pliku Instalatora aplikacji lub rozwiązania MDM ✅ Ojczysty ❌ Nie
Bezpośrednie pobieranie MSIX (ISV) Aplikacje komercyjne sprzedawane z własnej witryny 💲 wymagany certyfikat zaufany przez urząd certyfikacji (Azure Podpisywanie artefaktów (wcześniej zaufane podpisywanie) zalecane) ✅ Za pośrednictwem .appinstaller pliku ⚠✔ Ograniczone ❌ Nie
Pakowanie z lokalizacją zewnętrzną Istniejące aplikacje z własnym instalatorem, które wymagają Windows funkcji 💲 Tak samo jak pobieranie bezpośrednie MSIX ✅ Istniejący mechanizm ⚠✔ Ograniczone ⚠ Poprzez przesyłanie aplikacji do sklepu MSI/EXE (wymagane podpisanie przez wydawcę)
Rozpakowany pakiet WinUI 3 Nisza: przedsiębiorstwo bez możliwości MSIX lub maksymalna prostota instalacji 💲 Certyfikat zalecany dla SmartScreen ❌ Tylko ręczne ⚠ Ograniczone (za pośrednictwem wdrożenia Win32 programu Intune/ConfigMgr) ⚠️ Za pośrednictwem przesyłania przez sklep MSI/EXE (wymagane podpisanie przez wydawcę)

Publikowanie w Microsoft Store jest najbardziej kompletnym rozwiązaniem dystrybucji dla aplikacji Windows. Dostępne są dwie ścieżki przesyłania:

  • Przesyłanie pliku MSIX — zalecane w przypadku nowych aplikacji i aplikacji WinUI 3. Microsoft ponownie podpisuje pakiet; nie jest potrzebny zakup certyfikatu. Obejmuje aktualizacje zarządzane przez Sklep, etapowe wdrożenia i różnicowe pobierania.
  • Przesyłanie instalatora MSI/EXE — w przypadku istniejących aplikacji Win32 z własnym instalatorem. Publisher przesyła wersjonowany adres URL HTTPS do instalatora hostowanego we własnej sieci CDN wydawcy; Sklep pobiera i uruchamia instalatora z tego adresu URL jako część procesu instalacji Sklepu. Publisher musi podpisać instalatora certyfikatem, który łączy się z urzędem certyfikacji (CA) w ramach Microsoft Trusted Root Program. Odpowiedzialność za aktualizacje spoczywa na aplikacji.

Co otrzymujesz (obie ścieżki):

  • Odnajdywanie za pomocą wyszukiwania i wyselekcjonowanych kolekcji sklepu
  • Zaufany interfejs użytkownika instalacji
  • Uwzględnione przetwarzanie przychodów, zwroty kosztów i analiza
  • Wdrażanie w przedsiębiorstwie za pośrednictwem usługi Intune z Portal firmy

Wymagania:

  • MSIX jest zalecanym formatem pakietu — aplikacje WinUI 3 są domyślnie pakowane. Aplikacje Win32 z istniejącym instalatorem MSI lub EXE mogą również być przesyłane za pośrednictwem ścieżki instalatora MSI/EXE (uwaga: przesyłanie pliku MSI/EXE wymaga łączenia certyfikatów z urzędem certyfikacji należącym do Microsoft Trusted Root Program — certyfikaty samopodpisane nie są akceptowane; aktualizacje zarządzane przez Microsoft Store nie są dostępne dla tej ścieżki).
  • Aplikacja musi spełniać wymagania dotyczące certyfikacji ze sklepu: wymagania MSIX | wymagania MSI/EXE
  • Wymagane konto dewelopera (Centrum partnerskie)

Kiedy należy to wybrać:

  • Aplikacja jest przeznaczona dla szerokiego grona użytkowników, w tym konsumentów i użytkowników biznesowych.
  • Potrzebujesz najprostszej możliwej infrastruktury dystrybucji
  • Tworzysz nową aplikację WinUI 3 (aplikacja jest już spakowana — teraz wystarczy przesłać)

Publish do Microsoft Store

Progresywna aplikacja internetowa (PWA)

Jeśli Twoja aplikacja jest witryną internetową lub oparta głównie na technologiach webowych, Progressive Web App to najszybsza ścieżka do Microsoft Store — bez potrzeby używania narzędzi do natywnego pakowania ani zakupu podpisywania kodu.

PwA to aplikacja internetowa, którą przeglądarki mogą instalować jako autonomiczną aplikację. Może działać w trybie offline, wysyłać powiadomienia push, pojawiać się w menu Start i na pasku zadań oraz być dystrybuowane za pośrednictwem Sklepu Microsoft. Użyj programu PWABuilder, aby spakować witrynę na potrzeby przesyłania do sklepu w ciągu kilku minut.

Co otrzymujesz:

  • Dystrybucja za pośrednictwem sklepu z darmowym podpisywaniem kodu (sklep podpisuje pakiet)
  • Działa na dowolnym urządzeniu z nowoczesną przeglądarką
  • Nie jest konieczne ręczne przygotowanie MSIX, WiX lub instalatora — narzędzia takie jak PWABuilder generują pakiet przesyłania do sklepu dla Ciebie.
  • Wbudowane dostarczanie aktualizacji — użytkownicy zawsze uzyskują najnowszą zawartość internetową (aktualizacje zawartości hostowanej bez ponownego przesłania sklepu)

Wymagania:

Limitations:

  • Głębokie natywne interfejsy API Windows (dostęp do systemu plików, integracja sprzętu niewymagająca korzystania z internetowych interfejsów API) nie są dostępne bez dodatkowych połączeń.
  • Logika aplikacji działa w kontekście internetowym — nie nadaje się do aplikacji, które wymagają natywnych interfejsów API .NET, C++lub WinRT

Kiedy należy to wybrać:

  • Aplikacja jest aplikacją internetową, narzędziem SaaS lub witryną zawartości, którą chcesz zainstalować
  • Potrzebujesz najszybszej ścieżki do Sklepu z minimalnymi narzędziami
  • Nowoczesne Web API spełniają wymagania dotyczące funkcji

Przegląd progresywnych aplikacji internetowych
Opublikuj PWA w Microsoft Store za pomocą PWABuilder

Sideloading MSIX — dystrybucja LOB w przedsiębiorstwie

W przypadku wewnętrznych aplikacji biznesowych, które będą wdrażane na urządzeniach zarządzanych za pośrednictwem Microsoft Intune lub Configuration Manager, zalecanym rozwiązaniem jest sideloading MSIX.

Co otrzymujesz:

  • Dyskretna instalacja i aktualizacja poprzez zasady MDM
  • Integracja z zarządzaniem urządzeniami w przedsiębiorstwie (Intune, ConfigMgr)
  • Pełna tożsamość pakietu i dostęp do funkcji Windows (powiadomień, zadań w tle itp.)

Podpisywanie kodu:

  • Użyj Azure Artifact Signing (wcześniej Trusted Signing) (~$10/miesiąc) dla certyfikatu zaufanego urzędu certyfikacji lub
  • Użyj samopodpisanego certyfikatu wdrożonego na urządzeniach końcowych za pośrednictwem profili Zaufanych Certyfikatów usługi Intune.

Wymagania:

  • Urządzenia docelowe muszą ufać certyfikatowi podpisywania (za pośrednictwem rozwiązania MDM lub zasad grupy)
  • Ładowanie bezpośrednie musi być dozwolone na urządzeniach docelowych (domyślnie włączone w Windows 10 w wersji 2004 lub nowszej i wszystkich urządzeniach Windows 11)

Kiedy należy to wybrać:

  • Rozpowszechnianie aplikacji wewnętrznej na urządzeniach zarządzanych przez firmę
  • Masz zespół IT, który może skonfigurować zaufanie do certyfikatów za pośrednictwem usługi Intune lub zasad grupy

wdrażanie aplikacji MSIX za pomocą usługi Intune
Wdrażaj aplikacje MSIX z „Configuration Manager”

Pobieranie bezpośrednie MSIX — niezależnego dostawcy oprogramowania i aplikacji komercyjnych

W przypadku aplikacji komercyjnych sprzedawanych bezpośrednio z witryny internetowej (a nie za pośrednictwem Sklepu) można dystrybuować pakiety MSIX za pomocą .appinstaller pliku na potrzeby obsługi automatycznej aktualizacji.

Co otrzymujesz:

  • Znane środowisko instalacji za pośrednictwem Instalatora aplikacji
  • Obsługa automatycznej aktualizacji za pośrednictwem .appinstaller pliku (hostowanego na serwerze)
  • Pełna tożsamość pakietu i dostęp do funkcji Windows
  • Kontrola nad własnym kanałem dystrybucji i cennikiem

Podpisywanie kodu:

  • Do instalacji pakietów MSIX wymagany jest certyfikat podpisywania kodu zaufany przez urząd certyfikacji — użytkownicy nie mogą instalować niepodpisanych lub samopodpisanych pakietów MSIX bez ręcznego zaufania certyfikatowi.
  • Azure Podpisywanie artefaktów (wcześniej zaufane podpisywanie) (~$10/miesiąc) jest zalecaną opcją przez Microsoft. Nie jest wymagany token sprzętowy, integruje się z potokami CI/CD.
  • Tradycyjne certyfikaty OV są również akceptowane (zazwyczaj 150–300 USD rocznie od organizacji certyfikującej)

SmartScreen: Nowe certyfikaty z czasem gromadzą reputację SmartScreen na podstawie wolumenu pobierania. Oczekuj monitów filtru SmartScreen dla nowych wersji. Zobacz reputację SmartScreen dla deweloperów aplikacji Windows.

Ważna

ms-appinstaller: Protokół URI (instalacja przeglądarki jednym kliknięciem) jest domyślnie wyłączony od grudnia 2023 r. Zalinkuj bezpośrednio do pliku .appinstaller w celu pobrania lub rozważ opublikowanie w Sklepie dla szerszego zasięgu. Zobacz Bieżny stan funkcji dystrybucji aplikacji Windows.

Kiedy należy to wybrać:

  • Jesteś niezależnym dostawcą sprzedającym oprogramowanie bezpośrednio na swojej stronie internetowej
  • Potrzebujesz kontroli nad środowiskiem użytkownika instalatora, ceną lub licencjonowaniem, które sklep nie obsługuje
  • Twoi klienci to firmy, które nabywają oprogramowanie poza Sklepem

Omówienie pliku instalatora aplikacji
automatyczne aktualizowanie i naprawianie aplikacji

Pakietowanie z lokalizacją zewnętrzną (pakiet rozrzedzony)

Jeśli masz istniejącą aplikację z własnym instalatorem (WiX, NSIS, InstallShield) i chcesz dodać funkcje Windows, które wymagają tożsamości pakietu — bez zastępowania instalatora plikiem MSIX — użyj pakietu z lokalizacją zewnętrzną.

Co otrzymujesz:

  • Tożsamość pakietu bez zmieniania lokalizacji instalacyjnych lub lokalizacji binarnych
  • Dostęp do funkcji Windows: powiadomienia, zadania w tle, skojarzenia typów plików, programy obsługi protokołów
  • Istniejący mechanizm instalacji i aktualizacji pozostaje w miejscu

Czego nie otrzymujesz:

  • Bezpośrednie przesyłanie do sklepu MSIX (pakiet zredukowany nie jest przesyłany do sklepu; jednak podstawowy instalator może zostać przesłany za pośrednictwem ścieżki instalatora MSI/EXE Store)
  • Czysty model instalacji/odinstalowywania pełnego MSIX

Kiedy należy to wybrać:

  • Masz istniejącą aplikację Win32/WPF/WinForms z ustalonym instalatorem
  • Potrzebujesz określonych funkcji interfejsu API Windows, które wymagają tożsamości pakietu
  • Migrowanie w pełni do MSIX nie jest obecnie możliwe

nadanie tożsamości pakietu przez zapakowanie z lokalizacją zewnętrzną

Rozpakowany pakiet WinUI 3

Rozpakowana dystrybucja usuwa plik MSIX z obrazu całkowicie — aplikacja jest uruchamiana bezpośrednio z folderu bez manifestu pakietu. Jest to opcja niszowa odpowiednia dla konkretnych scenariuszy.

Co otrzymujesz:

  • Prostsze dane wyjściowe kompilacji (folder plików, bez narzędzi MSIX)
  • Brak wymaganej infrastruktury MSIX na maszynach docelowych
  • Działa na maszynach, na których ładowanie bezpośrednie MSIX nie jest włączone

Limitations:

  • Brak pojedynczego pliku EXE — środowisko uruchomieniowe Zestaw SDK do aplikacji systemu Windows musi być dostarczane jako osobne pliki towarzyszące plikowi wykonywalnemu
  • Wdrożenie Runtime — należy powiązać instalatora środowiska uruchomieniowego Zestaw SDK do aplikacji systemu Windows lub użyć wdrożenia samodzielnego (większy plik wyjściowy)
  • Brak tożsamości pakietu — brak aktualizacji automatycznych, brak zadań w tle, brak skojarzeń typu pliku za pośrednictwem manifestu
  • Brak przesyłania do Sklepu z tożsamością pakietu MSIX — ten model nie ma tożsamości pakietu i nie można go przesłać do Sklepu jako pakiet MSIX. Tradycyjny instalator (MSI/EXE) można przesłać oddzielnie, ale znajduje się poza tą ścieżką dystrybucji.
  • Ostrzeżenia filtru SmartScreen, chyba że są podpisane przy użyciu certyfikatu uwierzytelnionego przez zaufany urząd certyfikacji.

Kiedy należy to wybrać:

  • Środowisko docelowe nie może używać pliku MSIX (rzadko; większość zarządzanych środowisk przedsiębiorstwa obsługuje plik MSIX)
  • Tworzysz narzędzie wewnętrzne, w którym obciążenie MSIX nie jest uzasadnione

W przypadku większości aplikacji WinUI 3, MSIX (za pośrednictwem Sklepu lub bezpośrednie pobieranie) jest lepszą ścieżką. Powyższe ograniczenia często zaskakują deweloperów, którzy odkrywają je po zainwestowaniu w nieopakowaną dystrybucję.

dystrybuowanie rozpakowanej aplikacji WinUI 3 — przewodnik krok po kroku z opcjami wdrażania środowiska uruchomieniowego

Wiele aplikacji Windows jest dystrybuowanych przy użyciu technologii ClickOnce, MSI, WiX, Inno Setup lub podobnych. Są to uznane i wspierane opcje, szczególnie w przypadku aplikacji, które nie mogą używać MSIX lub nie wymagają dystrybucji za pośrednictwem Sklepu. Poniższa tabela zawiera podsumowanie typowych opcji i ich kompromisów.

Metoda Automatyczna aktualizacja Wymagane jest podpisywanie kodu Nadające się do przechowywania Najlepsze dla
MSIX za pośrednictwem sklepu ✅ Wbudowane ✅ Bezpłatna (znaki sklepu) ✅ Tak Większość aplikacji — zalecany punkt początkowy
MSIX + .appinstaller ✅ Wbudowane 💲 Certyfikat zaufany przez CA ❌ Nie Niezależni dostawcy oprogramowania dystrybuują bezpośrednio ze swojej strony internetowej.
ClickOnce ✅ Wbudowane 💲 Zalecane certyfikaty ❌ Nie aplikacje WPF/WinForms; nieobsługiwane w przypadku interfejsu WinUI 3
Instalator MSI/WiX/Inno ⚠ Ręczne lub niestandardowe 💲 Zalecane certyfikaty ⚠️ Za pośrednictwem przesłania pliku MSI/EXE Store (patrz poniżej) Aplikacje ze złożonymi wymaganiami instalacji lub istniejącym instalatorem
Samodzielny plik EXE (xcopy/zip) ❌ Żaden 💲 Zalecane certyfikaty ❌ Nie Proste narzędzia; odbiorcy: deweloperzy i zaawansowani użytkownicy
manifest winget ✅ Za pomocą winget 💲 Zalecane certyfikaty ❌ Nie Dowolny z powyższych — dodaje odnajdywalność za pomocą polecenia winget install

ClickOnce

ClickOnce to technologia wdrażania .NET wbudowana w Visual Studio. Hostuje manifest na serwerze internetowym lub udziale plików; użytkownicy instalują się korzystając z adresu URL manifestu, a aplikacja ClickOnce sprawdza aktualizacje podczas uruchamiania. Jest to dobre rozwiązanie dla aplikacji WPF i WinForms dystrybuowanych do znanej bazy użytkowników.

Technologia ClickOnce nie jest obsługiwana w przypadku aplikacji WinUI 3. Użyj MSIX z .appinstaller do bezpośredniej dystrybucji WinUI 3.

zabezpieczeń i wdrażania technologii ClickOnce

Msi, WiX, Inno Setup i NSIS

Tradycyjne instalatory EXE i MSI pozostają powszechne w przypadku aplikacji Windows ze złożonymi wymaganiami dotyczącymi instalacji (instalacja sterowników, usługi systemowe, konfiguracja rejestru). Narzędzia, takie jak zestaw narzędzi WiX, Instalacja Inno i NSIS , są obsługiwane przez społeczność i szeroko używane. Obsługa aktualizacji wymaga własnej implementacji.

Te formaty nie są kwalifikujące się do umieszczenia w Sklepie jako pakiety MSIX, ale można je przesłać do Sklepu za pośrednictwem ścieżki instalatora MSI/EXE (wymaga łączenia certyfikatów z urzędem certyfikacji w programie Microsoft Trusted Root i instalatora obsługującego instalację dyskretną). Można je również połączyć z pakietem z lokalizacją zewnętrzną, jeśli potrzebujesz identyfikacji pakietu dla określonych funkcji Windows.

Samodzielny plik EXE (wdrożenie przez xcopy)

dotnet publish --self-contained tworzy folder plików (lub plik EXE pojedynczego pliku), który użytkownicy mogą uruchamiać bez instalowania .NET. Jest to najprostszy model dystrybucji, ale wymaga od użytkowników ręcznego pobrania nowej wersji. Pasuje do narzędzi wiersza poleceń, narzędzi deweloperskich i aplikacji dla zaawansowanych użytkowników.

winget — dodawanie łatwości odnajdywania do każdej ścieżki dystrybucji

Niezależnie od formatu pakowania można przesłać manifest do repozytorium Windows Menedżer pakietów Community Repository aby aplikacja mogła być zainstalowana za pośrednictwem winget install <your-app>. Nie zastępuje to istniejącej metody dystrybucji — dodaje ścieżkę instalacji z wiersza poleceń wartościową dla deweloperów i odbiorców technicznych.