Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
Overview
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, Main i Singleton ; które są podpisane i opublikowane przez firmę Microsoft. Istnieją dwa główne wymagania dotyczące wdrażania spakowanej aplikacji:
Prerequisites
- W przypadku spakowanych aplikacji zależność pakietu bibliotek VCLibs jest wymagana. Aby uzyskać więcej informacji, zobacz pakiety środowiska uruchomieniowego C++ dla Desktop Bridge.
- C#. Wymagany jest program .NET 6 lub nowszy. Aby uzyskać więcej informacji, zobacz Pliki do pobrania platformy .NET.
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
Po zainstalowaniu stabilnej wersji pakietu NuGet zestawu SDK aplikacji systemu Windows na komputerze dewelopera i utworzeniu projektu przy użyciu jednego z udostępnionych szablonów projektów WinUI 3 wygenerowany manifest pakietu zawiera element PackageDependency , który określa zależność od pakietu struktury.
Jeśli jednak tworzysz pakiet aplikacji ręcznie, używając oddzielnego projektu pakowania aplikacji 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
Po zainstalowaniu wersji zapoznawczej pakietu NuGet Windows App SDK na komputerze deweloperskim, pakiet frameworka Windows App SDK w wersji zapoznawczej wdrażany jest podczas 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 Zestawu SDK aplikacji Windows 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:
- Aby wdrożyć pakiet Singleton dla funkcji, które nie znajdują się w pakiecie Framework (na przykład powiadomienia push).
- 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, ty jako deweloper odpowiadasz 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.
Important
W wersji 1.0 zestawu Windows App SDK tylko spakowane aplikacje, które są w pełni zaufane lub które mają ograniczoną możliwość packageManagement, mają uprawnienia do używania interfejsu API wdrażania do instalowania zależności pakietów Main i Singleton. 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 wdrażania to statyczne metody GetStatus i Initialize klasy DeploymentManager .
- Metoda GetStatus zwraca bieżący stan wdrożenia środowiska uruchomieniowego zestawu SDK aplikacji systemu Windows, który jest aktualnie załadowany. 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 do minimalnej wersji wymaganej przez środowisko uruchomieniowe zestawu SDK aplikacji systemu Windows, 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 Initialize 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 wypychane nie będą dostarczać powiadomień w tym czasie). Należy wywołać metodę Initialize tylko raz. Nie musisz wywoływać funkcji Initialize dla aplikacji wdrożonych za pośrednictwem poleceń Rozpocznij bez debugowania i Rozpocznij debugowanie w programie Visual Studio.
Important
Wartość domyślna właściwości <WindowsAppSdkDeploymentManagerInitialize> programu Visual Studio to true. Jeśli więc chcesz jawnie wywołać metodę DeploymentManager.Initialize , ustaw <WindowsAppSdkDeploymentManagerInitialize>false</WindowsAppSdkDeploymentManagerInitialize> ją w pliku projektu programu Visual Studio.
Przykładowa aplikacja "API Deployment"
Aby uzyskać dodatkowe wskazówki dotyczące używania 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 Twoja aplikacja nie jest z pełnym zaufaniem lub nie posiada 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.
Tematy pokrewne
Windows developer