Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Pakietowanie definiuje sposób instalowania, aktualizowania i integrowania twojej aplikacji z systemem Windows. Aplikacje WinUI 3 są domyślnie pakowane, podczas gdy wiele aplikacji desktopowych, takich jak tradycyjne aplikacje Win32, działa w stanie rozpakowanym. Wybór między spakowanym lub rozpakowanym aplikacją ma wpływ na funkcje, których można użyć, model wdrażania, na którym polegasz, oraz ogólne środowisko, z którego korzystają klienci.
Uwaga / Notatka
Czy utworzyć nową aplikację WinUI 3? Jesteś już domyślnie skonfigurowany. Poniższe wskazówki są najbardziej istotne dla deweloperów, którzy muszą dokonać wyraźnego wyboru — zazwyczaj podczas przenoszenia istniejącej aplikacji, wdrażania na maszynach przedsiębiorstwa lub dodawania Windows funkcji do aplikacji, która nie została pierwotnie spakowana.
Dlaczego pakowanie aplikacji ma znaczenie
Spakowane aplikacje korzystają z czystego modelu instalacji, aktualizacji automatycznych i dostępu do funkcji Windows, które wymagają tożsamości pakietu — w tym zadań w tle, powiadomień, rozszerzeń menu kontekstowego, udostępniania elementów docelowych i innych punktów rozszerzalności. Pakowanie pomaga również zapewnić czystsze wdrożenia, niezawodne aktualizacje i usprawnioną dystrybucję za pośrednictwem kanałów, takich jak Microsoft Store i narzędzia wdrażania w przedsiębiorstwie.
Funkcje wymagające tożsamości pakietu
Te funkcje Windows działają tylko w aplikacjach, które mają tożsamość pakietu — za pośrednictwem pełnego pakietu MSIX lub pakowania z lokalizacją zewnętrzną (pakowanie rozproszone).
| Funkcja | Opis |
|---|---|
| zadania w tle | Uruchom kod, gdy aplikacja nie znajduje się na pierwszym planie — na przykład w celu synchronizowania danych, przetwarzania pobierania lub reagowania na zdarzenia systemowe. |
| Windows API sztucznej inteligencji (Phi Silica, OCR itp.) | Uzyskaj dostęp do funkcji sztucznej inteligencji na urządzeniu, takich jak lokalne modele językowe, rozpoznawanie tekstu i analiza obrazów. |
| Powiadomienia push (WNS) | Otrzymywanie powiadomień w czasie rzeczywistym z usługi w chmurze za pośrednictwem usługi Windows Notification Service. |
| Cel udostępniania | Pozwól użytkownikom na udostępnianie treści z innych aplikacji bezpośrednio do Twojej za pomocą systemowego arkusza udostępniania. |
| Niestandardowe rozszerzenia menu kontekstowego | Dodaj akcje aplikacji do menu prawym przyciskiem myszy w Eksploratorze plików i innych powierzchniach powłoki. |
| Skojarzenia typu pliku i protokołu | Zarejestruj aplikację jako obsługę dla określonych typów plików lub protokołów identyfikatora URI (np. yourapp://). |
| Zadania uruchamiania | Uruchom aplikację automatycznie, gdy użytkownik zaloguje się do Windows. |
| App Services | Udostępnianie usług działających w tle, z których mogą korzystać inne aplikacje, co umożliwia komunikację między nimi. |
Wskazówka
Jeśli rozpakujesz pakiet i napotkasz E_ILLEGAL_METHOD_CALL lub APPMODEL_ERROR_NO_PACKAGE błędy podczas wywoływania interfejsów API Windows, jest to wymaganie dotyczące tożsamości pakietu. Zobacz pakowanie z lokalizacją zewnętrzną (pakowanie rozproszone) jako rozwiązanie o najmniejszym stopniu trudności.
Aby uzyskać więcej informacji, zobacz Funkcje wymagające tożsamości pakietu.
Przegląd opakowań modeli
| Model | Tożsamość pakietu | Program instalacyjny | Nadające się do przechowywania | Najlepsze dla |
|---|---|---|---|---|
| Spakowane (MSIX) | ✅ Tak | Instalator MSIX zastępuje dotychczasowy instalator | ✅ Tak (przesyłanie MSIX) | Nowe aplikacje, publikowanie w Sklepie, zarządzanie mobilnością w przedsiębiorstwach |
| Pakowanie z lokalizacją zewnętrzną | ✅ Tak | Twój istniejący instalator | ✅ Tak (przesyłanie pliku MSI/EXE) | Istniejące aplikacje z własnym instalatorem, niezależni dostawcy oprogramowania (ISV) |
| Rozpakowywanie | ❌ Nie | Instalator MSI lub EXE (również: XCopy lub skrypt dla dystrybucji poza Store) | ✅ Tak (przesyłanie pliku MSI/EXE — wymaga instalatora MSI lub EXE z obsługą instalacji dyskretnej) | Szeroka dystrybucja Win32, narzędzia wewnętrzne |
Spakowane aplikacje (MSIX)
Spakowane aplikacje używają MSIX i mają tożsamość pakietu, która jest wymagana dla wielu punktów rozszerzalności Windows. Tożsamość pakietu umożliwia niezawodne identyfikowanie wywołującego interfejsów API platformy przez Windows, dlatego funkcje te zależą od niego.
- Aplikacje spakowane są zwykle uruchamiane w uproszczonym kontenerze aplikacji z systemem plików i wirtualizacją rejestru (zobacz AppContainer dla starszych aplikacji i aplikacji MSIX AppContainer).
- Aplikacje można również skonfigurować , aby nie uruchamiać ich w kontenerze aplikacji w razie potrzeby.
- Plik MSIX jest używany zarówno do tworzenia pakietów, jak i instalacji (zobacz Co to jest MSIX?).
Pakowanie z lokalizacją zewnętrzną (opakowanie zewnętrzne)
Pakowanie z lokalizacją zewnętrzną (nazywaną również sparse packages) umożliwia zainstalowanie małego pakietu tożsamości obok istniejącej aplikacji — bez zmiany instalatora, lokalizacji binarnych lub procesu aktualizacji. Wprowadzono go w wersji Windows 10 2004 (kompilacja 19041).
Jest to optymalny punkt dla istniejących aplikacji Win32/WPF/WinForms, które są dostarczane za pośrednictwem własnego instalatora (NSIS, WiX, InstallShield itp.) i nie chcą zastępować go plikiem MSIX. Rejestrujesz lekki pakiet tożsamości, pliki binarne pozostają tam, gdzie są, i odblokowujesz pełny zestaw funkcji Windows ograniczonych tożsamością pakietu.
| Zdolność | MSIX | Lokalizacja zewnętrzna |
|---|---|---|
| Zastępuje instalatora | Yes | Nie. |
| Pliki binarne wewnątrz pakietu | Yes | Nie (zewnętrzne) |
| Nadające się do przechowywania | Tak (zgłoszenie MSIX) | Tak (przesyłanie pliku MSI/EXE) |
| Tożsamość pakietu | Yes | Yes |
| Mechanizm aktualizacji | Aktualizacja MSIX | Twój istniejący mechanizm |
→ pełny przewodnik: udzielanie tożsamości pakietu przez pakowanie z lokalizacją zewnętrzną
Rozpakowane aplikacje
Aplikacje rozpakowane nie używają pliku MSIX i nie mają tożsamości pakietu, co oznacza, że nie mogą uzyskać dostępu do funkcji wymienionych powyżej.
- Pozostają one w pełni nieograniczone pod względem powierzchni interfejsu API, dostępu do systemu plików, dostępu do rejestru, podnoszenia uprawnień i modelu procesów.
- Instalacja i aktualizacje polegają na
.exe,.msiinstalatorach niestandardowych, technologii ClickOnce lub wdrożeniu xcopy.
Przed zatwierdzeniem rozpakowywania sprawdź tabelę funkcji powyżej zgodnie z planem. Jeśli powiadomienia, zadania w tle lub API AI znajdują się na horyzoncie, rozważ rozpoczęcie od rozwiązania pakietowego.
Wybieranie według scenariusza
| Scenario | Zalecany model | Szczegóły |
|---|---|---|
| Niezależny deweloper publikujący w Microsoft Store | Zalecane pakiety (MSIX) | MSIX jest zalecaną ścieżką — umożliwia aktualizacje zarządzane przez Sklep, pobieranie różnicowe i czyste usuwanie. Aplikacje WinUI 3 są domyślnie pakowane. Podpisywanie kodu jest obsługiwane bezpłatnie przez Sklep. → Dystrybuowanie spakowanej aplikacji Aplikacje Win32 z istniejącym instalatorem MSI lub EXE mogą również być publikowane w Sklepie za pośrednictwem ścieżki przesyłania MSI/EXE, ale Sklep nie przesyła aktualizacji do istniejących użytkowników — aktualizacje muszą być zarządzane przez samą aplikację lub instalator. |
| Aplikacja dla przedsiębiorstw wdrożona za pośrednictwem usługi Intune lub Configuration Manager | Spakowana lub zewnętrzna lokalizacja istniejących instalatorów | Nowe aplikacje powinny używać pliku MSIX. Istniejące aplikacje z własnym instalatorem mogą korzystać z opakowań z zewnętrzną lokalizacją. Podpisywanie kodu: użyj certyfikatu z podpisem własnym (zaufanego za pośrednictwem usługi Intune, zasad grupy lub Configuration Manager) lub Azure Artifact Signing (wcześniej Trusted Signing). → Wdrażanie spakowanych aplikacji |
| ISV dostarczający bezpośrednie pobieranie z własnym instalatorem | Opakowanie z zewnętrzną lokalizacją | Zarejestruj uproszczony pakiet tożsamości obok istniejącego instalatora.
Podpisywanie kodu: certyfikat zaufany przez CA jest wymagany w przypadku dystrybucji poza sklepem.
Podpisywanie artefaktów w Azure (wcześniej Zaufane Podpisywanie) jest zalecaną tańszą opcją.
Przyznaj tożsamość pakietu Możesz też przesłać istniejący instalator do Sklepu przez ścieżkę przesyłania MSI/EXE. |
| Narzędzie wewnętrzne lub narzędzie deweloperskie | Nieopakowany | Najprostsze kompilowanie i wdrażanie. Zestaw SDK do aplikacji systemu Windows działa za pośrednictwem narzędzia NuGet, ale niektóre funkcje nie będą dostępne. |
Wskazówka
Nie masz pewności co do kosztów podpisywania kodu? Publikowanie pakietu MSIX za pośrednictwem Microsoft Store oznacza, że nie musisz oddzielnie uzyskiwać certyfikatu zaufania użytkowników końcowych ani zarządzać nim — Microsoft ponownie podpisuje pakiet. Publikowanie instalatora Win32 MSI/EXE za pośrednictwem Sklepu wymaga zbudowania łańcucha certyfikatów połączonego z urzędem certyfikacji w Microsoft Trusted Root Program; samopodpisany certyfikat nie jest akceptowany. W przypadku innych ścieżek dystrybucji podejście podpisywania zależy od kontekstu wdrożenia — środowiska przedsiębiorstwa mogą ufać certyfikatowi z podpisem własnym za pośrednictwem zarządzania urządzeniami, podczas gdy szersza dystrybucja poza Sklepem zwykle wymaga rozwiązania do podpisywania kodu zaufanego przez urząd CA. Azure Podpisywanie artefaktów (wcześniej Zaufane Podpisywanie) jest zalecaną przez Microsoft opcją (zobacz cennik), bez wymaganego tokenu sprzętowego.
Wdrożenie zależne od platformy a samodzielne
Niezależnie od modelu pakowania aplikacje korzystające z Zestaw SDK do aplikacji systemu Windows wybierają sposób przenoszenia zależności środowiska uruchomieniowego:
- Zależne od frameworka: Środowisko uruchomieniowe Zestaw SDK do aplikacji systemu Windows musi być zainstalowane na komputerze użytkownika. Mniejszy rozmiar aplikacji; wymaga obecności środowiska uruchomieniowego lub jego automatycznej instalacji.
- Self-contained: Wszystkie pliki binarne Zestaw SDK do aplikacji systemu Windows są dostarczane z aplikacją. Większy rozmiar; brak wymagań dotyczących zewnętrznego środowiska uruchomieniowego. Dobre dla zablokowanych środowisk przedsiębiorstwa.
→ Wdrażanie samodzielnych aplikacji
Rozpocznij korzystanie z MSIX
Jeśli tworzysz aplikację klasyczną Win32 (czasami nazywaną klasyczną aplikacją klasyczną) lub aplikacją .NET — w tym Windows Presentation Foundation (WPF) i Windows Forms (WinForms) — możesz spakować i wdrożyć aplikację przy użyciu pliku MSIX.
- Utwórz pakiet MSIX z istniejącego instalatora
- Zbuduj pakiet MSIX z kodu źródłowego
- Zarządzanie wdrożeniem MSIX
Inne technologie instalacji
- instalacja i obsługa aplikacji
- Instalator Windows
- Omówienie publikowania aplikacji .NET
- Wdrażanie .NET Framework i aplikacji
- Wdrażanie aplikacji WPF
- Wdrażanie ClickOnce w Windows Forms