Identidad (esquema de paquete para Windows 8)

Define un identificador único global para un paquete. Una identidad de paquete se representa como una tupla de atributos del paquete.

Jerarquía de elemento

<Paquete>
<Identidad>

Sintaxis

<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. />

Clave

? opcional (cero o uno)

Atributos y elementos

Atributos

Atributo Descripción Tipo de datos Obligatorio
Nombre

Describe el contenido del paquete. El atributo Name no tiene en cuenta las mayúsculas y minúsculas.

Use el atributo DisplayName para mostrar un nombre de paquete a los usuarios.

Cadena de entre 3 y 50 caracteres que consta de caracteres alfanuméricos, de punto y de guion.
ProcessorArchitecture

Describe la arquitectura del código contenido en el paquete. Un paquete que incluya código ejecutable debe incluir este atributo.

Este atributo puede tener uno de los siguientes valores:

  • x86
  • x64
  • ARM
  • neutral
No
Publisher

Describe la información del publicador. El Publisher debe coincidir con la información del asunto del publicador del certificado utilizado para firmar un paquete. Para más información, consulte Empaquetado de aplicaciones.

Cadena de entre 1 y 8192 caracteres que se ajusta a la expresión regular de un nombre distintivo: "(CN| L|O| Unidad organizativa| E| C|S| STREET| T| G| I|SN| DC|SERIALNUMBER| (OID\. (0| [1-9] [0-9]*)(\.( 0| [1-9] [0-9]*))+))=(([^,+="<>#;]) +|". *")(, ((CN| L|O| Unidad organizativa| E| C|S| STREET| T| G| I|SN| DC|SERIALNUMBER| (OID\. (0| [1-9] [0-9]*)(\.( 0| [1-9] [0-9]*))+))=(([^,+="<>#;]) +|". *")))*". Además, la validación semántica garantiza que la cadena es compatible con CertNameToStr Windows api de implementación de reglas X.500.
ResourceId

Describe el tipo de recursos de interfaz de usuario contenidos en el paquete. ResourceId es una cadena especificada por el publicador.

Cadena de entre 1 y 30 caracteres de longitud que consta de caracteres alfanuméricos, de punto y de guion. No
Versión

Número de versión del paquete.

Una cadena de versión en la notación quad, "Major.Minor.Build.Revision".

 

Elementos secundarios

Ninguno.

Elementos primarios

Elemento primario Descripción
Package

Define el elemento raíz de un manifiesto de paquete de aplicación. El manifiesto describe la estructura y las funcionalidades del software para el sistema.

 

Comentarios

Importante Para las cadenas Namey ResourceID , se deben seguir las reglas siguientes:

  • Caracteres de entrada permitidos = subconjunto ASCII
    • Letras mayúsculas (U+0041 hasta U+005A)
    • Letras minúsculas (U+0061 hasta U+007A)
    • Números (U+0030 hasta U+0039)
    • Punto (U+002E)
    • Dash (U+002D)
  • Cadenas prohibidas
    • No puede ser igual a...
      • ".", "..", "con", "prn", "aux", "nul", "com1", "com2", "com3", "com4", "com5", "com6", "com7", "com8", "com9", "lpt1", "lpt2", "lpt3", "lpt4", "lpt5", "lpt6", "lpt7", "lpt8", "lpt9"
    • No se puede empezar por...
      • "con.", "prn.", "aux.", "nul.", "com1.", "com2.", "com3.", "com4.", "com5.", "com6.", "com7.", "com8.", "com9.", "lpt1.", "lpt2.", "lpt3.", "lpt4.", "lpt5.", "lpt6.", "lpt7.", "lpt8.", "lpt9.", "xn--"
    • No se puede terminar con...
      • "."
    • No puede contener...
      • ".xn--"

 

El sistema operativo y los desarrolladores usan el atributo Name para identificar paquetes. El atributo Name no está pensado para mostrarse a los usuarios finales.

Cuando una aplicación se basa en distintos paquetes de recursos, el atributo ResourceId debe ser único en la cuenta de usuario para un nombre de paquete determinado. No se permite instalar simultáneamente variantes de paquetes principales basadas en identificadores de recursos. Sin embargo, se permiten varias variantes simultáneas de un paquete de solo recursos. Entre los ejemplos de posibles atributos resoureId se incluyen:

  • Norteamérica
  • Asia
  • Idiomas europeos

El Publisher se valida con el nombre de sujeto del certificado de firma cuando se abren los paquetes firmados. Si el Publisher no coincide exactamente con el nombre del sujeto, el paquete no es válido. Puede construir varias representaciones de cadena semánticamente equivalentes a partir del nombre de sujeto que se almacena en el certificado. Use estas reglas de canonización para hacer coincidir el valor Publisher atributo con ese nombre de sujeto:

  • Los valores Unicode pueden estar codificados en UTF-8.

  • Si el nombre contiene el componente de correo electrónico heredado, el nombre de dominio internacionalizado (IDN) se representa en formato Unicode.

  • Los identificadores de objeto (IDENTIFIER) con nombres de clave X.500 deben usar el nombre de clave X.500 (por ejemplo, CN, no 2.5.4.3).

  • Los OID sin nombres de clave X.500 se identifican con el prefijo "OID." (por ejemplo, OID.2.5.4.34).

  • Los nombres de clave de OID se separan de sus valores mediante un signo igual sin espacios adicionales (por ejemplo, CN=JohnSmith).

  • Varias entradas de nombre distintivo relativo (RDN) están separadas por una coma seguida de un espacio (por ejemplo, CN=JohnSmith, O=Contoso).

  • El valor RDN tiene comillas alrededor de él solo si contiene espacios en blanco iniciales o finales o uno de los caracteres siguientes (por ejemplo, CN=" JohnSmith", O="C++ Inc."):

    • Coma (,)
    • Signo más (+)
    • Signo igual (=)
    • Marca de pulgada (")
    • Barra diagonal inversa seguida de la letra n (\n)
    • Menor que el signo (<)
    • Mayor que el signo (>)
    • Signo de número (#)
    • Punto y coma (;)
  • El carácter de comilla es una marca de pulgada ("). Si el valor RDN contiene una marca de pulgada, la marca de pulgada debe tener comillas dobles ("") además de incluirse entre comillas (por ejemplo, CN="Bill"").

  • No se permiten RDN de varios valores (por ejemplo, CN=JohnSmith + O=Contoso).

Estas reglas siguen el comportamiento de la función CertNameToStr, que se puede usar para determinar el valor Publisher atributo esperado de un certificado.

Ejemplos

El ejemplo siguiente se toma del manifiesto del paquete de uno de los ejemplos del SDK.

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

Requisitos

Value
Espacio de nombres http://schemas.microsoft.com/appx/2010/manifest