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.
Jeśli chcesz przesłać pakiet oprogramowania do repozytorium społeczności menedżera pakietów systemu Windows , zacznij od utworzenia manifestu pakietu. Manifest to plik YAML, który opisuje aplikację do zainstalowania.
Możesz użyć kreatora manifestu Menedżera Pakietów systemu Windows, skryptu YAMLCreate programu PowerShell, lub możesz ręcznie utworzyć manifest zgodnie z poniższymi instrukcjami.
Notatka
Zobacz poniżej Manifest FAQ, aby uzyskać więcej ogólnych informacji na temat manifestów, pakietów i wersji.
Opcje tworzenia manifestu
Korzystanie z narzędzia WinGetCreate
Narzędzie wingetcreate można zainstalować przy użyciu poniższego polecenia.
winget install wingetcreate
Po zakończeniu instalacji możesz uruchomić wingetcreate new, aby utworzyć nowy pakiet i wypełnić instrukcje. Ostatnią opcją w monitach WinGetCreate jest przesłanie manifestu do repozytorium pakietów. Jeśli wybierzesz opcję tak, automatycznie prześlesz Pull Request (PR) do repozytorium społeczności menedżera pakietów systemu Windows .
Korzystanie z YAMLCreate.ps1
Aby ułatwić tworzenie plików manifestu, udostępniliśmy skrypt programu PowerShell YAMLCreate.ps1 znajdujący się w folderze Narzędzia w repozytorium Windows Package Manager Community Repository. Skrypt można użyć, klonując repozytorium na komputerze i uruchamiając skrypt bezpośrednio z folderu Tools. Skrypt wyświetli monit o podanie adresu URL instalatora, a następnie wyświetli monit o wypełnienie metadanych. Podobnie jak przy korzystaniu z WinGetCreate, ten skrypt będzie oferował opcję automatycznego przesyłania manifestu.
Podstawy YAML
Format YAML został wybrany dla manifestów pakietów ze względu na względną łatwość czytelności ludzkiej i spójności z innymi narzędziami programistycznymi firmy Microsoft. Jeśli nie znasz składni YAML, możesz nauczyć się podstaw w Naucz się YAML w Y minut.
Notatka
Manifesty menedżera pakietów systemu Windows nie obsługują obecnie wszystkich funkcji YAML. Nieobsługiwane funkcje YAML obejmują kotwice, złożone klucze i zestawy.
Konwencje
Te konwencje są używane w tym artykule:
- Po lewej stronie
:jest dosłowne słowo kluczowe używane w definicjach manifestu. - Po prawej stronie
:jest typ danych. Typ danych może być typem pierwotnym, takim jak ciąg lub odwołaniem do bogatej struktury zdefiniowanej w innym miejscu w tym artykule. - Notacja
[typu danych]wskazuje tablicę wymienionego typu danych. Na przykład[ string ]jest tablicą ciągów. - Notacja
{typ danych:typu danych}wskazuje mapowanie jednego typu danych na inny. Na przykład{ string: string }to mapowanie ciągów na ciągi.
Zawartość manifestu
Manifest pakietu składa się z wymaganych elementów i opcjonalnych elementów, które mogą pomóc w ulepszaniu środowiska klienta w trakcie instalowania oprogramowania. Ta sekcja zawiera krótkie podsumowanie wymaganego schematu manifestu i kompletnych schematów manifestu z przykładami każdego z nich.
Każde pole w pliku manifestu musi być zapisywane w stylu Pascal i nie może się powtarzać.
Aby uzyskać pełną listę i opisy elementów w manifeście, zobacz specyfikację manifestu w repozytorium Windows Package Manager Community Repository.
Minimalny wymagany schemat
Zgodnie z schematem JSON typu singletonwymagane są tylko niektóre pola. Minimalny obsługiwany plik YAML będzie wyglądać podobnie do poniższego przykładu. Pojedynczy format jest prawidłowy tylko w przypadku pakietów zawierających pojedynczego instalatora i pojedyncze ustawienia regionalne. W przypadku podania więcej niż jednego instalatora lub ustawień regionalnych należy użyć wielu formatów plików YAML i schematu.
Schemat partycjonowania został dodany w celu ułatwienia środowiska użytkownika usługi GitHub. Foldery z tysiącami dzieci nie są dobrze renderowane w przeglądarce.
PackageIdentifier: # Publisher.package format.
PackageVersion: # Version numbering format.
PackageLocale: # BCP 47 format (e.g. en-US)
Publisher: # The name of the publisher.
PackageName: # The name of the application.
License: # The license of the application.
ShortDescription: # The description of the application.
Installers:
- Architecture: # Enumeration of supported architectures.
InstallerType: # Enumeration of supported installer types (exe, msi, msix, inno, wix, nullsoft, appx).
InstallerUrl: # Path to download installation file.
InstallerSha256: # SHA256 calculated from installer.
ManifestType: # The manifest file type
ManifestVersion: 1.6.0
Wiele plików manifestu
Aby zapewnić najlepsze środowisko użytkownika, manifesty powinny zawierać jak najwięcej metadanych. Aby oddzielić obawy dotyczące sprawdzania poprawności instalatorów i udostępniania zlokalizowanych metadanych, manifesty powinny być podzielone na wiele plików. Minimalna liczba plików YAML dla tego rodzaju manifestu wynosi trzy. Należy również podać dodatkowe ustawienia regionalne.
- Plik w wersji (schemat JSON).
- Plik domyślnych ustawień regionalnych (schematu JSON).
- Plik instalatora (schemat JSON).
- Dodatkowe pliki ustawień regionalnych (schematu JSON).
W poniższym przykładzie przedstawiono wiele opcjonalnych pól metadanych i wielu ustawień regionalnych. Pamiętaj, że domyślne ustawienia regionalne mają więcej wymagań niż dodatkowe ustawienia regionalne. W pokaż poleceniewszystkie wymagane pola, które nie są podane dla dodatkowych lokalizacji, będą wyświetlać pola z domyślnej lokalizacji.
- Przykład pliku wersji
- przykład domyślnego pliku ustawień regionalnych
- przykład dodatkowego pliku ustawień regionalnych
- przykładowy plik instalatora
Ścieżka: manifesty / m / Microsoft / Windows Terminal / 1.6.10571.0 / Microsoft.WindowsTerminal.yaml
PackageIdentifier: "Microsoft.WindowsTerminal"
PackageVersion: "1.6.10571.0"
DefaultLocale: "en-US"
ManifestType: "version"
ManifestVersion: "1.6.0"
Notatka
Jeśli instalator jest .exe i został utworzony przy użyciu programu Nullsoft lub Inno, możesz zamiast tego określić te wartości. Po określeniu wartości Nullsoft lub Inno, klient automatycznie ustawi tryby instalacji: cichy oraz cichy z postępem dla instalatora.
Przełączniki instalatora
Często można ustalić, jakie dyskretne Switches są dostępne dla instalatora, przekazując -? instalatorowi z wiersza polecenia. Poniżej przedstawiono niektóre typowe Switches dyskretne, których można używać w przypadku różnych typów instalatora.
| Instalator | Polecenie | Dokumentacja |
|---|---|---|
| MSI | /q |
opcje Command-Line msi |
| InstallShield | /s |
parametrów Command-Line InstallShield |
| Inno Setup | /SILENT or /VERYSILENT |
Dokumentacja Inno Setup |
| Nullsoft | /S |
Instalatory/dezinstalatory bez interfejsu użytkownika firmy Nullsoft |
Porady i najlepsze rozwiązania
- Identyfikator pakietu musi być unikatowy. Nie można mieć wielu zgłoszeń z tym samym identyfikatorem pakietu. Dozwolone jest tylko jedno żądanie ściągnięcia na wersję pakietu.
- Unikaj tworzenia wielu folderów wydawcy. Na przykład nie twórz "Contoso Ltd.", jeśli istnieje już folder "Contoso".
- Wszystkie narzędzia muszą obsługiwać instalację dyskretną. Jeśli masz plik wykonywalny, który nie obsługuje instalacji dyskretnej, nie możemy zapewnić tego narzędzia w tej chwili.
- Podaj jak najwięcej pól. Im więcej metadanych dostarczysz, tym lepsze będzie doświadczenie użytkownika. W niektórych przypadkach pola mogą nie być jeszcze obsługiwane przez klienta Menedżera pakietów systemu Windows (winget.exe). Na przykład pole
AppMonikerjest opcjonalne. Jeśli jednak uwzględnisz to pole, klienci zobaczą wyniki powiązane z wartościąMonikerpodczas wykonywania polecenia wyszukiwania (na przykład vscode dla Visual Studio Code). Jeśli istnieje tylko jedna aplikacja z określoną wartościąMoniker, klienci mogą zainstalować aplikację, określając pseudonim, a nie w pełni kwalifikowany identyfikator pakietu. - Długość ciągów w tej specyfikacji powinna być ograniczona do 100 znaków przed złamaniem linii.
-
PackageNamepowinien odpowiadać wpisowi wprowadzonemu w Dodaj /Usuń programy, aby ułatwić korelację z manifestami w celu obsługi eksportowaniai uaktualniania. -
Publisherpowinien odpowiadać wpisowi wprowadzonemu w Dodaj /Usuń programy, aby ułatwić korelację z manifestami w celu obsługi eksportowaniai uaktualniania. - Instalatory pakietów w formacie MSI używają kodów produktów w celu unikatowego identyfikowania aplikacji. Kod produktu dla danej wersji pakietu powinien zostać uwzględniony w manifeście, aby zapewnić najlepsze doświadczenie aktualizacji.
- Jeśli istnieje więcej niż jeden typ instalatora dla określonej wersji pakietu, wystąpienie
InstallerTypemożna umieścić pod każdym zInstallers.
Manifest — często zadawane pytania
Co to jest manifest?
Manifesty to pliki YAML zawierające metadane używane przez Menedżera pakietów systemu Windows do instalowania i uaktualniania oprogramowania w systemie operacyjnym Windows. W repozytorium winget-pkgs na GitHubie znajdują się tysiące plików rozdzielonych w katalogu manifestów oznaczonym jako. Struktura katalogów Menedżera pakietów systemu Windows musiała zostać podzielona na partycje, aby nie trzeba było przewijać tyle w witrynie, gdy szukasz manifestu.
Co to jest pakiet?
Pomyśl o pakiecie jako aplikacji lub programie programowym. Menedżer pakietów systemu Windows używa elementu "PackageIdentifier" do reprezentowania unikatowego pakietu. Są one zazwyczaj w postaci Publisher.Package. Czasami mogą się pojawić dodatkowe wartości oddzielone drugą kropką.
Co to jest wersja?
Wersje pakietów są skojarzone z określoną edycją. W niektórych przypadkach zobaczysz idealnie sformułowane numery wersji semantycznych, a w innych przypadkach może być coś innego. Mogą to być elementy uzależnione od daty lub mogą mieć inne znaki z pewnym znaczeniem specyficznym dla danego pakietu. Klucz YAML dla wersji pakietu to "PackageVersion".
Aby uzyskać więcej informacji na temat rozumienia struktury katalogów i tworzenia pierwszego manifestu, zobacz Authoring Manifests w repozytorium winget-pkgs w witrynie GitHub.
Windows developer