Identität (Paketschema für Windows 8)

Definiert einen global eindeutigen Bezeichner für ein Paket. Eine Paketidentität wird als Tupel von Attributen des Pakets dargestellt.

Elementhierarchie

<Paket>
<Identity>

Syntax

<Identity Name                   = A string between 3 and 50 characters in length that consists of alpha-numeric, period, and dash characters.
          ProcessorArchitecture? = "x86" | "x64" | "arm" | "neutral"
          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".
          ResourceId?            = A string between 1 and 30 characters in length that consists of alpha-numeric, period, and dash characters. />

Schlüssel

? optional (null oder eins)

Attribute und Elemente

Attributes

Attribut BESCHREIBUNG Datentyp Erforderlich
Name

Beschreibt den Inhalt des Pakets. Beim Attribut Name wird die Groß-/Kleinschreibung nicht beachtet.

Verwenden Sie das DisplayName-Attribut , um Benutzern einen Paketnamen anzuzeigen.

Eine Zeichenfolge mit einer Länge von 3 bis 50 Zeichen, die aus alphanumerischen, Perioden- und Bindestrichen besteht. Ja
Processorarchitecture

Beschreibt die Architektur des im Paket enthaltenen Codes. Ein Paket, das ausführbaren Code enthält, muss dieses Attribut enthalten.

Dieses Attribut kann einen der folgenden Werte haben:

  • x86
  • x64
  • arm
  • Neutral
Nein
Publisher

Beschreibt die Herausgeberinformationen. Das Publisher-Attribut muss mit den Herausgeber-Betreffinformationen des Zertifikats übereinstimmen, das zum Signieren eines Pakets verwendet wird. Weitere Informationen finden Sie unter Verpacken von Apps.

Eine Zeichenfolge zwischen 1 und 8192 Zeichen, die dem regulären Ausdruck eines Distinguished Name entspricht: "(CN| L|O| OE| E| C|S| STREET| T| G| I|SN| DC|SERIALNUMBER| (OID\. (0| [1-9] [0-9]*)(\.( 0| [1-9] [0-9]*)+))=(([^,+="<>#;]) +|". *")(, ((CN| L|O| OE| E| C|S| STREET| T| G| I|SN| DC|SERIALNUMBER| (OID\. (0| [1-9] [0-9]*)(\.( 0| [1-9] [0-9]*)+))=(([^,+="<>#;]) +|". *")))*". Darüber hinaus stellt die semantische Überprüfung sicher, dass die Zeichenfolge mit CertNameToStr Windows API-Implementierung von X.500-Regeln kompatibel ist. Ja
ResourceId

Beschreibt den Typ der im Paket enthaltenen Benutzeroberflächenressourcen. Die ResourceId ist eine vom Herausgeber angegebene Zeichenfolge.

Eine Zeichenfolge mit einer Länge von 1 bis 30 Zeichen, die aus alphanumerischen, Perioden- und Bindestrichen besteht. Nein
Version

Die Versionsnummer des Pakets.

Eine Versionszeichenfolge in Quad-Notation, "Major.Minor.Build.Revision". Ja

 

Untergeordnete Elemente

Keine

Übergeordnete Elemente

Übergeordnetes Element BESCHREIBUNG
Paket

Definiert das Stammelement eines App-Paketmanifests. Das Manifest beschreibt die Struktur und die Funktionen der Software für das System.

 

Hinweise

Wichtig Für die Zeichenfolgen Nameund ResourceID müssen die folgenden Regeln befolgt werden:

  • Zulässige Eingabezeichen = ASCII-Teilmenge
    • Großbuchstaben (U+0041 bis U+005A)
    • Kleinbuchstaben (U+0061 bis U+007A)
    • Zahlen (U+0030 bis U+0039)
    • Punkt (U+002E)
    • Bindestrich (U+002D)
  • Unzulässige Zeichenfolgen
    • Kann nicht gleich sein...
      • ".", "..", "con", "prn", "aux", "nul", "com1", "com2", "com3", "com4", "com5", "com6", "com7", "com8", "com9", "lpt1", "lpt2", "lpt3", "lpt4", "lpt5", "lpt6", "lpt7", "lpt8", "lpt9"
    • Kann nicht mit beginnen...
      • "con.", "prn.", "aux.", "nul.", "com1.", "com2.", "com3.", "com4.", "com5.", "com6.", "com7.", "com8.", "com9.", "lpt1.", "lpt2.", "lpt3.", "lpt4.", "lpt5.", "lpt6.", "lpt7.", "lpt8.", "lpt9.", "xn---"
    • Das Ende kann nicht mit...
      • "."
    • Kann nicht enthalten...
      • ".xn--"

 

Das Attribut Name wird vom Betriebssystem und von Entwicklern verwendet, um Pakete zu identifizieren. Das Name-Attribut ist nicht für die Anzeige für Endbenutzer vorgesehen.

Wenn eine App auf verschiedenen Ressourcenpaketen basiert, muss das ResourceId-Attribut für einen bestimmten Paketnamen im Benutzerkonto eindeutig sein. Hauptpaketvarianten, die auf Ressourcen-IDs basieren, dürfen nicht gleichzeitig installiert werden. Es sind jedoch mehrere gleichzeitige Varianten eines Pakets nur für Ressourcen zulässig. Beispiele für mögliche ResoureId-Attribute sind:

  • Nordamerika
  • Asien
  • Europäische Sprachen

Das Publisher-Attribut wird anhand des Betreffnamens des Signaturzertifikats überprüft, wenn signierte Pakete geöffnet werden. Wenn das Publisher-Attribut nicht genau mit dem Namen des Betreffs übereinstimmen, ist das Paket ungültig. Sie können mehrere semantisch äquivalente Zeichenfolgendarstellungen aus dem im Zertifikat gespeicherten Betreffnamen erstellen. Verwenden Sie diese Kanonisierungsregeln, um den Publisher-Attributwert mit diesem Betreffnamen zu übereinstimmen:

  • Unicode-Werte können UTF-8-codiert sein.

  • Wenn der Name die Legacy-E-Mail-Komponente enthält, wird der internationalisierte Domänenname (IDN) in Unicode-Form dargestellt.

  • Objektbezeichner (OIDs) mit X.500-Schlüsselnamen müssen den X.500-Schlüsselnamen verwenden (z.B. CN, nicht 2.5.4.3).

  • OIDs ohne X.500-Schlüsselnamen werden mit dem Präfix "OID." identifiziert (z.B. OID.2.5.4.34).

  • OID-Schlüsselnamen werden durch ein Gleichheitszeichen ohne zusätzliche Leerzeichen von ihren Werten getrennt (z. B. CN=JohnSmith).

  • Mehrere RELATIVE DISTINGUISHED NAME-Einträge (RDN) werden durch ein Komma gefolgt von einem Leerzeichen (z. B. CN=JohnSmith, O=Contoso) getrennt.

  • Der RDN-Wert enthält nur Anführungszeichen, wenn er führende oder nachfolgende Leerzeichen oder eines der folgenden Zeichen enthält (z.B. CN=" JohnSmith", O="C++ Inc."):

    • Komma (,)
    • Pluszeichen (+)
    • Gleichheitszeichen (=)
    • Zollmark (")
    • Schrägstrich gefolgt vom Buchstaben n (\n)
    • Kleiner als -Zeichen (<)
    • Größer als-Zeichen (>)
    • Nummernzeichen (#)
    • Semikolon (;)
  • Das Anführungszeichen ist eine Zollmarkierung ("). Wenn der RDN-Wert eine Zollmarkierung enthält, muss die Zollmarkierung zusätzlich zu anführungszeichen ("") doppelte Anführungszeichen enthalten (z.B. CN="Smith"Bill"").

  • Mehrwertige RDNs sind nicht zulässig (z.B. CN=JohnSmith + O=Contoso).

Diese Regeln folgen dem Verhalten der CertNameToStr-Funktion, die verwendet werden kann, um den erwarteten Publisher-Attributwert aus einem Zertifikat zu bestimmen.

Beispiele

Das folgende Beispiel ist aus dem Paketmanifest eines der SDK-Beispiele entnommen.

<Identity Name="Microsoft.SDKSamples.ApplicationDataSample" 
          Version="1.0.0.0" 
          Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />

Anforderungen

Wert
Namespace http://schemas.microsoft.com/appx/2010/manifest