Applicazione (Windows 10)

Rappresenta un'app che comprende parte o tutte le funzionalità fornite nel pacchetto.

Gerarchia degli elementi

pacchetto

    <applicazioni>

          dell'applicazione

Sintassi

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

Chiave

? facoltativo (zero o uno)
& connettore interleave (può verificarsi in qualsiasi ordine)

Attributi ed elementi

Attributi

Attributo Descrizione Tipo di dati Obbligatorio Valore predefinito
EntryPoint ID classe attivabile (ad esempio, "Office.Winword.Class") o "windows.fullTrustApplication" o "windows.partialTrustApplication". Se si specifica EntryPoint, è necessario specificare anche l'attributo eseguibile . Se si specifica EntryPoint, non è necessario specificare l'attributo startPage . Stringa compresa tra 1 e 256 caratteri, che rappresenta l'attività che gestisce l'estensione. Si tratta in genere del nome completo dello spazio dei nomi di un tipo Windows Runtime; ma può essere uno dei valori speciali "windows.fullTrustApplication" o "windows.partialTrustApplication". Se EntryPoint non viene specificato, viene invece usato EntryPoint definito per l'app. No
eseguibile Eseguibile di avvio predefinito per l'app. Il file specificato deve essere presente nel pacchetto. Nei sistemi meno recenti (vedere la sezione osservazioni per informazioni dettagliate), se si specifica eseguibile, è necessario specificare anche l'attributo entrypoint . Se si specifica file eseguibile, è necessario non specificare l'attributo StartPage . Stringa compresa tra 1 e 256 caratteri che deve terminare con .exe e non può contenere questi caratteri: <, >, :, ", |, ?o *. No
uap10:HostId ID app dell'app host per l'app corrente. Questo attributo viene usato per app ospitate. Stringa alfanumerica compresa tra 1 e 255 caratteri. Deve iniziare con una lettera. No
id Identificatore univoco dell'applicazione all'interno del pacchetto. Questo valore viene talvolta definito identificatore dell'app relativo al pacchetto (PRAID). L'ID è univoco all'interno del pacchetto, ma non a livello globale. Nel sistema potrebbe essere presente un altro pacchetto che usa lo stesso ID. Lo stesso ID non può essere usato più volte nello stesso pacchetto. Quando si usa un modello di Visual Studio, il valore predefinito di questo attributo è App. Gli sviluppatori devono modificarlo manualmente nel manifesto. L'identificatore dell'app non deve essere modificato dopo la pubblicazione dell'app in Microsoft Store; in questo modo la posizione del riquadro verrà interrotta nella schermata Start. Stringa ASCII compresa tra 1 e 64 caratteri. Questa stringa contiene campi alfanumerici separati da punti. Ogni campo deve iniziare con un carattere alfabetico ASCII. Non è possibile usare questi valori come valori di campo: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8e LPT9.
uap10:Parameters Contiene i parametri della riga di comando da passare all'app. Supportato solo per le app desktop con identità del pacchetto (vedere panoramica della distribuzione ). Stringa compresa tra 1 e 32767 caratteri con un carattere non vuoto all'inizio e alla fine. No
ResourceGroup Tag usato per raggruppare le attivazioni dell'estensione per scopi di gestione delle risorse, ad esempio CPU e memoria. Vedere la sezione osservazioni in Application@ResourceGroup. Stringa alfanumerica compresa tra 1 e 255 caratteri. Deve iniziare con una lettera. No
uap10:RuntimeBehavior Specifica il comportamento di runtime dell'app.

"packagedClassicApp": un'app WinUI 3 o un'app Desktop Bridge (Centennial). Per un'app WinUI 3, in genere passa con un TrustLevel di "mediumIL" (ma "appContainer" è anche un'opzione).

"win32App": qualsiasi altro tipo di app Win32, inclusa un'app in pacchetto con posizione esterna e deve andare con un TrustLevel di "mediumIL".

"windowsApp": un'app UWP (Universal Windows Platform). Sempre con un TrustLevel di "appContainer".

Tutte condividono proprietà comuni (alcune dichiarate in appxmanifest.xml) ed eseguite come processo con identità del pacchetto e identità dell'applicazione. È possibile considerarli come in due gruppi. Un gruppo è app UWP ("windowsApp"); l'altro è Windows .exes con principale o WinMain ("packagedClassicApp" o "win32App"). Questo secondo gruppo è noto anche come app desktop .
Stringa con uno dei valori seguenti: "packagedClassicApp", "win32App" o "windowsApp". No
StartPage Pagina Web che gestisce il punto di estendibilità. Stringa con un valore compreso tra 1 e 256 caratteri che non può contenere questi caratteri: <, >, :, ", |, ?o *. Qualsiasi URI o IRI valido (versione non ASCII di un URI). No
desktop4:Subsystem Indica se l'app è un'app UWP standard o un'app console UWP. Stringa che può essere uno dei valori seguenti: console o windows. No
uap10:Subsystem Indica se l'app è un'app UWP standard o un'app console UWP. Stringa che può essere uno dei valori seguenti: console o windows. No
desktop4:SupportsMultipleInstances Indica il supporto di più istanze separate di app UWP. Per altre info, vedi la sezione osservazioni. Valore booleano. No
uap10:SupportsMultipleInstances Indica il supporto di più istanze separate di app UWP. Per altre info, vedi la sezione osservazioni. Valore booleano. No
uap10:TrustLevel Specifica il livello di attendibilità dell'app

"mediumIL": l'app è attendibilità totale; il processo viene eseguito con un livello di integrità di medio (vedere Controllo di integrità obbligatorio). È necessaria la funzionalità con restrizioni "Livello di autorizzazione attendibilità completa" (vedere dichiarazioni di funzionalità dell'app).

"appContainer": l'app viene eseguita in un contenitore di app leggero (vedere app MSIX AppContainer); il processo viene eseguito con un livello di integrità di basso. È anche possibile che un'app non in pacchetto venga eseguita in un AppContainer.
Stringa con uno dei valori seguenti: "mediumIL" o "appContainer". No
uap16:BaseNamedObjectsIsolation Abilita l'isolamento BaseNameObject (BNO) per l'app. Stringa che può essere uno dei valori seguenti: pacchetto o none. No
uap17:BaseNamedObjectsIsolation Abilita l'isolamento BaseNameObject (BNO) per l'app. Stringa che può essere uno dei valori seguenti: pacchetto o none. No
desktop11:AppLifecycleBehavior Consente a un'app di eseguire l'override del comportamento del ciclo di vita associato al comportamento di runtime per l'estensione. Le app o le estensioni con un RuntimeBehavior di "windowsApp" hanno in modo implicito appLifecycleBehavior di "systemManaged", se non diversamente specificato. Le app o le estensioni con RuntimeBehavior di "packagedClassicApp" o "win32App" in modo implicito hanno appLifecycleBehavior di "non gestito" se non diversamente specificato. Uno dei valori seguenti: "systemManaged" , "unmanaged". No
uap11:CurrentDirectoryPath Specifica la directory iniziale all'avvio del processo dell'applicazione. Questo attributo supporta le macro. Per altre informazioni, vedere macro nello schema del manifesto del pacchetto. Stringa facoltativa che non può contenere questi caratteri: <, >, |, ?o *. > No
uap11:Parameters Questo attributo viene ereditato dalla sintassi dell'estensione di base e non è applicabile all'estensione com4. Oltre alla convalida sintattica, questo valore viene ignorato. Questo attributo supporta le macro. Per altre informazioni, vedere macro nello schema del manifesto del pacchetto. Stringa facoltativa con un valore compreso tra 1 e 32767 caratteri con un carattere non vuoto all'inizio e alla fine. No

Elementi figlio

Elemento figlio Descrizione
uap:ApplicationContentUriRules Specifica quali pagine nel contesto Web hanno accesso ai dispositivi di georilevazione del sistema (se l'app dispone dell'autorizzazione per accedere a questa funzionalità) e l'accesso agli Appunti.
estensioni (tipo: CT_ApplicationExtensions) Definisce uno o più punti di estendibilità per l'app.
uap7:Properties Specifica le proprietà dell'app.
uap:VisualElements Descrive gli aspetti visivi dell'app: riquadro predefinito, immagini del logo, colori di testo e sfondo, orientamento iniziale dello schermo, schermata iniziale e aspetto del riquadro della schermata di blocco.

Elementi padre

Elemento padre Descrizione
applicazioni Rappresenta una o più app che costituiscono il pacchetto.

Osservazioni

L'elemento application contiene attributi comuni ai punti di estendibilità relativi all'app. Queste informazioni vengono usate da altri punti di estendibilità per ottenere informazioni sull'app. attributi dell'applicazione vengono usati anche come informazioni di attivazione nell'avvio e nella gestione di un'istanza dell'app (in altre parole, descrivono come avviare un processo e con quale comportamento).

L'attributo StartPage si applica solo alle app JavaScript. Se StartPage non è specificato, è necessario specificare sia gli attributi eseguibile che EntryPoint (e si applicano solo alle app C#, C++o VB).

uap10 è stato introdotto in Windows 10 versione 2004 (10.0; Build 19041)

Lo spazio dei nomi uap10 (per uap10:RuntimeBehavior e uap10:TrustLevel) è stato introdotto in Windows 10 versione 2004 (10.0; Build 19041). Se il pacchetto viene installato nei sistemi meno recenti, è necessario fornire una combinazione equivalente di attributi (vedere la sezione seguente), altrimenti le informazioni di attivazione saranno incomplete e l'installazione avrà esito negativo.

Tuttavia, se il pacchetto ha <TargetDeviceFamily MinVersion="10.0.19041.0">o versione successiva, viene installato solo nei sistemi che supportano lo spazio dei nomi uap10. In tal caso, è consigliabile usare gli attributi uap10:RuntimeBehavior e uap10:TrustLevel in preferenza per le combinazioni equivalenti precedenti (vedere la sezione seguente).

Combinazioni di attributi delle informazioni di attivazione

È possibile specificare gli attributi delle informazioni di attivazione nell'elemento application ; e facoltativamente è possibile specificarli in un elemento extension ambito app. Se non sono specificati in Extension, vengono ereditati dall'applicazione padre . Questi attributi vengono specificati in combinazioni, ad esempio EntryPoint, RuntimeBehaviore TrustLevel hanno un significato sovrapposto e vengono specificati (e/o ereditati) in combinazioni. Ecco alcune combinazioni valide degli attributi delle informazioni di attivazione.

  1. eseguibile, uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel=["mediumIL" o "appContainer" (impostazione predefinita se omessa)]
  2. eseguibile, uap10:RuntimeBehavior="win32App", uap10:TrustLevel="mediumIL" (per altri requisiti, vedere la descrizione precedente in questo argomento per uap10:RuntimeBehavior).
  3. Eseguibile, EntryPoint="windows.fullTrustApplication" (equivalente a uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel="mediumIL")
  4. eseguibile, EntryPoint="windows.partialTrustApplication" (equivalente a uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel="appContainer")
  5. eseguibile , EntryPoint="<qualsiasi altra>"

Come si può notare, se il sistema di destinazione non supporta lo spazio dei nomi uap10, è possibile specificare invece l'attributo EntryPoint. Analogamente, l'equivalente di uap10:TrustLevel="appContainer"" nei sistemi meno recenti è EntryPoint="windows.partialTrustApplication".

Ma è ridondante specificare sia uap10:RuntimeBehavior/uap10:TrustLevel che EntryPoint contemporaneamente. Ma se lo fai, allora è un errore se contraddicono.

Le attivazioni delle app UWP (Universal Windows Platform) richiedono EntryPoint. Pertanto, se si specifica eseguibile e uap10:RuntimeBehavior="windowsApp" (senza EntryPoint), si tratta di un errore. In questo stesso caso, EntryPoint specifica un valore diverso da "windows.fullTrustApplication" e "windows.partialTrustApplication"; e valori diversi da quelli due dicono già la stessa cosa di uap10:RuntimeBehavior="windowsApp". Pertanto, uap10:RuntimeBehavior sarebbe ridondante in questo caso e si specifica eseguibile e EntryPoint.

L'impostazione di uap10:RuntimeBehavior="win32App" e uap10:TrustLevel="appContainer" non è supportata.

L'impostazione di uap10:TrustLevel="mediumIL" mentre uap10:RuntimeBehavior="windowsApp" richiede la funzionalità personalizzata Microsoft.coreAppActivation_8wekyb3d8bbwe.

Questo vale anche se uap10:TrustLevel="mediumIL" e EntryPoint è qualsiasi valore diverso da "windows.fullTrustApplication" o "windows.partialTrustApplication".

Per altre informazioni su questa funzionalità personalizzata, vedere funzionalità personalizzate.

Note importanti sulle app a più istanze

  • Se un'app dichiara SupportsMultipleInstances all'interno dell'elemento application , tutte le estensioni in primo piano verranno anche multiistanza.
  • Se l'app dichiara SupportsMultipleInstances all'interno dell'elemento Application , non deve essere dichiarata a livello di Extensions (ad esempio, in un backgroundTasks o elemento AppService).
  • L'app deve dichiarare solo SupportsMultipleInstances in attività in background, audio in background o servizi app.
  • Le app console saranno sempre multiistanza e devono dichiarare in modo esplicito SupportsMultipleInstances.
  • Le app possono usare la dichiarazione di ResourceGroup nel manifesto per raggruppare più attività in background nello stesso host. Questo è in conflitto con il multi-instancing, in cui ogni attivazione viene inserita in un host separato. Pertanto, un'app non può dichiarare SupportsMultipleInstances e ResourceGroup nel manifesto.

Per altre info sull'uso dell'attributo SupportsMultipleInstances per supportare più istanze separate di app UWP, vedi Creare un'app di Windows universale a istanze multiple.

Fabbisogno

Articolo Valore
spazio dei nomi http://schemas.microsoft.com/appx/manifest/uap/windows10
attributi desktop4 http://schemas.microsoft.com/appx/manifest/desktop/windows10/4
attributi di uap10 http://schemas.microsoft.com/appx/manifest/uap/windows10/10