Dlaczego konwertować WAPPROJ na MSIX?
Projekt Windows Application Packaging Project istnieje właśnie po to, aby wygenerować pakiet .msix dla aplikacji desktopowej lub UWP. Deweloperzy sięgają po niego, gdy chcą dystrybuować aplikację Win32/WPF/WinUI za pomocą nowoczesnych instalatorów MSIX lub Microsoft Store, a .wapproj łączy manifest, zasoby i zależności w ten pakiet.
Jak przekonwertować WAPPROJ na MSIX
Kreator pakowania Visual Studio 2022 EASIEST
Kliknij prawym przyciskiem myszy projekt pakowania i wybierz Publish > Create App Packages, a następnie postępuj zgodnie z instrukcjami kreatora, aby podpisać i wygenerować .msix/.msixbundle. Jest to standardowa ścieżka dokumentowana przez Microsoft.
Wiersz poleceń MSBuild FREE
Uruchom msbuild MyApp.wapproj /p:UapAppxPackageBuildMode=SideloadOnly /p:AppxBundle=Never /p:AppxPackageDir=out\, aby zbudować .msix bez IDE. Dodaj /p:AppxPackageSigningEnabled=true wraz z certyfikatem, aby go podpisać.
MSIX Packaging Tool (przechwytywanie instalatora) FREE
Jeśli nie masz projektu źródłowego, narzędzie MSIX Packaging Tool od Microsoft może przekonwertować istniejący instalator .exe/.msi na .msix, przechwytując proces jego instalacji. Pomija to całkowicie plik .wapproj.
O tych formatach
Plik .wapproj to projekt pakowania aplikacji systemu Windows (Windows Application Packaging Project) używany w Visual Studio do pakowania aplikacji desktopowych (Windows Forms, WPF lub…
Otwórz szczegóły .WAPPROJ →Plik .MSIX to plik danych używany przez określone oprogramowanie.
Otwórz szczegóły .MSIX →Jakość i na co uważać
- Plik wyjściowy musi być podpisany kodem za pomocą zaufanego certyfikatu, zanim Windows pozwoli na jego instalację poza Store.
- MSIX uruchamia aplikację w lekkim kontenerze, więc funkcje takie jak sterowniki, usługi jądra lub dowolne zapisy w rejestrze mogą być blokowane lub wirtualizowane.
- Pakiety do przesłania do Store są budowane z opcją
AppxBundle=Always; kompilacje do instalacji lokalnej zazwyczaj używająNever- wybierz tryb pasujący do Twojej dystrybucji.
Najczęściej zadawane pytania
Jaka jest różnica między .msix a .msixbundle?
.msix jest przeznaczony dla jednej architektury; .msixbundle pakuje kilka pakietów dla różnych architektur razem na potrzeby Store.Czy potrzebuję Visual Studio, aby to zbudować?
.wapproj w trybie bezinterfejsowym w CI.