Aplicativo (Windows 10)

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

Hierarquia de elementos

do pacote

    aplicativos <>

         <application>

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 dado Necessário Valor padrão
do EntryPoint A ID da classe ativada (por exemplo, "Office.Winword.Class" ou "windows.fullTrustApplication" ou "windows.partialTrustApplication". Se você especificar do EntryPoint, também deverá especificar o atributo Executável. Se você especificar do 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 para namespace de um tipo do 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. Não
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 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 esses caracteres: <, >, :, ", |, ?ou *. Não
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. Não
ID O identificador exclusivo do aplicativo dentro do pacote. Às vezes, esse valor é chamado de PRAID (identificador de aplicativo relativo ao 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 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. Essa cadeia de caracteres contém campos alfanuméricos separados por períodos. Cada campo deve começar com um caractere alfabético ASCII. Não é possível usá-los como valores de campo: CON, DE , AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 e LPT9. Sim
uap10:Parameters Contém parâmetros de linha de comando a serem passados para o aplicativo. Só há suporte para aplicativos da área de trabalho que têm 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 whitespace no início e no final. Não
do 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 no Application@ResourceGroup. Uma cadeia de caracteres 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 da Ponte da Área de Trabalho (Centennial). Para um aplicativo WinUI 3, geralmente acompanha 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 UWP (Plataforma Universal do Windows). Sempre acompanha um TrustLevel de "appContainer".

Todos compartilham propriedades comuns (algumas declaradas em appxmanifest.xml) e são executadas como um processo com a identidade do pacote e a identidade do aplicativo. Você pode pensar neles como sendo em dois grupos. Um grupo são aplicativos UWP ("windowsApp"); o outro é o Windows .execom principal 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". 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 esses 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 janelas. 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 janelas. Não
desktop4:SupportsMultipleInstances Indica o suporte a várias instâncias separadas de aplicativos UWP. Para obter mais informações, consulte a seção comentários. Um valor booliano. Não
uap10:SupportsMultipleInstances Indica o suporte a várias instâncias separadas de aplicativos UWP. Para obter mais informações, consulte a seção comentários. Um valor booliano. Não
uap10:TrustLevel Especifica o nível de confiança do aplicativo

"mediumIL"— o aplicativo é total confiança; seu processo é executado com um nível de integridade de médio (consulte de 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 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 de 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 de 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 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" têm implicitamente 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 de aplicativo é iniciado. Esse atributo dá suporte a macros. Para obter mais informações, consulte Macros no esquema de manifesto do pacote. Uma cadeia de caracteres opcional que não pode conter esses caracteres: <, >, |, ?ou *. > Não
uap11:Parameters Esse atributo é herdado da sintaxe de extensão base e não é aplicável à extensão com4. Além da validação sintactica, esse valor é ignorado. Esse atributo dá suporte a 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 não whitespace no início e no final. Não

Elementos filho

Elemento filho Descrição
uap:ApplicationContentUriRules Especifica quais páginas no contexto da Web têm acesso aos dispositivos de localização geográfica do sistema (se o aplicativo tiver permissão para acessar essa funcionalidade) e acesso à área de transferência.
extensões de (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.

Observações

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. atributos de de aplicativo também são usados como informações de ativação na inicialização e 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áveis 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; Build 19041)

O namespace uap10 (para uap10:RuntimeBehavior e uap10:TrustLevel) foi introduzido no Windows 10, versão 2004 (10.0; Build 19041). Se o pacote for instalado em sistemas anteriores a esse, 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 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 no escopo do aplicativo. Se elas não forem especificadas node Extensão , elas serão herdadas dode Aplicativo do pai. Especifique esses atributos em combinações, por exemplo, do 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 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="<qualquer outra coisa>"

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

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

As ativações do aplicativo UWP (Plataforma Universal do Windows) exigem do EntryPoint. Portanto, se você especificar executável e uap10:RuntimeBehavior="windowsApp" (sem do EntryPoint), isso será um erro. Nesse mesmo caso, EntryPoint especificaria algo diferente de "windows.fullTrustApplication" e "windows.partialTrustApplication"; e valores diferentes daqueles 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".

A configuração uap10:TrustLevel="mediumIL" enquanto uap10:RuntimeBehavior="windowsApp" requer o recurso personalizado Microsoft.coreAppActivation_8wekyb3d8bbwe.

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

Você pode ler mais sobre essa funcionalidade personalizada aqui no recursos personalizados.

Notas importantes sobre aplicativos de várias instanciação

  • Se um aplicativo declarar SupportsMultipleInstances dentro do elemento Application, todas as extensões de primeiro plano também serão de várias instâncias.
  • Se o aplicativo declarar SupportsMultipleInstances dentro do elemento do aplicativo , ele não precisará ser declarado no nível de de 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. Isso entra em conflito com várias instanciações, em que 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 de desktop4 http://schemas.microsoft.com/appx/manifest/desktop/windows10/4
atributos uap10 http://schemas.microsoft.com/appx/manifest/uap/windows10/10