Identità (schema del pacchetto per Windows 8)
Definisce un identificatore univoco globale per un pacchetto. Un'identità del pacchetto è rappresentata come una tupla di attributi del pacchetto.
Gerarchia degli elementi
- <Pacchetto>
- <Identità>
Sintassi
<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. />
Chiave
?
facoltativo (zero o uno)
Attributi ed elementi
Attributi
Attributo | Descrizione | Tipo di dati | Richiesto |
---|---|---|---|
Nome | Descrive il contenuto del pacchetto. L'attributo Name non fa distinzione tra maiuscole e minuscole. Usare l'attributo DisplayName per visualizzare il nome di un pacchetto agli utenti. |
Stringa di lunghezza compresa tra 3 e 50 caratteri costituita da caratteri alfanumerici, punti e trattini. | Sì |
Processorarchitecture | Descrive l'architettura del codice contenuto nel pacchetto. Un pacchetto che include codice eseguibile deve includere questo attributo. |
Questo attributo può avere uno dei valori seguenti:
|
No |
Autore | Descrive le informazioni sull'editore. L Publisher attributo deve corrispondere alle informazioni sul soggetto dell'editore del certificato utilizzato per firmare un pacchetto. Per altre informazioni, vedere Creazione di pacchetti di app |
Stringa di lunghezza compresa tra 1 e 8192 caratteri che corrisponde all'espressione regolare di un nome distinto: "(CN| L|O| Unità organizzativa| E| C|S| VIA| T| G| I|SN| DC|SERIALNUMBER| (OID\. (0| [1-9] [0-9]*)(\.( 0| [1-9] [0-9]*))+))=(([^,+="<>#;]) +|". *")(, ((CN| L|O| Unità organizzativa| E| C|S| VIA| T| G| I|SN| DC|SERIALNUMBER| (OID\. (0| [1-9] [0-9]*)(\.( 0| [1-9] [0-9]*))+))=(([^,+="<>#;]) +|". *")))*". Inoltre, la convalida semantica garantisce che la stringa sia conforme a CertNameToStr Windows'implementazione dell'API delle regole X.500. | Sì |
ResourceId | Descrive il tipo di risorse dell'interfaccia utente contenute nel pacchetto. ResourceId è una stringa specificata dall'editore. |
Stringa di lunghezza compresa tra 1 e 30 caratteri costituita da caratteri alfanumerici, punti e trattini. | No |
Version | Numero di versione del pacchetto. |
Stringa di versione in notazione quadre, "Major.Minor.Build.Revision". | Sì |
Elementi figlio
Nessuno.
Elementi padre
Elemento padre | Descrizione |
---|---|
Pacchetto | Definisce l'elemento radice di un manifesto del pacchetto dell'app. Il manifesto descrive la struttura e le funzionalità del software per il sistema. |
Commenti
Importante Per le stringhe Namee ResourceID , è necessario seguire le regole seguenti:
- Caratteri di input consentiti = subset ASCII
- Lettere maiuscole (U+0041 thru U+005A)
- Lettere minuscole (U+0061 thru U+007A)
- Numeri (U+0030 thru U+0039)
- Punto (U+002E)
- Trattino (U+002D)
- Stringhe non consentite
- Non può essere uguale a...
- ".", "..", "con", "prn", "aux", "nul", "com1", "com2", "com3", "com4", "com5", "com6", "com7", "com8", "com9", "lpt1", "lpt2", "lpt3", "lpt4", "lpt5", "lpt6", "lpt7", "lpt8", "lpt9"
- Impossibile iniziare con...
- "con.", "prn.", "aux.", "nul.", "com1.", "com2.", "com3.", "com4.", "com5.", "com6.", "com7.", "com8.", "com9.", "lpt1.", "lpt2.", "lpt3.", "lpt4.", "lpt5.", "lpt6.", "lpt7.", "lpt8.", "lpt9.", "xn--"
- Non può terminare con...
- "."
- Non può contenere...
- ".xn--"
- Non può essere uguale a...
L'attributo Name viene usato dal sistema operativo e dagli sviluppatori per identificare i pacchetti. L'attributo Name non deve essere visualizzato agli utenti finali.
Quando un'app è basata su pacchetti di risorse diversi, l'attributo ResourceId deve essere univoco nell'account utente per un determinato nome di pacchetto. Le varianti principali del pacchetto basate sugli ID risorsa non possono essere installate contemporaneamente. Sono tuttavia consentite più varianti simultanee di un pacchetto di solo risorse. Di seguito sono riportati alcuni esempi di possibili attributi ResoureId :
- America del Nord
- Asia
- Lingue Europa
L Publisher attributo viene convalidato in base al nome soggetto del certificato di firma quando vengono aperti i pacchetti firmati. Se l Publisher attribuita non corrisponde esattamente al nome del soggetto, il pacchetto non è valido. È possibile costruire più rappresentazioni di stringa semanticamente equivalenti dal nome del soggetto archiviato nel certificato. Usare queste regole di canonizzazione per trovare la corrispondenza Publisher valore dell'attributo con il nome soggetto:
I valori Unicode possono essere con codifica UTF-8.
Se il nome contiene il componente di posta elettronica legacy, l'IDN (Internationalized Domain Name) è rappresentato in formato Unicode.
Gli identificatori di oggetto (OID) con nomi di chiave X.500 devono usare il nome della chiave X.500 ,ad esempio CN, non 2.5.4.3.
Gli OID senza nomi di chiave X.500 vengono identificati con il prefisso "OID", ad esempio OID.2.5.4.34.
I nomi delle chiavi OID sono separati dai relativi valori da un segno di uguale senza spazi aggiuntivi ,ad esempio CN=JohnSmith.
Più voci relative distinguished name (RDN) sono separate da una virgola seguita da uno spazio ,ad esempio CN=JohnSmith, O=Contoso.
Il valore RDN contiene virgolette solo se contiene spazi iniziali o finali o uno dei caratteri seguenti (ad esempio, CN=" JohnSmith", O="C++ Inc."):
- Virgola (,)
- Segno più (+)
- Segno di uguale (=)
- Segno di pollice (")
- Barra rovesciata seguita dalla lettera n (\n)
- Segno di minore (<)
- Segno di maggiore di (>)
- Simbolo di numero (#)
- Punto e virgola (;)
Il carattere di virgoletta è un segno di pollice ("). Se il valore RDN contiene un segno di pollice, il segno di pollice deve contenere virgolette doppie ("") oltre a essere racchiuso tra virgolette (ad esempio, CN="Guglielmo ""Bill"" Smith").
RdN multivalore non è consentito (ad esempio, CN=JohnSmith + O=Contoso).
Queste regole seguono il comportamento della funzione CertNameToStr, che può essere usata per determinare il valore dell'attributo Publisher previsto da un certificato.
Esempio
L'esempio seguente è tratto dal manifesto del pacchetto di uno degli esempi sdk.
<Identity Name="Microsoft.SDKSamples.ApplicationDataSample"
Version="1.0.0.0"
Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
Requisiti
Valore | |
---|---|
Namespace | http://schemas.microsoft.com/appx/2010/manifest |