Application

Representa una aplicación que consta de parte o de toda la funcionalidad que se entrega en el paquete.

Jerarquía de elementos

<Package>
   └─ <Applications>
      └─ <Application>

Sintaxis

<Package
  xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10">
  ...
  <Application
    Id = 'A required value. <!-- TODO: Add description for t:ST_ApplicationId -->'
    Executable = 'An optional string between 1 and 256 characters in length that must end with ".exe" and cannot contain these characters: <, >, :, ", |, ?, or *.'
    EntryPoint = 'An optional string between 1 and 256 characters in length that cannot start or end with a whitespace character.'
    StartPage = 'An optional value. <!-- TODO: Add description for t:ST_ApplicationStartPage -->'
    ResourceGroup = 'An optional alphanumeric string between 1 and 255 characters in length. Must begin with an alphabetic character.'
    desktop4:Subsystem = 'An optional string that can have one of the following values: "console", or "windows".'
    iot2:Subsystem = 'An optional string that can have one of the following values: "console", or "windows".'
    uap10:Subsystem = 'An optional string that can have one of the following values: "console", or "windows".'
    desktop4:SupportsMultipleInstances = 'An optional boolean value.'
    iot2:SupportsMultipleInstances = 'An optional boolean value.'
    uap10:SupportsMultipleInstances = 'An optional boolean value.'
    uap11:CurrentDirectoryPath = 'An optional string that cannot contain these characters: <, >, |, ?, or *.'
    uap11:Parameters = 'An optional string between 1 and 32767 characters in length with a non-whitespace character at its beginning and end.'
    previewsecurity:TrustLevel = 'An optional string that can have one of the following values: "appContainer", "mediumIL", or "appSilo".'
    uap10:TrustLevel = 'An optional string that can have one of the following values: "appContainer", or "mediumIL".'
    uap10:RuntimeBehavior = 'An optional string that can have one of the following values: "windowsApp", "packagedClassicApp", or "win32App".'
    uap10:HostId = 'An optional alphanumeric string between 1 and 255 characters in length. Must begin with an alphabetic character.'
    uap10:Parameters = 'An optional string between 1 and 32767 characters in length with a non-whitespace character at its beginning and end.'
    previewsecurity2:RuntimeBehavior = 'An optional string that can have one of the following values: "windowsApp", "packagedClassicApp", "win32App", or "appSilo".'
    uap16:BaseNamedObjectsIsolation = 'An optional string that can have one of the following values: "none", or "package".'
    uap17:BaseNamedObjectsIsolation = 'An optional string that can have one of the following values: "none", or "package".'
    desktop11:AppLifecycleBehavior = 'An optional string that can have one of the following values: "systemManaged", or "unmanaged".' >

    <!-- Child elements -->
    VisualElementsChoice
    ApplicationContentUriRules?
    Extensions?
    Properties?

  </Application>
</Package>

Clave

? opcional (cero o uno)

Atributos

Attribute Descripción Tipo de dato Obligatorio Valor predeterminado
Id Identificador único de la aplicación dentro del paquete. Este valor se conoce a veces como identificador de aplicación relativa al paquete (PRAID). El identificador es único dentro del paquete, pero no globalmente. Puede haber otro paquete en el sistema que use el mismo identificador. No se puede usar el mismo identificador más de una vez en el mismo paquete. Al usar una plantilla de Visual Studio, el valor predeterminado de este atributo es App. Los desarrolladores deben cambiarlo manualmente en el manifiesto. El identificador de la aplicación no debe cambiarse después de que la aplicación se haya publicado en el Microsoft Store; si lo hace, se interrumpirá la posición del icono en la pantalla Inicio. Un valor.
Executable Ejecutable de inicio predeterminado. Cadena opcional entre 1 y 256 caracteres de longitud que debe terminar con ".exe" y no puede contener estos caracteres: <, , : >, ", |, ?o *. No
EntryPoint Identificador de clase activable. Cadena opcional entre 1 y 256 caracteres de longitud que no puede iniciar ni terminar con un carácter de espacio en blanco. No
StartPage La página web que controla el punto de extensibilidad. Valor opcional. No
ResourceGroup Etiqueta que puede usar para agrupar las activaciones de extensión con fines de administración de recursos (por ejemplo, CPU y memoria). Cadena alfanumérica opcional entre 1 y 255 caracteres de longitud. Debe comenzar con un carácter alfabético. No
desktop4:Subsystem Indica si la aplicación es una aplicación para UWP estándar o una aplicación de consola para UWP. Cadena opcional que puede tener uno de los siguientes valores: consola, ventanas. No
iot2:Subsystem Cadena opcional que puede tener uno de los siguientes valores: consola, ventanas. No
uap10:Subsystem Indica si la aplicación es una aplicación para UWP estándar o una aplicación de consola para UWP. Cadena opcional que puede tener uno de los siguientes valores: consola, ventanas. No
desktop4:SupportsMultipleInstances Indica la compatibilidad de varias instancias independientes de aplicaciones para UWP. Para obtener más información, consulta la sección comentarios. Valor booleano opcional. No
iot2:SupportsMultipleInstances Valor booleano opcional. No
uap10:SupportsMultipleInstances Indica la compatibilidad de varias instancias independientes de aplicaciones para UWP. Para obtener más información, consulta la sección comentarios. Valor booleano opcional. No
uap11:CurrentDirectoryPath Especifica el directorio inicial al iniciar el proceso. Este atributo admite macros. Para obtener más información, consulta Macros en el esquema de manifiesto del paquete. Cadena opcional que no puede contener estos caracteres: <, , >|, ?o *. No
uap11:Parameters Contiene parámetros de línea de comandos para pasar a la extensión. Este atributo admite macros. Para obtener más información, consulta Macros en el esquema de manifiesto del paquete. Cadena opcional entre 1 y 32767 caracteres de longitud con un carácter de espacio no en blanco al principio y al final. No
previewsecurity:TrustLevel Cadena opcional que puede tener uno de los siguientes valores: appContainer, mediumIL, appSilo. No
uap10:TrustLevel Especifica el nivel de confianza de la extensión. Cadena opcional que puede tener uno de los siguientes valores: appContainer, mediumIL. No
uap10:RuntimeBehavior Especifica el comportamiento en tiempo de ejecución de la extensión. Cadena opcional que puede tener uno de los siguientes valores: windowsApp, packagedClassicApp, win32App. No
uap10:HostId Especifica el identificador del entorno de ejecución del host para la extensión. Cadena alfanumérica opcional entre 1 y 255 caracteres de longitud. Debe comenzar con un carácter alfabético. No
uap10:Parameters Contiene parámetros de línea de comandos para pasar a la extensión. Solo se admite para las aplicaciones de escritorio que tienen identidad de paquete. Cadena opcional entre 1 y 32767 caracteres de longitud con un carácter de espacio no en blanco al principio y al final. No
previewsecurity2:RuntimeBehavior Cadena opcional que puede tener uno de los siguientes valores: windowsApp, packagedClassicApp, win32App, appSilo. No
uap16:BaseNamedObjectsIsolation Habilita el aislamiento de BaseNameObject (BNO) para la aplicación. Cadena opcional que puede tener uno de los siguientes valores: none, package. No
uap17:BaseNamedObjectsIsolation Habilita el aislamiento de BaseNameObject (BNO) para la aplicación. Cadena opcional que puede tener uno de los siguientes valores: none, package. No
desktop11:AppLifecycleBehavior Permite que una aplicación invalide el comportamiento del ciclo de vida asociado al comportamiento en tiempo de ejecución de la extensión. Las aplicaciones o extensiones con un RuntimeBehavior de "windowsApp" tienen implícitamente AppLifecycleBehavior de "systemManaged" a menos que se especifique lo contrario. Las aplicaciones o extensiones con RuntimeBehavior de "packagedClassicApp" o "win32App" implícitamente tienen AppLifecycleBehavior de "no administrado" a menos que se especifique lo contrario. Cadena opcional que puede tener uno de los siguientes valores: systemManaged, unmanaged. No

Elementos hijos

Elemento secundario Descripción
uap:ApplicationContentUriRules Especifica qué páginas del contexto web tienen acceso a los dispositivos de geolocalización del sistema (si la aplicación tiene permiso para acceder a esta funcionalidad) y el acceso al Portapapeles.
Extensions Define uno o varios puntos de extensibilidad para la aplicación.
uap7:Properties Propiedades de una aplicación.

Elementos principales

Elemento principal Descripción
Applications Representa una o varias aplicaciones que componen el paquete.

Requisitos

Elemento Value
Namespace http://schemas.microsoft.com/appx/manifest/foundation/windows10
desktop11 http://schemas.microsoft.com/appx/manifest/desktop/windows10/11
desktop4 http://schemas.microsoft.com/appx/manifest/desktop/windows10/4
iot2 http://schemas.microsoft.com/appx/manifest/iot/windows10/2
previewsecurity http://schemas.microsoft.com/appx/manifest/preview/windows10/security
previewsecurity2 http://schemas.microsoft.com/appx/manifest/preview/windows10/security/2
uap10 http://schemas.microsoft.com/appx/manifest/uap/windows10/10
uap11 http://schemas.microsoft.com/appx/manifest/uap/windows10/11
uap16 http://schemas.microsoft.com/appx/manifest/uap/windows10/16
uap17 http://schemas.microsoft.com/appx/manifest/uap/windows10/17
versión mínima del sistema operativo

Observaciones

El Application elemento contiene atributos comunes a los puntos de extensibilidad que pertenecen a la aplicación. Otros puntos de extensibilidad usan esta información para obtener información sobre la aplicación. Application Los atributos también se usan como información de activación en el inicio y la administración de una instancia de la aplicación (es decir, describen cómo iniciar un proceso y con qué comportamiento).

El atributo StartPage solo se aplica a las aplicaciones de JavaScript. Si no se especifica StartPage, se deben especificar tanto el ejecutable de como los atributos entryPoint (y que solo se aplican a las aplicaciones de C#, C++o VB).

uap10 se introdujo en Windows 10, versión 2004 (10.0; Compilación 19041)

El espacio de nombres /> / y ) se introdujo en Windows 10, versión 2004 (10.0; Compilación 19041). Si el paquete se instala en sistemas anteriores a eso, debe proporcionar una combinación equivalente de atributos (consulte la sección siguiente), de lo contrario, la información de activación estará incompleta y se producirá un error en la instalación.

Pero si el paquete tiene <TargetDeviceFamily MinVersion="10.0.19041.0">, o superior, se instala solo en sistemas que admiten el espacio de nombres uap10. En ese caso, debe usar los atributos uap10:RuntimeBehavior y uap10:TrustLevel en preferencia a las combinaciones equivalentes anteriores (consulte la sección siguiente).

Combinaciones de atributos de información de activación

Puede especificar atributos de información de activación en el Application elemento y, opcionalmente, puede especificarlos en un elemento Extension de ámbito de aplicación. Si no se especifican en Extensión, se heredan del elemento primario Application. Estos atributos se especifican en combinaciones( por ejemplo, EntryPoint, RuntimeBehaviory TrustLevel tienen significado superpuesto y se especifican (o heredan) en combinaciones. Estas son algunas combinaciones válidas de atributos de información de activación.

  1. Ejecutable, uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel=["mediumIL" o "appContainer" (el valor predeterminado si se omite)]
  2. Ejecutable, uap10:RuntimeBehavior="win32App", uap10:TrustLevel="mediumIL" (para ver la descripción anterior en este tema para uap10:RuntimeBehavior).
  3. Ejecutable, EntryPoint="windows.fullTrustApplication" (equivalente a uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel="mediumIL")
  4. Ejecutable, EntryPoint="windows.partialTrustApplication" (equivalente a uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel="appContainer")
  5. ejecutable, EntryPoint="<cualquier otra>"

Como puede ver, si el sistema de destino no admite el espacio de nombres uap10, puede especificar el atributo EntryPoint en su lugar. Del mismo modo, el equivalente de uap10:TrustLevel="appContainer"' en sistemas anteriores es EntryPoint="windows.partialTrustApplication".

Pero es redundante especificar tanto uap10:RuntimeBehavior/uap10:TrustLevel y EntryPoint al mismo tiempo. Pero si lo haces, entonces se trata de un error si se contradecen.

Plataforma universal de Windows (UWP) las activaciones de aplicaciones requieren EntryPoint. Por lo tanto, si especifica ejecutable y uap10:RuntimeBehavior="windowsApp" (sin EntryPoint), se produce un error. En este mismo caso, entryPoint especificaría algo distinto de "windows.fullTrustApplication" y "windows.partialTrustApplication"; y los valores distintos de los dos ya dicen lo mismo que uap10:RuntimeBehavior="windowsApp". Por lo tanto, uap10:RuntimeBehavior sería redundante en este caso, y especificaría ejecutable y EntryPoint.

No se admite establecer uap10:RuntimeBehavior="win32App" y uap10:TrustLevel="appContainer".

Establecer uap10:TrustLevel="mediumIL" mientras uap10:RuntimeBehavior="windowsApp" requiere la funcionalidad personalizada Microsoft.coreAppActivation_8wekyb3d8bbwe.

Esto también es true si uap10:TrustLevel="mediumIL" y EntryPoint es cualquier otro valor que no sea "windows.fullTrustApplication" o "windows.partialTrustApplication".

Puede obtener más información sobre esta funcionalidad personalizada aquí en Funcionalidades personalizadas.

Notas importantes sobre las aplicaciones de instancias múltiples

  • Si una aplicación declara SupportsMultipleInstances en el Application elemento, todas las extensiones de primer plano también serán multiinstancia.
  • Si la aplicación declara SupportsMultipleInstances en el Application elemento , no es necesario declararla en el Extensions nivel (por ejemplo, en un elemento BackgroundTasks o AppService ).
  • La aplicación solo debe declarar SupportsMultipleInstances en tareas en segundo plano, audio en segundo plano o servicios de aplicaciones.
  • Las aplicaciones de consola siempre serán instancias múltiples y deben declarar explícitamente SupportsMultipleInstances.
  • Las aplicaciones pueden usar la declaración ResourceGroup en el manifiesto para agrupar varias tareas en segundo plano en el mismo host. Esto entra en conflicto con la creación de instancias múltiples, donde cada activación entra en un host independiente. Por lo tanto, una aplicación no puede declarar SupportsMultipleInstances y ResourceGroup en el manifiesto.

Para obtener más información sobre el uso del atributo SupportsMultipleInstances para admitir varias instancias independientes de aplicaciones para UWP, consulta Crear una Aplicación de Windows< universal de instancias múltiples/c1>.

Ejemplos