Aplicativo (Windows 10)

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

Hierarquia de elementos

<Pacote>

    <Aplicativos>

         <Aplicativo>

Syntax

<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?

  <!-- 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 Obrigatório Valor padrão
EntryPoint A ID de classe ativada (por exemplo, "Office.Winword.Class" ou "windows.fullTrustApplication" ou "windows.partialTrustApplication". Se você especificar EntryPoint, também deverá especificar o atributo Executável . 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 está tratando a extensão. Normalmente, esse é o nome totalmente qualificado do namespace de um tipo de Windows Runtime; 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. No
Executável 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 de comprimento que deve terminar com .exe e não pode conter estes caracteres: <, >, :, ", |, ?ou *. No
uap10:HostId A ID do aplicativo host do aplicativo atual. Esse atributo é usado para aplicativos hospedados. Uma cadeia de caracteres alfanumérica entre 1 e 255 caracteres de comprimento. Deve começar com uma letra. No
Id O identificador exclusivo do aplicativo dentro do pacote. Às vezes, esse valor é denominado PRAID (identificador do aplicativo relativo do pacote). A ID é exclusiva dentro do pacote, mas não globalmente. Pode haver outro pacote no sistema que usa a mesma ID. A mesma ID não pode ser usada 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 depois que o aplicativo tiver sido publicado na Microsoft Store; Isso interromperá a posição do bloco na tela inicial. Uma cadeia de caracteres ASCII entre 1 e 64 caracteres. Essa cadeia de caracteres contém campos alfanuméricos separados por pontos. Cada campo precisa começar com um caractere alfabético ASCII. Você não pode usá-los como valores de campo: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 e LPT9. Yes
uap10:Parameters Contém parâmetros de linha de comando a serem passados para o aplicativo. Há suporte apenas para aplicativos da área de trabalho que têm a identidade do pacote (consulte Visão geral da implantação). Uma cadeia de caracteres entre 1 e 32767 caracteres de comprimento com um caractere não em branco no início e no final. No
ResourceGroup Uma marca usada para agrupar ativações de extensão para fins de gerenciamento de recursos (por exemplo, CPU e memória). Consulte a seção Comentários em Application@ResourceGroup. Uma cadeia de caracteres alfanumérica entre 1 e 255 caracteres de comprimento. Deve começar com uma letra. No
uap10:RuntimeBehavior Especifica o comportamento de tempo de execução do aplicativo.

"packagedClassicApp"— um aplicativo WinUI 3 ou um aplicativo Ponte de Desktop (Centennial). Para um aplicativo WinUI 3, geralmente é usado 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. Normalmente, o acompanha um TrustLevel de "mediumIL" (mas "appContainer" também é uma opção).

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

Todos compartilham propriedades comuns (algumas declaradas em appxmanifest.xml) e são executadas como um processo com identidade do pacote e identidade do aplicativo. Você pode pensar neles como sendo em dois grupos. Um grupo são aplicativos UWP ("windowsApp"); o outro é o Windows .exes com main ou WinMain ("packagedClassicApp" ou "win32App"). Esse segundo grupo também é conhecido como aplicativos da área de trabalho.
Uma cadeia de caracteres com um dos seguintes valores: "packagedClassicApp", "win32App" ou "windowsApp". No
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). No
desktop4:Subsystem 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 janelas. No
uap10:Subsystem 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 janelas. No
desktop4:SupportsMultipleInstances Indica suporte a várias instâncias separadas de aplicativos UWP. Para obter mais informações, consulte a seção comentários. Um valor booliano. No
uap10:SupportsMultipleInstances Indica suporte a várias instâncias separadas de aplicativos UWP. Para obter mais informações, consulte a seção comentários. Um valor booliano. No
uap10:TrustLevel Especifica o nível de confiança do aplicativo

"mediumIL"— o aplicativo é de confiança total; seu processo é executado com um nível de integridade médio (consulte Controle de Integridade Obrigatório). Precisa da funcionalidade restrita "Nível de Permissão de Confiança Total" (consulte Declarações de funcionalidade do aplicativo).

"appContainer"— o aplicativo é executado em um contêiner de aplicativo leve (consulte Aplicativos MSIXContainer); seu processo é executado com um nível de integridade 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". No
uap16:BaseNamedObjectsIsolation Habilita o isolamento de BaseNameObject (BNO) para o aplicativo. Uma cadeia de caracteres que pode ser qualquer um dos seguintes valores: pacote ou nenhum. No
uap17:BaseNamedObjectsIsolation Habilita o isolamento de BaseNameObject (BNO) para o aplicativo. Uma cadeia de caracteres que pode ser qualquer um dos seguintes valores: pacote ou nenhum. No
desktop11:AppLifecycleBehavior Permite que um aplicativo substitua o comportamento do ciclo de vida associado ao comportamento de runtime da extensão. Aplicativos ou extensões com um RuntimeBehavior de "windowsApp" têm implicitamente 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 "unmanaged", a menos que especificado de outra forma. Um dos seguintes valores: "systemManaged", "unmanaged". No

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 essa funcionalidade) e acesso à área de transferência.
Extensões (tipo: CT_ApplicationExtensions) Define um ou mais pontos de extensibilidade para o aplicativo.
uap7:Properties Especifica as propriedades do aplicativo.
uap:VisualElements Descreve os aspectos visuais do aplicativo: seu bloco padrão, imagens de logotipo, cores de texto e plano de fundo, orientação inicial da tela, tela inicial e aparência do bloco de tela de bloqueio.

Elementos pai

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

Comentários

O elemento Application contém atributos 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. Os atributos de aplicativo 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 qual comportamento).

O atributo StartPage aplica-se somente a aplicativos JavaScript. Se StartPage não for especificado, os atributos Executável e EntryPoint deverão ser especificados (e isso se aplica somente a aplicativos C#, C++ou VB).

uap10 foi introduzido em Windows 10, versão 2004 (10.0; Build 19041)

O uap10 namespace (para uap10:RuntimeBehavior e uap10:TrustLevel) foi introduzido em Windows 10, versão 2004 (10.0; Build 19041). Se o 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á.

No entanto, se o pacote tiver <TargetDeviceFamily MinVersion="10.0.19041.0">ou superior, ele será instalado apenas em sistemas que dão suporte ao uap10 namespace. Nesse caso, você deve usar os uap10:RuntimeBehavior atributos e uap10:TrustLevel em preferência para as 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 Extension de escopo de aplicativo. Se elas não forem especificadas na Extensão, elas serão herdadas do Aplicativo pai. Especifique esses atributos em combinações, por exemplo, EntryPoint, RuntimeBehavior e 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 anterior 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="<anything else>"

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

É redundante especificar uap10:RuntimeBehavior/uap10:TrustLevel e EntryPoint ao mesmo tempo, mas se você fizer isso, será um erro se eles contradizem.

Plataforma Universal do Windows ativações de aplicativo (UWP) exigem EntryPoint. Portanto, se você especificar Executável e uap10:RuntimeBehavior="windowsApp" (sem EntryPoint), isso será 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 de uap10:RuntimeBehavior="win32App" e uap10:TrustLevel="appContainer".

A configuração uap10:TrustLevel="mediumIL" enquanto uap10:RuntimeBehavior="windowsApp" requer a Microsoft.coreAppActivation_8wekyb3d8bbwe Funcionalidade Personalizada.

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

Você pode ler mais sobre essa funcionalidade personalizada aqui em Recursos Personalizados.

Observações importantes sobre aplicativos de várias instanciação

  • Se um aplicativo declarar SupportsMultipleInstances dentro do elemento Application , todas as extensões em primeiro plano também serão de várias instâ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 elemento BackgroundTasks ou AppService ).
  • O aplicativo só deve declarar SupportsMultipleInstances em tarefas em segundo plano, áudio em segundo plano ou serviços de aplicativo.
  • Os aplicativos de console sempre serão de 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. Entra em conflito com várias instâncias, onde cada ativação entra em um host separado. Portanto, um aplicativo não pode declarar SupportsMultipleInstances e ResourceGroup no manifesto.

Para obter mais informações sobre como usar o atributo SupportsMultipleInstances para dar suporte a várias instâncias separadas de aplicativos UWP, consulte Criar um Aplicativo Universal do Windows de várias instâncias.

Requisitos

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