Udostępnij za pośrednictwem


Przewodnik wdrażania zestawu SDK aplikacji systemu Windows dla aplikacji zależnych od platformy

Ten artykuł zawiera wskazówki dotyczące wdrażania spakowanych aplikacji zależnych od platformy (zobacz Co to jest MSIX?) korzystających z zestawu SDK aplikacji systemu Windows. Równoważnym tematem dla innych opcji pakietowania zależnych od platformy jest przewodnik wdrażania zestawu SDK aplikacji systemu Windows dla aplikacji zależnych od platformy, zapakowanych z lokalizacją zewnętrzną lub rozpakowanych.

Przegląd

Domyślnie podczas tworzenia projektu przy użyciu jednego z szablonów WinUI 3 w programie Visual Studio, Twój projekt jest konfigurowany do kompilowania aplikacji w pakiecie MSIX przy użyciu pojedynczego projektu MSIX (zobacz Pakowanie aplikacji przy użyciu pojedynczego projektu MSIX) lub projektu pakietowania aplikacji systemu Windows (zobacz Konfigurowanie aplikacji klasycznej do tworzenia pakietów MSIX w programie Visual Studio). Następnie możesz skompilować pakiet MSIX dla aplikacji, korzystając z instrukcji w temacie Pakiet aplikacji klasycznych lub UWP w programie Visual Studio. Po utworzeniu pakietu MSIX dla aplikacji masz kilka opcji Zarządzanie wdrożeniem MSIX.

Aby dowiedzieć się więcej o pakietach, których może potrzebować spakowana aplikacja w przypadku korzystania z zestawu SDK aplikacji systemu Windows, zobacz Architektura wdrażania zestawu SDK aplikacji systemu Windows. Należą do nich pakiety Framework, Maini Singleton; które są podpisane i opublikowane przez firmę Microsoft. Istnieją dwa główne wymagania dotyczące wdrażania spakowanej aplikacji:

  1. Wdrażanie pakietu zestawu SDK aplikacji systemu Windows.
  2. wywołaj interfejs API wdrażania.

Warunki wstępne

Wdrażanie pakietu frameworka Zestawu SDK aplikacji Windows

Pakiet Zestawu SDK aplikacji Windows zawiera pliki binarne zestawu SDK aplikacji Windows używane w czasie działania i jest instalowany razem z aplikacją. Platforma ma różne wymagania dotyczące wdrażania dla różnych kanałów zestawu SDK aplikacji systemu Windows.

Stabilna wersja

Podczas instalacji stabilnej wersji (zobacz informacje o wersji stabilnego kanału) pakietu NuGet Windows App SDK na twoim komputerze deweloperskim i tworzenia projektu, używając jednego z dostarczonych szablonów projektów WinUI 3, wygenerowany manifest pakietu zawiera element PackageDependency, który określa zależność od pakietu frameworku.

Jeśli jednak tworzysz pakiet aplikacji ręcznie przy użyciu oddzielnego projektu tworzenia pakietów aplikacji systemu Windows, musisz zadeklarować PackageReference w pliku Application (package).wapproj, tak jak poniżej:

<ItemGroup>
   <PackageReference Include="Microsoft.WindowsAppSDK" Version="1.0.1">
       <IncludeAssets>build</IncludeAssets>
   </PackageReference>
</ItemGroup>

Ta zależność pakietu gwarantuje, że pakiet framework jest instalowany po wdrożeniu aplikacji na innym komputerze.

Wersja zapoznawcza

Podczas instalowania wersji zapoznawczej (zobacz informacje o wersji kanału preview) pakietu NuGet zestawu SDK aplikacji systemu Windows na komputerze dewelopera wersja zapoznawcza pakietu zestawu SDK aplikacji systemu Windows jest wdrażana w czasie kompilacji jako zależność pakietu NuGet.

Wywołaj interfejs API wdrażania

Zobacz również Inicjowanie zestawu SDK aplikacji systemu Windows.

Interfejs API wdrażania jest dostarczany przez pakiet platformy Windows App SDK i jest dostępny w przestrzeni nazw Microsoft.Windows.ApplicationModel.WindowsAppRuntime. Model aplikacji systemu Windows nie obsługuje deklarowania zależności od pakietów Main i Singleton. Dlatego interfejs API wdrażania jest wymagany z następujących powodów:

  1. Aby wdrożyć pakiet Singleton dla funkcji, które nie znajdują się w pakiecie Framework (na przykład powiadomienia push).
  2. Aby wdrożyć pakiet Main, który umożliwia automatyczne aktualizacje pakietu framework ze Sklepu Microsoft.

W przypadku spakowanych aplikacji, które nie są dystrybuowane za pośrednictwem Sklepu, użytkownik jako deweloper jest odpowiedzialny za dystrybucję pakietu Framework. Zalecamy wywołanie API wdrożeniowego, aby wszystkie krytyczne aktualizacje serwisowe były dostarczane. Należy pamiętać, że w przypadku korzystania z funkcji spoza pakietu Framework (na przykład powiadomień wypychanych), pakiet Singleton musi zostać wdrożony. Można to zrobić za pomocą API wdrażania lub redystrybuować pakiety MSIX, korzystając z własnej metody instalacji.

Ważny

W zestawie SDK aplikacji systemu Windows w wersji 1.0 tylko spakowane aplikacje, które są pełne zaufanie lub które mają pakiet Zarządzanie możliwości z ograniczeniami mają uprawnienia do instalowania zależności pakietu Main i Singleton za pomocą interfejsu API wdrażania. Obsługa aplikacji w pakietach z ograniczonym zaufaniem będzie dostępna w przyszłych wersjach.

Interfejs API wdrażania należy wywołać po zainicjowaniu procesu aplikacji, ale przed użyciem funkcji środowiska uruchomieniowego zestawu SDK aplikacji systemu Windows korzystających z pakietu Singleton (na przykład powiadomień wypychanych). Główne metody interfejsu API Deployment to statyczne metody GetStatus i Initialize klasy DeploymentManager.

  • Metoda GetStatus zwraca bieżący stan wdrożenia aktualnie załadowanego środowiska uruchomieniowego zestawu SDK aplikacji systemu Windows. Użyj tej metody, aby określić, czy wymagane jest zainstalowanie pakietów środowiska uruchomieniowego zestawu SDK aplikacji systemu Windows, zanim bieżąca aplikacja będzie mogła korzystać z funkcji zestawu SDK aplikacji systemu Windows.
  • Metoda Initialize sprawdza, czy wszystkie wymagane pakiety są obecne w minimalnej wersji wymaganej przez środowisko uruchomieniowe Windows App SDK, które jest aktualnie załadowane. Jeśli brakuje żadnych zależności pakietów, metoda próbuje zarejestrować brakujące pakiety. Począwszy od zestawu Windows App SDK 1.1, metoda Inicjowanie obsługuje również opcję wymuszania wdrażania pakietów środowiska uruchomieniowego zestawu SDK aplikacji systemu Windows. Spowoduje to zamknięcie wszystkich procesów dla pakietów środowiska uruchomieniowego Main i Singleton, a tym samym przerwanie ich usług (na przykład powiadomienia push nie będą dostarczane w tym czasie).

Przykładowa aplikacja "API Deployment"

Aby uzyskać dodatkowe wskazówki dotyczące korzystania z metod GetStatus i Initialize klasy DeploymentManager, zapoznaj się z dostępną przykładową aplikacją.

Usuwanie błędów instalacji

Jeśli interfejs API wdrażania napotka błąd podczas instalacji pakietów środowiska uruchomieniowego zestawu SDK aplikacji systemu Windows, zwraca kod błędu opisujący problem.

Jeśli na przykład aplikacja nie jest w pełni zaufana lub nie ma ograniczonej możliwości packageManagement, otrzymasz kod błędu ACCESS_DENIED. Aby przejrzeć inne kody błędów, które mogą wystąpić i ich możliwe przyczyny, zobacz Rozwiązywanie problemów z pakowaniem, wdrażaniem i wykonywaniem zapytań dotyczących aplikacji systemu Windows.

Jeśli kod błędu nie dostarcza wystarczającej ilości informacji, możesz znaleźć więcej informacji diagnostycznych w szczegółowych dziennikach zdarzeń (zobacz Uzyskiwanie informacji diagnostycznych).

Jeśli wystąpią błędy, których nie można zdiagnozować, zgłoś problem w repozytorium GitHub WindowsAppSDK z kodem błędu i dziennikami zdarzeń, abyśmy mogli zbadać problem.