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.
Możliwość dostosowywania środowiska aplikacji jest ważna, szczególnie w przypadku przedsiębiorstw. Rozmawialiśmy z specjalistami IT i wiemy, że dostosowywanie aplikacji pod kątem potrzeb użytkowników jest niezbędne do nakładu pracy nad przejściem do systemu Windows 10. Podczas dostosowywania aplikacji, które są pakowane za pomocą MSI, dobrze wiadomo, że specjaliści IT muszą uzyskać pakiet od deweloperów i ponownie spakować instalatora, dostosowując go do swoich potrzeb. Jest to kosztowny wysiłek dla przedsiębiorstw. W przyszłości chcemy rozdzielić dostosowanie i główną aplikację, aby ponowne pakowanie nie było już potrzebne. Dzięki temu przedsiębiorstwa otrzymują najnowsze aktualizacje od deweloperów, zachowując jednocześnie kontrolę nad ich dostosowaniami.
W systemie Windows 10 w wersji 1809 wprowadziliśmy nowy typ pakietu MSIX o nazwie pakiet modyfikacji. Pakiety modyfikacji to pakiety MSIX, które przechowują dostosowania. Pakiety modyfikacji mogą być również wtyczki/dodatki, które mogą nie mieć punktu aktywacji. Specjaliści IT mogą używać tej funkcji, aby elastycznie zmieniać kontenery MSIX, tak by aplikacje były nakładane na dostosowania przedsiębiorstwa.
Jak to działa
Pakiety modyfikacji są przeznaczone dla przedsiębiorstw, które nie są właścicielami kodu aplikacji i mają tylko instalator. Pakiet modyfikacji można utworzyć przy użyciu najnowszej wersji narzędzia do tworzenia pakietów MSIX (dla systemu Windows 10 w wersji 1809 lub nowszej). Jeśli masz kod aplikacji, możesz też utworzyć rozszerzenie aplikacji.
Jeśli chcesz utworzyć pakiet modyfikacji, który ma ścisłe powiązanie z główną aplikacją, możesz zadeklarować główną aplikację jako zależność w manifeście pakietu modyfikacji.
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.15063.0"/>
<uap4:MainPackageDependency Name="Main.App"/>
</Dependencies>
W poniższym przykładzie pokazano, jak określić inny certyfikat lub wydawcę.
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.15063.0"/>
<uap4:MainPackageDependency Name="Main.App" Publisher="CN=Contoso, C=US" />
</Dependencies>
Jest to prosta konfiguracja, jeśli relacja między pakietem modyfikacji a głównym pakietem jest jeden do jednego. Typowe dostosowania często wymagają kluczy rejestru w HKEY_CURRENT_USER lub HKEY_CURRENT_USERCLASS. W naszym pakiecie MSIX mamy pliki User.dat i Userclass.dat do przechwytywania kluczy rejestru. Należy utworzyć User.dat, jeśli potrzebujesz kluczy rejestru w folderze HKCU\Software* (podobnie jak Registry.dat jest używany dla HKLM\Software*). Użyj Userclass.dat, jeśli potrzebujesz kluczy w folderze HKCU\Sofware\Classes*.
Poniżej przedstawiono typowe sposoby tworzenia pliku .dat:
Użyj polecenia Regedit, aby utworzyć plik. Utwórz gałąź w regedit i wstaw niezbędne klucze. Następnie kliknij prawym przyciskiem myszy, wyeksportuj i zapisz jako plik pasieki. Pamiętaj, aby nazwać plik User.dat lub Userclass.dat
Użyj interfejsu API, aby utworzyć niezbędne pliki. Możesz użyć funkcji ORSaveHive , aby zapisać plik .dat. Pamiętaj, aby nazwać plik ether User.dat lub Userclass.dat
Po wprowadzeniu niezbędnych zmian możesz utworzyć pakiet modyfikacji, taki jak każdy inny pakiet MSIX. Następnie możesz wdrożyć pakiet przy użyciu bieżącej konfiguracji wdrożenia. Po ponownym uruchomieniu aplikacji głównej zobaczysz zmiany wprowadzone przez pakiet modyfikacji. Jeśli zdecydujesz się usunąć pakiet modyfikacji, główna aplikacja powróci do stanu bez pakietu modyfikacji.
Dowiedz się, jakie pakiety modyfikacji są zainstalowane na urządzeniu
Za pomocą programu PowerShell można zobaczyć zainstalowane pakiety modyfikacji przy użyciu następującego polecenia.
Get-AppPackage -PackageTypeFilter Optional
Pakiety modyfikacji w systemie Windows 10, wersja 1809
W systemie Windows 10 w wersji 1809 pakiety modyfikacji mogą zawierać konfiguracje wymagane do ustawienia w rejestrze, tak aby główny pakiet działał zgodnie z oczekiwaniami. Oznacza to, że główna aplikacja korzysta z rejestru, aby sprawdzić, czy wtyczka istnieje. Podczas wdrażania pakietu głównego i pakietu modyfikacji w czasie wykonywania aplikacja wyświetli rejestr wirtualny (VREG) zarówno głównego pakietu, jak i pakietu modyfikacji.
Pamiętaj, że główny pakiet może używać usługi VREG do wykonywania następujących czynności:
- Wyświetlanie miejsca ładowania pliku (DLL) wtyczki. Jeśli tak jest, upewnij się, że plik jest częścią pakietu. Dzięki temu główny pakiet jest w stanie uzyskać dostęp do pliku w czasie wykonywania.
- Lokalizacja, gdzie można zobaczyć wartość kluczy VREG. Twój główny pakiet może szukać wartości, która powinna znajdować się w VREG. Podczas tworzenia pakietu modyfikacji ręcznie lub przy użyciu naszego narzędzia upewnij się, że wartość jest poprawna.
Pakiety modyfikacji w systemie Windows 10, wersja 1903 i nowsze
Następujące funkcje zostały dodane do systemu Windows 10 w wersji 1903.
Aktualizacja manifestu
Dodaliśmy obsługę następującego elementu do manifestu pakietu modyfikacji MSIX.
<Properties>
<rescap6:ModificationPackage>true</rescap6:ModificationPackage>
</Properties>
Aby upewnić się, że pakiety modyfikacji działają w wersji 1903 lub nowszej, manifest pakietu modyfikacji musi zawierać ten element. Zostanie to zrobione, jeśli spakujesz pakiet modyfikacji MSIX przy użyciu styczniowego wydania narzędzia do tworzenia pakietów MSIX. Jeśli pakiet został przekonwertowany przy użyciu naszego narzędzia przed wydaniem, możesz edytować istniejący pakiet w naszym narzędziu, aby dodać ten nowy element. Ponadto jeśli użytkownicy zainstalują pakiet modyfikacji, zostaną powiadomieni, że pakiet może zmodyfikować główną aplikację.
Jeśli używasz pakietu modyfikacji utworzonego przed wersją 1903, konieczne jest zmodyfikowanie manifestu pakietu w celu zaktualizowania atrybutu MaxVersionTested do wersji 10.0.18362.0.
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17701.0" MaxVersionTested="10.0.18362.0" />
Tworzenie pakietu modyfikacji przy użyciu narzędzia MSIX Packaging Tool
Pakiet modyfikacji można utworzyć za pomocą narzędzia MSIX Packaging Tool:
Określ pakiet główny. Upewnij się, że wersja MSIX twojego głównego pakietu jest dostępna na komputerze, na którym dokonujesz konwersji. Jeśli nie, poprosimy Cię o ręczne podanie informacji o wydawcy i głównej aplikacji. Ponadto niektóre dostosowania wymagają zainstalowania głównej aplikacji na maszynie.
Zmodyfikuj pakiet po przejściu konwersji przy użyciu edytora pakietów. Może istnieć sytuacja, w której główny pakiet wymaga, aby pakiet modyfikacji miał pewne wartości w swoim VREG. W tym miejscu należy odpowiednio edytować pakiet.
Tworzenie pakietu modyfikacji przy użyciu MakeAppx.exe
Pakiet modyfikacji można utworzyć ręcznie przy użyciu narzędzia MakeAppX.exe dołączonego do zestawu SDK systemu Windows 10.
W manifeście określ pakiet główny. Dołącz wydawcę i nazwę głównego pakietu.
<Dependencies> <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17701.0" MaxVersionTested="12.0.0.0"/> <uap4:MainPackageDependency Name="HeadTrax" Publisher="CN=Contoso Software, O=Contoso Corporation, C=US" /> </Dependencies>Utwórz Registry.dat, User.dat i Userclass.dat, aby utworzyć wszystkie klucze rejestru potrzebne do załadowania pakietu modyfikacji. Jest to wymagane tylko wtedy, gdy do wyświetlania niestandardowych kluczy rejestru potrzebna jest aplikacja główna. Pamiętaj, że ponieważ wszystko działa wewnątrz kontenera, podczas wykonywania pakiety główny i modyfikacyjny zostaną połączone w taki sposób, że wirtualne rejestry pakietów się złączą, co pozwala głównemu pakietowi zobaczyć wirtualne rejestry pakietów modyfikacyjnych.
Ten proces obsługuje również wtyczki i dostosowania systemu plików, o ile plik wykonywalny głównej aplikacji nie znajduje się w wirtualnym systemie plików (VFS). Ma to na celu zapewnienie, że główny pakiet otrzyma cały system plików VFS głównego pakietu i pakietu modyfikacji.
Instalowanie pakietów modyfikacji na komputerze
Instalowanie pakietów modyfikacji na maszynie jest zgodne z innymi konwencjami instalowania. Warto zauważyć, że podczas instalowania pakietu warto użyć parametru -OptionalPackagePath .
Rozwiązywanie konfliktów
W przypadku wielu pakietów modyfikacji próbujących zmienić tę samą wartość, konflikt jest rozwiązywany przez rozważenie kolejności alfabetycznej nazw pakietów modyfikacji.