Identidade (esquema de pacote para Windows 8)

Define um identificador global exclusivo para um pacote. Uma identidade de pacote é representada como uma tupla de atributos do pacote.

Hierarquia de elementos

<Agrupa>
<Identidade>

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

Chave

? opcional (zero ou um)

Atributos e elementos

Atributos

Atributo Descrição Tipo de dados Necessária
Nome

Descreve o conteúdo do pacote. O atributo de nome não diferencia maiúsculas de minúsculas.

Use o atributo DisplayName para exibir um nome de pacote para os usuários.

Uma cadeia de caracteres entre 3 e 50 caracteres de comprimento que consiste em caracteres alfanuméricos, de ponto e de traço. Sim
ProcessorArchitecture

Descreve a arquitetura do código contido no pacote. Um pacote que inclui código executável deve incluir esse atributo.

Esse atributo pode ter um dos seguintes valores:

  • x86
  • x64
  • arm
  • neutro
Não
Publisher

Descreve as informações do Publicador. o atributo Publisher deve corresponder às informações de assunto do usuário do certificado usado para assinar um pacote. Para obter mais informações, consulte empacotando aplicativos

Uma cadeia de caracteres entre 1 e 8192 caracteres de comprimento que se adapta à expressão regular de um nome distinto: "(CN | L | O | UO | E | C | S | RUA | T | G | I | SN | DC | SERIALNUMBER | OIDs. (0 | [1-9] [0-9] *) (\. ( 0 | [1-9] [0-9] *))) = (([^, + = " <> #;]) +|". * ") (, ((CN | L | O | UO | E | C | S | RUA | T | G | I | SN | DC | SERIALNUMBER | OIDs. (0 | [1-9] [0-9] *) (\. ( 0 | [1-9] [0-9] *))) = (([^, + = " <> #;]) +|". *")))*". além disso, a validação semântica garante que a cadeia de caracteres é compatível com a implementação da API de Windows de CertNameToStr de regras X. 500. Yes
ResourceId

Descreve o tipo de recursos de interface do usuário contidos no pacote. O ResourceId é uma cadeia de caracteres especificada pelo Publicador.

Uma cadeia de caracteres entre 1 e 30 caracteres de comprimento que consiste em caracteres alfanuméricos, de ponto e de traço. Não
Versão

O número de versão do pacote.

Uma cadeia de caracteres de versão na notação quádrupla, "Major. Minor. Build. Revision". Yes

 

Elementos filho

Nenhum.

Elementos pai

Elemento pai Descrição
Pacote

Define o elemento raiz de um manifesto de pacote de aplicativo. O manifesto descreve a estrutura e os recursos do software para o sistema.

 

Comentários

Importante Para as cadeias de caracteres Name e ResourceId , as seguintes regras devem ser seguidas:

  • Caracteres de entrada permitidos = subconjunto ASCII
    • Letras maiúsculas (U + 0041 até U + 005A)
    • Letras minúsculas (U + 0061 até U + 007A)
    • Números (U + 0030 até U + 0039)
    • Ponto (U + 002E)
    • Dash (U + 002D)
  • Cadeias de caracteres proibidas
    • Não pode 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"
    • Não é possível começar com...
      • "con.", "PRN.", "AUX.", "NUL.", "COM1.", "COM2.", "com3.", "COM4"., "COM5.", "com6.", "COM7.", "COM8.", "COM9.", "LPT1.", "LPT2.", "LPT3.", "LPT4.", "LPT5.", "LPT6.", "LPT7.", "LPT8.", "LPT9.", "xn--"
    • Não é possível terminar com...
      • "."
    • Não pode conter...
      • ". xn--"

 

O atributo de nome é usado pelo sistema operacional e pelos desenvolvedores para identificar pacotes. O atributo de nome não deve ser exibido para os usuários finais.

Quando um aplicativo é baseado em pacotes de recursos diferentes, o atributo ResourceId deve ser exclusivo na conta de usuário para um determinado nome de pacote. As variantes de pacote principal com base em IDs de recurso não podem ser instaladas simultaneamente. No entanto, várias variantes simultâneas de um pacote somente de recursos são permitidas. Exemplos de possíveis atributos ResoureId incluem:

  • América do Norte
  • Ásia
  • Idiomas europeus

o atributo Publisher é validado em relação ao nome da entidade do certificado de autenticação quando pacotes assinados são abertos. se o atributo Publisher não corresponder exatamente ao nome da entidade, o pacote será inválido. Você pode construir várias representações de cadeia de caracteres semanticamente equivalentes do nome da entidade que está armazenado no certificado. Use essas regras de canonização para corresponder o valor do atributo Publisher ao nome do assunto:

  • Os valores Unicode podem ser codificados em UTF-8.

  • Se o nome contiver o componente de email herdado, o IDN (nome de domínio internacionalizado) será representado na forma Unicode.

  • Os identificadores de objeto (OIDs) com nomes de chave X. 500 devem usar o nome da chave X. 500 (por exemplo, CN, não 2.5.4.3).

  • Os OIDs sem nomes de chave X. 500 são identificados com o prefixo "OID." (por exemplo, OID. 2.5.4.34).

  • Nomes de chave de OID são separados de seus valores por um sinal de igual sem espaços extras (por exemplo, CN = JohnSmith).

  • Várias entradas de RDN (nome distinto relativo) são separadas por uma vírgula seguida por um espaço (por exemplo, CN = JohnSmith, O = contoso).

  • O valor RDN tem aspas apenas se ele contiver espaços em branco à esquerda ou à direita ou um dos caracteres a seguir (por exemplo, CN = "JohnSmith", O = "C++ Inc."):

    • Vírgula (,)
    • Sinal de adição (+)
    • Sinal de igual (=)
    • Marca de polegada (")
    • Barra invertida seguida pela letra n (\n)
    • Sinal de menor que ( < )
    • Sinal de maior que ( > )
    • Sinal de número (#)
    • Ponto-e-vírgula (;)
  • O caractere de cotação é uma marca de polegada ("). Se o valor RDN contiver uma marca de polegada, a marca de polegada deverá ter aspas duplas (""), além de serem colocadas entre aspas (por exemplo, CN = "William" "Bill" "Smith").

  • Não são permitidos RDN de valores distintos (por exemplo, CN = JohnSmith + O = contoso).

essas regras seguem o comportamento da função CertNameToStr , que pode ser usada para determinar o valor esperado de atributo de Publisher de um certificado.

Exemplos

O exemplo a seguir é extraído do manifesto do pacote de um dos exemplos do 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

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