Partilhar via


Aplicação (Windows 10)

Representa um aplicativo que compreende parte ou toda a funcionalidade fornecida no pacote.

Hierarquia de elementos

<Pacote>

     <Aplicações>

          <Aplicação>

Sintaxe

<Application
  EntryPoint? = 'See the Attributes table for more info.'
  Executable?
  uap10:HostId?
  Id
  uap10:Parameters?
  ResourceGroup?
  uap10:RuntimeBehavior?
  StartPage?
  desktop4:Subsystem?
  uap10:Subsystem?
  desktop4:SupportsMultipleInstances?
  uap10:SupportsMultipleInstances?
  uap10:TrustLevel?
  uap16:BaseNamedObjectsIsolation?
  uap17:BaseNamedObjectsIsolation?
  desktop11:AppLifecycleBehavior?
  uap11:CurrentDirectoryPath?
  uap11:Parameters?

  <!-- Child elements -->
  uap:ApplicationContentUriRules?
  Extensions?
  uap7:Properties
  uap:VisualElements

</Application>

Chave

? opcional (zero ou um)
& conector de intercalação (pode ocorrer em qualquer ordem)

Atributos e elementos

Atributos

Atributo Descrição Tipo de dados Necessário Valor padrão
EntryPoint A ID de classe ativável (por exemplo, "Office.Winword.Class"), ou "windows.fullTrustApplication", ou "windows.partialTrustApplication". Se você especificar EntryPoint, também deverá especificar o atributo Executable. Se você especificar EntryPoint, não deverá especificar o atributo StartPage. Uma cadeia de caracteres entre 1 e 256 caracteres de comprimento, representando a tarefa que manipula a extensão. Normalmente, esse é o nome totalmente qualificado para namespace de um tipo do Tempo de Execução do Windows; mas pode ser um dos valores especiais "windows.fullTrustApplication" ou "windows.partialTrustApplication". Se EntryPoint não for especificado, o EntryPoint definido para o aplicativo será usado. Não
executáveis O executável de inicialização padrão para o aplicativo. O arquivo especificado deve estar presente no pacote. Em sistemas mais antigos (consulte a seção de comentários para obter detalhes), se você especificar Executável, também deverá especificar o atributo EntryPoint. Se você especificar executável , não deverá especificar o atributo StartPage. Uma cadeia de caracteres entre 1 e 256 caracteres que deve terminar com .exe e não pode conter estes caracteres: <, >, :, ", |, ?ou *. Não
uap10:HostId A ID do aplicativo host para o aplicativo atual. Esse atributo é usado para aplicativos hospedados. Uma cadeia alfanumérica entre 1 e 255 caracteres de comprimento. Deve começar com uma letra. Não
ID O identificador exclusivo do aplicativo dentro do pacote. Esse valor às vezes é chamado de PRAID (identificador de aplicativo relativo ao pacote). O ID é exclusivo dentro do pacote, mas não globalmente. Pode haver outro pacote no sistema que usa o mesmo ID. O mesmo ID não pode ser usado mais de uma vez no mesmo pacote. Ao usar um modelo do Visual Studio, o valor padrão desse atributo é App. Os desenvolvedores devem alterar isso manualmente no manifesto. O identificador do aplicativo não deve ser alterado após a publicação do aplicativo na Microsoft Store; isso interromperá a posição do bloco na tela inicial. Uma cadeia de caracteres ASCII entre 1 e 64 caracteres de comprimento. Esta cadeia de caracteres contém campos alfanuméricos separados por pontos. Cada campo deve começar com um caractere alfabético ASCII. Não é possível usá-los como valores de campo: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5de COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8e LPT9. Sim
uap10:Parâmetros Contém parâmetros de linha de comando para passar para o aplicativo. Suportado apenas para aplicações de ambiente de trabalho que tenham identidade de pacote (consulte Descrição geral da implementação). Uma cadeia de caracteres entre 1 e 32767 caracteres de comprimento com um caractere sem espaço em branco no início e no fim. Não
ResourceGroup Uma tag usada para agrupar ativações de extensão para fins de gerenciamento de recursos (por exemplo, CPU e memória). Consulte a secção Observações em Application@ResourceGroup. Uma cadeia alfanumérica entre 1 e 255 caracteres de comprimento. Deve começar com uma letra. Não
uap10:RuntimeBehavior Especifica o comportamento de tempo de execução do aplicativo.

"packagedClassicApp" — um aplicativo WinUI 3 ou um aplicativo Desktop Bridge (Centennial). Para um aplicativo WinUI 3, geralmente vai com um TrustLevel de "mediumIL" (mas "appContainer" também é uma opção).

"win32App"—qualquer outro tipo de aplicativo Win32, incluindo um aplicativo empacotado com localização externa e deve ir com um TrustLevel de "mediumIL".

"windowsApp" — um aplicativo da Plataforma Universal do Windows (UWP). Sempre acompanha um TrustLevel de "appContainer".

Todos compartilham propriedades comuns (algumas declaradas em appxmanifest.xml) e são executados como um processo com identidade de pacote e identidade de aplicativo. Você pode pensar neles como estando em dois grupos. Um grupo é de aplicativos UWP ("windowsApp"); o outro é o Windows .exes com principal ou WinMain ("packagedClassicApp" ou "win32App"). Esse segundo grupo também é conhecido como aplicativos de desktop.
Uma cadeia de caracteres com um dos seguintes valores: "packagedClassicApp", "win32App" ou "windowsApp". Não
StartPage A página da Web que manipula o ponto de extensibilidade. Uma cadeia de caracteres com um valor entre 1 e 256 caracteres de comprimento que não pode conter estes caracteres: <, >, :, ", |, ?ou *. Qualquer URI ou IRI válido (a versão não-ASCII de um URI). Não
desktop4:Subsistema Indica se o aplicativo é um aplicativo UWP padrão ou um aplicativo de console UWP. Uma cadeia de caracteres que pode ser qualquer um dos seguintes valores: console ou windows. Não
uap10:Subsistema Indica se o aplicativo é um aplicativo UWP padrão ou um aplicativo de console UWP. Uma cadeia de caracteres que pode ser qualquer um dos seguintes valores: console ou windows. Não
desktop4:SupportsMultipleInstances Indica o suporte de várias instâncias separadas de aplicativos UWP. Para mais informações, consulte a secção de comentários. Um valor booleano. Não
uap10:SupportsMultipleInstances Indica o suporte de várias instâncias separadas de aplicativos UWP. Para mais informações, consulte a secção de comentários. Um valor booleano. Não
uap10:TrustLevel Especifica o nível de confiança do aplicativo

"mediumIL" — o aplicativo é confiança total; seu processo é executado com um nível de integridade de médio (ver Mandatory Integrity Control). Precisa do recurso restrito "Nível de Permissão de Confiança Total" (consulte Declarações de capacidade do aplicativo).

"appContainer" — o aplicativo é executado em um contêiner de aplicativo leve (consulte aplicativos MSIX AppContainer); Seu processo é executado com um nível de integridade de baixo. Também é possível que um aplicativo não empacotado seja executado em um AppContainer.
Uma cadeia de caracteres com um dos seguintes valores: "mediumIL" ou "appContainer". Não
uap16:BaseNamedObjectsIsolation Habilita o isolamento BaseNameObject (BNO) para o aplicativo. Uma cadeia de caracteres que pode ser qualquer um dos seguintes valores: pacote ou nenhum. Não
uap17:BaseNamedObjectsIsolation Habilita o isolamento BaseNameObject (BNO) para o aplicativo. Uma cadeia de caracteres que pode ser qualquer um dos seguintes valores: pacote ou nenhum. Não
desktop11:AppLifecycleBehavior Permite que um aplicativo substitua o comportamento do ciclo de vida associado ao comportamento de tempo de execução da extensão. Aplicativos ou extensões com um RuntimeBehavior de "windowsApp" implicitamente têm AppLifecycleBehavior de "systemManaged", a menos que especificado de outra forma. Aplicativos ou extensões com RuntimeBehavior de "packagedClassicApp" ou "win32App" implicitamente têm AppLifecycleBehavior de "não gerenciado", a menos que especificado de outra forma. Um dos seguintes valores: "systemManaged" , "unmanaged". Não
uap11:CurrentDirectoryPath Especifica o diretório inicial quando o processo do aplicativo é iniciado. Este atributo suporta macros. Para obter mais informações, consulte Macros no esquema de manifesto do pacote. Uma cadeia de caracteres opcional que não pode conter estes caracteres: <, >, |, ?ou *. > Não
uap11:Parâmetros O subsistema visado pela extensão. Este atributo suporta macros. Para obter mais informações, consulte Macros no esquema de manifesto do pacote. Uma cadeia de caracteres opcional com um valor entre 1 e 32767 caracteres de comprimento com um caractere sem espaço em branco no início e no fim. Não

Elementos filho

Elemento filho Descrição
uap:ApplicationContentUriRules Especifica quais páginas no contexto da Web têm acesso aos dispositivos de geolocalização do sistema (se o aplicativo tiver permissão para acessar esse recurso) e acesso à área de transferência.
Extensões (tipo: CT_ApplicationExtensions) Define um ou mais pontos de extensibilidade para o aplicativo.
uap7:Propriedades Especifica as propriedades do aplicativo.
uap:VisualElements Descreve os aspetos visuais do aplicativo: seu bloco padrão, imagens de logotipo, texto e cores de plano de fundo, orientação inicial da tela, tela inicial e aparência do bloco da tela de bloqueio.

Elementos pai

Elemento pai Descrição
Aplicações Representa um ou mais aplicativos que compõem o pacote.

Comentários

O elemento Application contém atributos que são comuns aos pontos de extensibilidade que pertencem ao aplicativo. Essas informações são usadas por outros pontos de extensibilidade para obter informações sobre o aplicativo. atributos do Application também são usados como informações de ativação na inicialização e no gerenciamento de uma instância do aplicativo (em outras palavras, eles descrevem como iniciar um processo e com que comportamento).

O atributo StartPage aplica-se apenas a aplicações JavaScript. Se do StartPage não for especificado, os atributos Executable e EntryPoint deverão ser especificados (e isso se aplica apenas a aplicativos C#, C++ ou VB).

uap10 foi introduzido no Windows 10, versão 2004 (10.0; Construído em 19041)

O namespace uap10 (para uap10:RuntimeBehavior e uap10:TrustLevel) foi introduzido no Windows 10, versão 2004 (10.0; Construção 19041). Se o seu pacote for instalado em sistemas mais antigos do que isso, você precisará fornecer uma combinação equivalente de atributos (consulte a seção a seguir), caso contrário, as informações de ativação estarão incompletas e a instalação falhará.

Mas se o seu pacote tiver <TargetDeviceFamily MinVersion="10.0.19041.0">, ou superior, ele será instalado apenas em sistemas que suportam o namespace uap10. Nesse caso, você deve usar os atributos uap10:RuntimeBehavior e uap10:TrustLevel em preferência às combinações equivalentes mais antigas (consulte a seção a seguir).

Combinações de atributos de informações de ativação

Você pode especificar atributos de informações de ativação no elemento Application; e, opcionalmente, você pode especificá-los em um elemento de de extensão de de escopo de aplicativo. Se eles não forem especificados em Extension, eles serão herdados do pai Application. Você especifica esses atributos em combinações, por exemplo, EntryPoint, RuntimeBehaviore TrustLevel têm significado sobreposto e são especificados (e/ou herdados) em combinações. Aqui estão algumas combinações válidas de atributos de informações de ativação.

  1. executável , uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel=["mediumIL" ou "appContainer" (o padrão se omitido)]
  2. executável , uap10:RuntimeBehavior="win32App", uap10:TrustLevel="mediumIL" (para outros requisitos, consulte a Descrição anteriormente neste tópico para uap10:RuntimeBehavior).
  3. executável , EntryPoint="windows.fullTrustApplication" (equivalente a uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel="mediumIL")
  4. executável , EntryPoint="windows.partialTrustApplication" (equivalente a uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel="appContainer")
  5. Executável, EntryPoint="<qualquer outra coisa>"

Como você pode ver, se seu sistema de destino não suportar o namespace uap10, você poderá especificar o atributo EntryPoint em vez disso. Da mesma forma, o equivalente a uap10:TrustLevel="appContainer"' em sistemas mais antigos é EntryPoint="windows.partialTrustApplication".

Mas é redundante especificar uap10:RuntimeBehavior/uap10:TrustLevel e EntryPoint ao mesmo tempo. Mas se você fizer isso, então é um erro se eles contradizem.

As ativações de aplicativos da Plataforma Universal do Windows (UWP) exigem EntryPoint. Então, se você especificar executável e uap10:RuntimeBehavior="windowsApp" (sem EntryPoint), isso é um erro. Nesse mesmo caso, EntryPoint especificaria algo diferente de "windows.fullTrustApplication" e "windows.partialTrustApplication"; e valores diferentes desses dois já dizem a mesma coisa que uap10:RuntimeBehavior="windowsApp". Portanto, uap10:RuntimeBehavior seria redundante nesse caso, e você especificaria executável e EntryPoint.

Não há suporte para a configuração uap10:RuntimeBehavior="win32App" e uap10:TrustLevel="appContainer".

Definir uap10:TrustLevel="mediumIL" enquanto uap10:RuntimeBehavior="windowsApp" requer o Microsoft.coreAppActivation_8wekyb3d8bbwe Capacidade Personalizada.

Isso também é verdade se uap10:TrustLevel="mediumIL" e EntryPoint for qualquer outro valor que não "windows.fullTrustApplication" ou "windows.partialTrustApplication".

Você pode ler mais sobre esse recurso personalizado aqui em Custom Capabilities.

Observações importantes sobre aplicações multi-instanciação

  • Se um aplicativo declarar SupportsMultipleInstances dentro do elemento Application, todas as extensões de primeiro plano também serão multiinstâncias.
  • Se o aplicativo declarar SupportsMultipleInstances dentro do elemento Application, ele não precisará ser declarado no nível Extensões (por exemplo, em um BackgroundTasks ou elemento AppService).
  • O aplicativo só deve declarar SupportsMultipleInstances em tarefas em segundo plano, áudio em segundo plano ou serviços do aplicativo.
  • Os aplicativos de console sempre serão com várias instâncias e devem declarar explicitamente SupportsMultipleInstances.
  • Os aplicativos podem usar a declaração ResourceGroup no manifesto para agrupar várias tarefas em segundo plano no mesmo host. Isso entra em conflito com a multi-instancing, onde cada ativação vai para um host separado. Portanto, um aplicativo não pode declarar SupportsMultipleInstances e ResourceGroup no manifesto.

Para saber mais sobre como usar o atributo SupportsMultipleInstances para dar suporte a várias instâncias separadas de aplicativos UWP, veja Criar um aplicativo universal do Windows com várias instâncias.

Requerimentos

Número Valor
Namespace http://schemas.microsoft.com/appx/manifest/uap/windows10
desktop4 atributos http://schemas.microsoft.com/appx/manifest/desktop/windows10/4
uap10 atributos http://schemas.microsoft.com/appx/manifest/uap/windows10/10