MainPackage (App installer schema)
The MainPackage element specifies the information about the package which includes name, publisher, version and uri. ProcessorArchitecture and ResourceId are optional attributes of the MainPackage.
Element hierarchy
- <AppInstaller>
-
- **MainPackage**
Syntax
<MainPackage
Name = A string between 3 and 50 characters in length that consists of alpha-numeric, period, and dash characters.
Publisher = A string between 1 and 8192 characters in length that fits the regular expression of a distinguished name: "(CN|L|O|OU|E|C|S|STREET|T|G|I|SN|DC|SERIALNUMBER|(OID\.(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))+))=(([^,+="<>#;])+|".*")(, ((CN|L|O|OU|E|C|S|STREET|T|G|I|SN|DC|SERIALNUMBER|(OID\.(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))+))=(([^,+="<>#;])+|".*")))*". Further, semantic validation ensures that the string is compliant with CertNameToStr Windows API implementation of X.500 rules.
Version = A version string in quad notation, "Major.Minor.Build.Revision".
ProcessorArchitecture = "x86" | "x64" | "arm" | "neutral"
Uri = Uri to the app package location
ResourceId? = An ASCII string between 1 and 30 characters in length. />
Attributes and Elements
Attributes
Attribute | Description | Data type | Required |
---|---|---|---|
Name | Name as specified in the identity element in the bundle manifest. The Name attribute is case-insensitive. | A string between 3 and 50 characters in length that consists of alpha-numeric, period, and dash characters. | Yes |
Publisher | Publisher as specified in the identity element in the bundle manifest. | A string between 1 and 8192 characters in length that fits the regular expression of a distinguished name. Further, semantic validation ensures that the string is compliant with CertNameToStr Windows API implementation of X.500 rules. | Yes |
Version | Version as specified in the identity element in the bundle manifest. | A version string in quad notation, "Major.Minor.Build.Revision". | Yes |
ProcessorArchitecture | Describes the architecture of the code contained in the package. A package that includes executable code must include this attribute. | "x86" or "x64"or "arm" or "neutral" | Yes |
Uri | Uri to the app package location | URI as a string between 1 and 2084 characters in length. | Yes |
ResourceId | Describes the type of UI resources contained in the package. The ResourceId is a publisher-specified string. This string cannot end with a period and cannot be one of these strings: "CON", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", and "LPT9". | An ASCII string between 1 and 30 characters in length. | No |
Parent Elements
Parent Elements | Description |
---|---|
AppInstaller | The root element of the appinstaller document. |
Remarks
Only one of either <MainPackage>
or <MainBundle>
can be declared in the <AppInstaller>
element.
The <MainPackage>
element should only be used for app packages (.appx).
Note
The Name, Publisher, Version, ProcessorArchitecture, and ResourceId must match the values in the AppxManifest.xml file specified in the app package Uri.
Requirements
Requirement | Description |
---|---|
xmlns=http://schemas.microsoft.com/appx/appinstaller/2017 |
This namespace is required for features introduced in Windows 10, version 1709. |
Minimum OS version | Windows 10, version 1709 |