DefaultLocaleManifest

Struct DefaultLocaleManifest 

Source
pub struct DefaultLocaleManifest {
Show 27 fields pub package_identifier: PackageIdentifier, pub package_version: PackageVersion, pub package_locale: LanguageTag, pub publisher: Publisher, pub publisher_url: Option<PublisherUrl>, pub publisher_support_url: Option<PublisherSupportUrl>, pub privacy_url: Option<Url>, pub author: Option<Author>, pub package_name: PackageName, pub package_url: Option<PackageUrl>, pub license: License, pub license_url: Option<LicenseUrl>, pub copyright: Option<Copyright>, pub copyright_url: Option<CopyrightUrl>, pub short_description: ShortDescription, pub description: Option<Description>, pub moniker: Option<Moniker>, pub tags: BTreeSet<Tag>, pub agreements: BTreeSet<Agreement>, pub release_notes: Option<ReleaseNotes>, pub release_notes_url: Option<ReleaseNotesUrl>, pub purchase_url: Option<Url>, pub installation_notes: Option<InstallationNotes>, pub documentations: BTreeSet<Documentation>, pub icons: BTreeSet<Icon>, pub manifest_type: ManifestType, pub manifest_version: ManifestVersion,
}

Fields§

§package_identifier: PackageIdentifier

The unique identifier for a given package.

This value is generally in the form of Publisher.Package. It is case-sensitive, and this value must match the folder structure under the partition directory in GitHub.

§package_version: PackageVersion

The version of the package.

It is related to the specific release this manifests targets. In some cases you will see a perfectly formed semantic version number, and in other cases you might see something different. These may be date driven, or they might have other characters with some package specific meaning for example.

The Windows Package Manager client uses this version to determine if an upgrade for a package is available. In some cases, packages may be released with a marketing driven version, and that causes trouble with the winget upgrade command.

The current best practice is to use the value reported in Add / Remove Programs when this version of the package is installed. In some cases, packages do not report a version resulting in an upgrade loop or other unwanted behavior.

§package_locale: LanguageTag

The locale for package metadata.

The format is BCP-47. This value identifies the language for meta-data to be displayed to a user when no locale file matching their preferences is available. The Microsoft community package repository validation pipelines also use this value to determine appropriate validation rules for this file.

§publisher: Publisher

The name of the publisher for a given package.

This field is intended to allow the full publisher’s or ISV’s name to be displayed as they wish.

With the 1.9 release of the Windows Package Manager, this name affects how packages from a source are mapped to Apps installed in Windows 10 and Windows 11 via Add / Remove Programs (ARP) and Windows Apps & Features respectively. The best practice is to ensure this matches the entry for the package when it has been installed. This should be the value of the Publisher sub-key for the package in the Windows registry. The impact is associated with winget upgrade and winget list.

§publisher_url: Option<PublisherUrl>

The website for the publisher or ISV.

§publisher_support_url: Option<PublisherSupportUrl>

The website for the publisher or ISV.

§privacy_url: Option<Url>

The privacy website or specific web page provided the publisher or ISV.

If there is a privacy website or specific web page for the package it is preferred over a generic privacy page for the publisher.

§author: Option<Author>

The author of a package.

In some cases, the author is an individual who develops and or maintains the package. In other cases this may be a URL pointing to the contributors web page for a package.

§package_name: PackageName

The name of the package.

This field is intended to allow the full package name to be displayed as the publisher or ISV wishes.

With the 1.9 release of the Windows Package Manager, this name affects how packages from a source are mapped to Apps installed in Windows 10 via Add / Remove Programs (ARP). The best practice is to ensure this matches the ARP entry for the package name when it has been installed. This should be the value of the DisplayName subkey for the package in the Windows registry. The impact is associated with winget upgrade and winget list.

§package_url: Option<PackageUrl>

The website for the package.

§license: License

The license governing the use and or distribution for the product.

This could be an open source license, or a commercial license. Please note that a copyright is not considered a license. If there is no available information on a product’s license, Proprietary should be the value in this field.

§license_url: Option<LicenseUrl>

The license website or specific web page provided the publisher or ISV.

If there is a license website or specific web page for the package it is preferred over a generic license page for the publisher.

If this is a link to the license file for an open source project, it should be specific to the version for the package. Some open source projects change their license over time.

§copyright: Option<Copyright>

The copyright for the package.

§copyright_url: Option<CopyrightUrl>

The copyright website or specific web page provided the publisher or ISV.

If there is a copyright website or specific web page for the package it is preferred over a generic copyright page for the publisher.

If this is a link to the copyright file for an open source project, it should be specific to the version for the package. Some open source projects change their copyright over time.

§short_description: ShortDescription

The description for a package.

It is intended for use in winget show to help a user understand what the package is.

This should be something descriptive about what the package does, and it should not simply state something like <package name> installer or <package name> setup.

§description: Option<Description>

The full or long description for a package.

§moniker: Option<Moniker>

The most common term users would search for when installing or upgrading a package.

If only one package uses this moniker, then the install, list and upgrade command may match with this package.

Moniker is the third property evaluated when searching for a matching package.

§tags: BTreeSet<Tag>

Other common term users would search for when looking for packages.

Tags should be pertinent to what a user might search for when looking for a specific package.

The best practice is to present these terms in all lower case with hyphens rather than spaces.

§agreements: BTreeSet<Agreement>

Any agreements a user must accept prior to download and subsequent install or upgrade.

Agreements are only allowed in the community repository when the manifest is maintained by a verified developer.

§release_notes: Option<ReleaseNotes>

The release notes for a package.

§release_notes_url: Option<ReleaseNotesUrl>

Release notes webpage for a package.

§purchase_url: Option<Url>

The purchase url for acquiring entitlement for a package.

§installation_notes: Option<InstallationNotes>

The notes displayed to the user upon completion of a package installation.

§documentations: BTreeSet<Documentation>

Any documentation for providing software guides such as manuals and troubleshooting URLs.

§icons: BTreeSet<Icon>§manifest_type: ManifestType

The manifest type.

Must have the value defaultLocale. The Microsoft community package repository validation pipelines also use this value to determine appropriate validation rules when evaluating this file.

§manifest_version: ManifestVersion

The manifest syntax version.

Must have the value 1.10.0. The Microsoft community package repository validation pipelines also use this value to determine appropriate validation rules when evaluating this file.

Trait Implementations§

Source§

impl Default for DefaultLocaleManifest

Source§

fn default() -> DefaultLocaleManifest

Returns the “default value” for a type. Read more
Source§

impl Manifest for DefaultLocaleManifest

Source§

const SCHEMA: &'static str = "https://aka.ms/winget-manifest.defaultLocale.1.10.0.schema.json"

Source§

const TYPE: ManifestType = ManifestType::DefaultLocale

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ErasedDestructor for T
where T: 'static,