Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Se l'app desktop è in pacchetto (ha l'identità del pacchetto in fase di esecuzione), puoi usare le estensioni per integrare l'app con Windows usando estensioni predefinite nel manifesto del pacchetto. Vedi anche Funzionalità che richiedono l'identità del pacchetto.
Ad esempio, usare un'estensione per creare un'eccezione del firewall; impostare l'app come applicazione predefinita per un tipo di file; oppure puntare i riquadri di Start verso l'app. Per usare un'estensione, è sufficiente aggiungere codice XML al file manifesto del pacchetto dell'app. Non è necessario alcun codice.
In questo argomento vengono descritte le estensioni e le attività che è possibile eseguire usando tali estensioni.
Nota
Le funzionalità descritte in questo argomento richiedono che l'app sia inserita in un pacchetto (con identità del pacchetto in fase di esecuzione). Sono incluse app in pacchetto (vedere Creare un nuovo progetto per un'app desktop WinUI 3 in pacchetto) e app in pacchetto con posizione esterna (vedere Concedere l'identità del pacchetto tramite creazione di pacchetti con posizione esterna). Vedi anche Funzionalità che richiedono l'identità del pacchetto.
Transizione degli utenti verso l'app
Aiutare gli utenti a passare all'app in pacchetto.
- Reindirizzare l'app desktop esistente alla tua app pacchettizzata
- Indirizzare i riquadri Start esistenti e i pulsanti della barra delle applicazioni alla tua app confezionata
- Fai in modo che la tua app in pacchetto apra i file invece dell'app desktop
- Associare l'app in pacchetto a un set di tipi di file
- Aggiungere opzioni ai menu di scelta rapida dei file con un determinato tipo di file
- Aprire direttamente determinati tipi di file usando un URL
Reindirizza l'applicazione desktop esistente verso l'applicazione confezionata.
Quando gli utenti avviano la tua applicazione desktop esistente senza pacchetto, è possibile configurare l'applicazione impacchettata per essere aperta al suo posto.
Nota
Questa funzionalità è supportata in Windows Insider Preview Build 21313 e versioni successive.
Per abilitare questo comportamento:
- Aggiungere voci del Registro di sistema per reindirizzare l'eseguibile della tua app desktop non confezionata alla tua app confezionata.
- Registra la tua app confezionata da lanciare quando si avvia l'eseguibile della tua app desktop non confezionata.
Aggiungi le voci del Registro di sistema per reindirizzare l'eseguibile dell'app desktop non confezionata
- Nel Registro di sistema creare una sottochiave con il nome del file eseguibile dell'app desktop nella chiave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.
- In questa sottochiave aggiungere i valori seguenti:
- AppExecutionAliasRedirect (DWORD): se impostato su 1, il sistema verificherà un'estensione del pacchetto AppExecutionAlias con lo stesso nome dell'eseguibile. Se l'estensione AppExecutionAlias è abilitata, l'app in pacchetto verrà attivata usando tale valore.
- AppExecutionAliasRedirectPackages (REG_SZ): il sistema reindirizzerà solo ai pacchetti elencati. I pacchetti vengono elencati in base al nome della famiglia di pacchetti, separati da punti e virgola. Se viene usato il valore speciale * , il sistema verrà reindirizzato a un AppExecutionAlias da qualsiasi pacchetto.
Per esempio:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\contosoapp.exe
AppExecutionAliasRedirect = 1
AppExecutionAliasRedirectPackages = "Microsoft.WindowsNotepad_8weky8webbe"
Registrare l'applicazione impacchettata per essere avviata
Nel manifesto del pacchetto, aggiungere un'estensione AppExecutionAlias che registra il nome dell'eseguibile dell'app desktop non impacchettata. Per esempio:
<Package
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap3">
<Applications>
<Application>
<Extensions>
<uap3:Extension Category="windows.appExecutionAlias" EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="contosoapp.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Disabilitare il reindirizzamento
Gli utenti possono disattivare il reindirizzamento e avviare il file eseguibile dell'app non in pacchetto tramite queste opzioni:
- Possono disinstallare la versione in pacchetto dell'app.
- L'utente può disabilitare la voce di AppExecutionAlias per l'app in pacchetto nella pagina alias di esecuzione dell'app in Impostazioni.
Spazi dei nomi XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementi e attributi di questa estensione
<uap3:Extension
Category="windows.appExecutionAlias"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="[AliasName]" />
</uap3:AppExecutionAlias>
</uap3:Extension>
Nome | Descrizione |
---|---|
Categoria | Sempre windows.appExecutionAlias . |
Eseguibile | Il percorso relativo all'eseguibile da avviare quando l'alias viene richiamato. |
Nome alternativo | Nome breve per l'app. Deve sempre terminare con l'estensione ".exe". |
Collegare i riquadri Start esistenti e i pulsanti della barra delle applicazioni all'applicazione confezionata
I tuoi utenti potrebbero aver aggiunto la tua app desktop alla barra delle applicazioni o al menu Start. È possibile puntare questi collegamenti alla nuova app pacchettizzata.
Spazio dei nomi XML
http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elementi e attributi di questa estensione
<Extension Category="windows.desktopAppMigration">
<DesktopAppMigration>
<DesktopApp AumId="[your_app_aumid]" />
<DesktopApp ShortcutPath="[path]" />
</DesktopAppMigration>
</Extension>
Trova qui il riferimento completo allo schema .
Nome | Descrizione |
---|---|
Categoria | Sempre windows.desktopAppMigration . |
AumID | ID modello utente dell'applicazione pacchettizzata. |
Percorso di collegamento | Il percorso dei file .lnk che avviano la versione desktop della tua app. |
Esempio
<Package
xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
IgnorableNamespaces="rescap3">
<Applications>
<Application>
<Extensions>
<rescap3:Extension Category="windows.desktopAppMigration">
<rescap3:DesktopAppMigration>
<rescap3:DesktopApp AumId="[your_app_aumid]" />
<rescap3:DesktopApp ShortcutPath="%USERPROFILE%\Desktop\[my_app].lnk" />
<rescap3:DesktopApp ShortcutPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\[my_app].lnk" />
<rescap3:DesktopApp ShortcutPath="%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\[my_app_folder]\[my_app].lnk"/>
</rescap3:DesktopAppMigration>
</rescap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Esempio correlato
visualizzatore immagini WPF con transizione/migrazione/disinstallazione
Fai in modo che la tua applicazione in pacchetto apra i file anziché l'app desktop.
Puoi assicurarti che gli utenti aprono la nuova applicazione in pacchetto per impostazione predefinita per tipi specifici di file invece di aprire la versione desktop dell'app.
A tale scopo, si specifichi l'identificatore programmatico (ProgID) di ogni applicazione da cui si desidera ereditare le associazioni di file.
Spazi dei nomi XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elementi e attributi di questa estensione
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<MigrationProgIds>
<MigrationProgId>"[ProgID]"</MigrationProgId>
</MigrationProgIds>
</FileTypeAssociation>
</Extension>
Trova qui il riferimento completo allo schema .
Nome | Descrizione |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | Nome dell'associazione del tipo di file. È possibile usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere tutti caratteri minuscoli senza spazi. |
MigrationProgId | Il identificatore programmatico (ProgID) che descrive l'applicazione, il componente e la versione dell'applicazione desktop da cui si desidera ereditare le associazioni di file. |
Esempio
<Package
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
IgnorableNamespaces="uap3, rescap3">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes">
<rescap3:MigrationProgIds>
<rescap3:MigrationProgId>Foo.Bar.1</rescap3:MigrationProgId>
<rescap3:MigrationProgId>Foo.Bar.2</rescap3:MigrationProgId>
</rescap3:MigrationProgIds>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Esempio correlato
visualizzatore immagini WPF con transizione/migrazione/disinstallazione
Associare l'applicazione in pacchetto a un set di tipi di file
È possibile associare l'applicazione in pacchetto alle estensioni del tipo di file. Se un utente fa clic con il pulsante destro del mouse su un file in Esplora file e quindi seleziona l'opzione Apri con, l'applicazione viene visualizzata nell'elenco dei suggerimenti. Per altre informazioni sull'uso di questa estensione, vedere Integrare un'app desktop in pacchetto con Esplora file.
Spazi dei nomi XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementi e attributi di questa estensione
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[file extension]"</FileType>
</SupportedFileTypes>
</FileTypeAssociation>
</Extension>
Trova qui il riferimento completo allo schema .
Nome | Descrizione |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | Nome dell'associazione del tipo di file. È possibile usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere tutti caratteri minuscoli senza spazi. |
Tipo di file | Estensione di file supportata dall'app. |
Esempio
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap, uap3">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="mediafiles">
<uap:SupportedFileTypes>
<uap:FileType>.avi</uap:FileType>
</uap:SupportedFileTypes>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Esempio correlato
visualizzatore immagini WPF con transizione/migrazione/disinstallazione
Aggiungere opzioni ai menu di scelta rapida dei file con un determinato tipo di file
Questa estensione consente di aggiungere opzioni al menu di scelta rapida che viene visualizzato quando gli utenti fanno clic con il pulsante destro del mouse su un file in Esplora file. Queste opzioni offrono agli utenti altri modi per interagire con il file, ad esempio stampa, modifica o anteprima del file. Per altre informazioni sull'uso di questa estensione, vedere Integrare un'app desktop in pacchetto con Esplora file.
Spazi dei nomi XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/2
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementi e attributi di questa estensione
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedVerbs>
<Verb Id="[ID]" Extended="[Extended]" Parameters="[parameters]">"[verb label]"</Verb>
</SupportedVerbs>
</FileTypeAssociation>
</Extension>
Trova qui il riferimento completo allo schema .
Nome | Descrizione |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | Nome dell'associazione del tipo di file. È possibile usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere tutti caratteri minuscoli senza spazi. |
Verbo | Il nome che appare nel menu contestuale di File Explorer. Questa stringa è localizzabile che usa ms-resource . |
id | ID univoco del verbo. Se l'applicazione è un'app UWP, questa viene passata all'app come parte degli argomenti dell'evento di attivazione in modo che possa gestire la selezione dell'utente in modo appropriato. Se l'applicazione è un'app in pacchetto con attendibilità completa, riceve invece i parametri (vedere il punto elenco successivo). |
Parametri | Elenco di parametri e valori di argomento associati al verbo. Se l'applicazione è un'app in pacchetto con attendibilità completa, questi parametri vengono passati all'applicazione come argomenti di evento quando l'applicazione viene attivata. È possibile personalizzare il comportamento dell'applicazione in base a verbi di attivazione diversi. Se una variabile può contenere un percorso di file, eseguire il wrapping del valore del parametro tra virgolette. In questo modo si evitano eventuali problemi che si verificano nei casi in cui il percorso include spazi. Se l'applicazione è un'app UWP, non è possibile passare parametri. L'app riceve invece l'ID (vedi il punto elenco precedente). |
Esteso | Specifica che il verbo viene visualizzato solo se l'utente visualizza il menu di scelta rapida tenendo premuto il tasto MAIUSC prima di fare clic con il pulsante destro del mouse sul file. Questo attributo è facoltativo e il valore predefinito è False (ad esempio, mostra sempre il verbo) se non è elencato. Questo comportamento viene specificato singolarmente per ogni verbo ( ad eccezione di "Open", che è sempre False). |
Esempio
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap, uap2, uap3">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes">
<uap2:SupportedVerbs>
<uap3:Verb Id="Edit" Parameters="/e "%1"">Edit</uap3:Verb>
<uap3:Verb Id="Print" Extended="true" Parameters="/p "%1"">Print</uap3:Verb>
</uap2:SupportedVerbs>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Esempio correlato
visualizzatore immagini WPF con transizione/migrazione/disinstallazione
Aprire determinati tipi di file direttamente usando un URL
Puoi assicurarti che gli utenti aprono la nuova applicazione in pacchetto per impostazione predefinita per tipi specifici di file invece di aprire la versione desktop dell'app.
Spazi dei nomi XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementi e attributi di questa estensione
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]" UseUrl="true" Parameters="%1">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
</FileTypeAssociation>
</Extension>
Trova qui il riferimento completo allo schema .
Nome | Descrizione |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | Nome dell'associazione del tipo di file. È possibile usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere tutti caratteri minuscoli senza spazi. |
UtilizzaURL | Indica se aprire i file direttamente da una destinazione URL. Se non imposti questo valore, la tua applicazione tenterà di aprire un file utilizzando un URL, causando al sistema di scaricare prima il file in locale. |
Parametri | Parametri facoltativi. |
Tipo di file | Estensioni di file pertinenti. |
Esempio
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap, uap3">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes" UseUrl="true" Parameters="%1">
<uap:SupportedFileTypes>
<uap:FileType>.txt</uap:FileType>
<uap:FileType>.doc</uap:FileType>
</uap:SupportedFileTypes>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Eseguire attività di installazione
- Creare un'eccezione nel firewall per la tua app
- Posizionare i file DLL in qualsiasi cartella del pacchetto
Creare un'eccezione del firewall per la tua applicazione
Se l'applicazione richiede la comunicazione tramite una porta, è possibile aggiungere l'applicazione all'elenco di eccezioni del firewall.
Nota
Per usare la categoria di estensione "windows.firewallRules" (vedere di seguito), il pacchetto necessita della livello di autorizzazione attendibilità completa funzionalità con restrizioni. Consultare elenco di funzionalità con restrizioni.
Spazio dei nomi XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementi e attributi di questa estensione
<Extension Category="windows.firewallRules">
<FirewallRules Executable="[executable file name]">
<Rule
Direction="[Direction]"
IPProtocol="[Protocol]"
LocalPortMin="[LocalPortMin]"
LocalPortMax="LocalPortMax"
RemotePortMin="RemotePortMin"
RemotePortMax="RemotePortMax"
Profile="[Profile]"/>
</FirewallRules>
</Extension>
Trova qui il riferimento completo allo schema .
Nome | Descrizione |
---|---|
Categoria | Sempre windows.firewallRules |
Eseguibile | Nome del file eseguibile da aggiungere all'elenco di eccezioni del firewall |
Direzione | Indica se la regola è una regola in ingresso o in uscita |
Protocollo IP | Protocollo di comunicazione |
LocalPortMin | Numero di porta più basso in un intervallo di numeri di porta locali. |
LocalPortMax | Numero di porta più alto di un intervallo di numeri di porta locale. |
RemotePortMax | Numero di porta più basso in una gamma di porte remote. |
RemotePortMax | Numero di porta più alto in un intervallo di porte remote. |
Profilo | Tipo di rete |
Esempio
<Package
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
IgnorableNamespaces="desktop2">
<Extensions>
<desktop2:Extension Category="windows.firewallRules">
<desktop2:FirewallRules Executable="Contoso.exe">
<desktop2:Rule Direction="in" IPProtocol="TCP" Profile="all"/>
<desktop2:Rule Direction="in" IPProtocol="UDP" LocalPortMin="1337" LocalPortMax="1338" Profile="domain"/>
<desktop2:Rule Direction="in" IPProtocol="UDP" LocalPortMin="1337" LocalPortMax="1338" Profile="public"/>
<desktop2:Rule Direction="out" IPProtocol="UDP" LocalPortMin="1339" LocalPortMax="1340" RemotePortMin="15"
RemotePortMax="19" Profile="domainAndPrivate"/>
<desktop2:Rule Direction="out" IPProtocol="GRE" Profile="private"/>
</desktop2:FirewallRules>
</desktop2:Extension>
</Extensions>
</Package>
Inserire i file DLL in qualsiasi cartella del pacchetto
Usa l'estensione uap6:LoaderSearchPathOverride per dichiarare fino a cinque percorsi di cartella nel pacchetto dell'app, rispetto al percorso radice del pacchetto dell'app, da usare nel percorso di ricerca del caricatore per i processi dell'app.
L'ordine di ricerca dll per le app di Windows include pacchetti nel grafico delle dipendenze del pacchetto se i pacchetti hanno diritti di esecuzione. Per impostazione predefinita, include pacchetti principali, facoltativi e framework, anche se questo può essere sovrascritto dall'elemento uap6:AllowExecution nel manifesto del pacchetto.
Per impostazione predefinita, un pacchetto incluso nell'ordine di ricerca DLL includerà il percorso effettivo . Per altre informazioni sui percorsi effettivi, vedere la proprietà EffectivePath (WinRT) e l'enumerazione PackagePathType (Win32).
Se un pacchetto specifica uap6:LoaderSearchPathOverride, queste informazioni vengono usate invece del percorso effettivo del pacchetto.
Ogni pacchetto può contenere una sola estensione uap6:LoaderSearchPathOverride. Ciò significa che è possibile aggiungerne uno al pacchetto principale, quindi aggiungerne uno a ognuno dei pacchetti facoltativi e i set correlati.
Spazio dei nomi XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/6
Elementi e attributi di questa estensione
Dichiarare questa estensione a livello di pacchetto del manifesto dell'app.
<Extension Category="windows.loaderSearchPathOverride">
<LoaderSearchPathOverride>
<LoaderSearchPathEntry FolderPath="[path]"/>
</LoaderSearchPathOverride>
</Extension>
Nome | Descrizione |
---|---|
Categoria | Sempre windows.loaderSearchPathOverride . |
Percorso cartella | Percorso della cartella che contiene i file DLL. Specificare un percorso relativo alla cartella radice del pacchetto. È possibile specificare fino a cinque percorsi in un'unica estensione. Se si desidera che il sistema cerchi i file nella cartella radice del pacchetto, usare una stringa vuota per uno di questi percorsi. Non includere percorsi duplicati e assicura che i percorsi non contengano barre oblique iniziali e finali o barre rovesciate. Il sistema non esegue ricerche nelle sottocartelle, quindi assicurarsi di elencare in modo esplicito ogni cartella che contiene file DLL che si desidera caricare dal sistema. |
Esempio
<Package
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/6"
IgnorableNamespaces="uap6">
...
<Extensions>
<uap6:Extension Category="windows.loaderSearchPathOverride">
<uap6:LoaderSearchPathOverride>
<uap6:LoaderSearchPathEntry FolderPath=""/>
<uap6:LoaderSearchPathEntry FolderPath="folder1/subfolder1"/>
<uap6:LoaderSearchPathEntry FolderPath="folder2/subfolder2"/>
</uap6:LoaderSearchPathOverride>
</uap6:Extension>
</Extensions>
...
</Package>
Integrazione con Esplora file
Aiutare gli utenti a organizzare i file e interagire con loro in modi familiari.
- Definire il comportamento dell'applicazione quando gli utenti selezionano e aprono più file contemporaneamente
- Mostra il contenuto dei file in un'immagine di anteprima in Esplora file
- Mostra contenuto file in un riquadro anteprima di Esplora file
- Consentire agli utenti di raggruppare i file usando la colonna Kind in Esplora file
- Rendere disponibili le proprietà dei file per la ricerca, l'indice, le finestre di dialogo delle proprietà e il riquadro dei dettagli
- Specificare un gestore di menu di scelta rapida per un tipo di file
- Fai apparire i file dal tuo servizio cloud in Esplora file
Definire il comportamento dell'applicazione quando gli utenti selezionano e aprono più file contemporaneamente
Specificare il comportamento dell'applicazione quando un utente apre più file contemporaneamente.
Spazi dei nomi XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/2
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementi e attributi di questa estensione
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]" MultiSelectModel="[SelectionModel]">
<SupportedVerbs>
<Verb Id="Edit" MultiSelectModel="[SelectionModel]">Edit</Verb>
</SupportedVerbs>
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
</Extension>
Trova qui il riferimento completo allo schema .
Nome | Descrizione |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | Nome dell'associazione del tipo di file. È possibile usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere tutti caratteri minuscoli senza spazi. |
MultiSelectModel | Vedere di seguito |
Tipo di file | Estensioni di file pertinenti. |
MultiSelectModel
Le app desktop in pacchetto hanno le stesse tre opzioni delle normali app desktop.
-
Player
: l'applicazione viene attivata una sola volta. Tutti i file selezionati vengono passati all'applicazione come parametri di argomento. -
Single
: l'applicazione viene attivata una sola volta per il primo file selezionato. Gli altri file vengono ignorati. -
Document
: viene attivata una nuova istanza separata dell'applicazione per ogni file selezionato.
È possibile impostare preferenze diverse per diversi tipi di file e azioni. Ad esempio, è possibile aprire Documenti in modalità Documenti e Immagini in modalità Riproduttore.
Esempio
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap, uap2, uap3">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes" MultiSelectModel="Document">
<uap2:SupportedVerbs>
<uap3:Verb Id="Edit" MultiSelectModel="Player">Edit</uap3:Verb>
<uap3:Verb Id="Preview" MultiSelectModel="Document">Preview</uap3:Verb>
</uap2:SupportedVerbs>
<uap:SupportedFileTypes>
<uap:FileType>.txt</uap:FileType>
</uap:SupportedFileTypes>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Se l'utente apre 15 o meno file, la scelta predefinita per l'attributo MultiSelectModel è Player. In caso contrario, il valore predefinito è Document. Le app UWP vengono sempre avviate come Player.
Visualizzare il contenuto del file in un'immagine di anteprima in Esplora file
Consentire agli utenti di visualizzare un'immagine di anteprima del contenuto del file quando l'icona del file viene visualizzata in dimensioni medie, grandi o aggiuntive.
Spazio dei nomi XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/2
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementi e attributi di questa estensione
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<ThumbnailHandler
Clsid ="[Clsid ]" />
</FileTypeAssociation>
</Extension>
Trova qui il riferimento completo allo schema .
Nome | Descrizione |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | Nome dell'associazione del tipo di file. È possibile usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere tutti caratteri minuscoli senza spazi. |
Tipo di file | Estensioni di file pertinenti. |
Clsid | ID di classe dell'applicazione. |
Esempio
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
IgnorableNamespaces="uap, uap2, uap3, desktop2">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes">
<uap:SupportedFileTypes>
<uap:FileType>.bar</uap:FileType>
</uap:SupportedFileTypes>
<desktop2:ThumbnailHandler
Clsid ="20000000-0000-0000-0000-000000000001" />
</uap3:FileTypeAssociation>
</uap::Extension>
</Extensions>
</Application>
</Applications>
</Package>
Visualizzare il contenuto del file nel riquadro Anteprima di Esplora file
Consentire agli utenti di visualizzare in anteprima il contenuto di un file nel riquadro Anteprima di Esplora file.
Spazio dei nomi XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/2
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementi e attributi di questa estensione
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<DesktopPreviewHandler Clsid ="[Clsid ]" />
</FileTypeAssociation>
</Extension>
Trova qui il riferimento completo allo schema .
Nome | Descrizione |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | Nome dell'associazione del tipo di file. È possibile usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere tutti caratteri minuscoli senza spazi. |
Tipo di file | Estensioni di file pertinenti. |
Clsid | ID di classe dell'applicazione. |
Esempio
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
IgnorableNamespaces="uap, uap2, uap3, desktop2">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes">
<uap:SupportedFileTypes>
<uap:FileType>.bar</uap:FileType>
</uap:SupportedFileTypes>
<desktop2:DesktopPreviewHandler Clsid ="20000000-0000-0000-0000-000000000001" />
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Consentire agli utenti di raggruppare i file usando la colonna Kind in Esplora file
È possibile associare uno o più valori predefiniti per i tipi di file al campo Kind.
In Esplora file gli utenti possono raggruppare tali file usando tale campo. I componenti di sistema usano anche questo campo per vari scopi, ad esempio l'indicizzazione.
Per ulteriori informazioni sul campo Kind e sui valori che è possibile usare per questo campo, vedere Usare i Nomi Kind.
Spazi dei nomi XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elementi e attributi di questa estensione
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<KindMap>
<Kind value="[KindValue]">
</KindMap>
</FileTypeAssociation>
</Extension>
Trova qui il riferimento completo allo schema .
Nome | Descrizione |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | Nome dell'associazione del tipo di file. È possibile usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere tutti caratteri minuscoli senza spazi. |
Tipo di file | Estensioni di file pertinenti. |
valore | Valore valido Kind |
Esempio
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
IgnorableNamespaces="uap, rescap">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap:FileTypeAssociation Name="mediafiles">
<uap:SupportedFileTypes>
<uap:FileType>.m4a</uap:FileType>
<uap:FileType>.mta</uap:FileType>
</uap:SupportedFileTypes>
<rescap:KindMap>
<rescap:Kind value="Item">
<rescap:Kind value="Communications">
<rescap:Kind value="Task">
</rescap:KindMap>
</uap:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Rendere disponibili le proprietà dei file per la ricerca, l'indice, le finestre di dialogo delle proprietà e il riquadro dei dettagli
Spazio dei nomi XML
http://schemas.microsoft.com/appx/manifest/uap/windows10
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementi e attributi di questa estensione
<uap:Extension Category="windows.fileTypeAssociation">
<uap:FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>.bar</FileType>
</SupportedFileTypes>
<DesktopPropertyHandler Clsid ="[Clsid]"/>
</uap:FileTypeAssociation>
</uap:Extension>
Trova qui il riferimento completo allo schema .
Nome | Descrizione |
---|---|
Categoria | Sempre windows.fileTypeAssociation . |
Nome | Nome dell'associazione del tipo di file. È possibile usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere tutti caratteri minuscoli senza spazi. |
Tipo di file | Estensioni di file pertinenti. |
Clsid | ID di classe dell'applicazione. |
Esempio
<Package
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
IgnorableNamespaces="uap, uap3, desktop2">
<Applications>
<Application>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap3:FileTypeAssociation Name="myfiletypes">
<uap:SupportedFileTypes>
<uap:FileType>.bar</uap:FileType>
</uap:SupportedFileTypes>
<desktop2:DesktopPropertyHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Specificare un gestore di menu di scelta rapida per un tipo di file
Se l'applicazione desktop definisce un gestore di menu di scelta rapida , usare questa estensione per registrare il gestore di menu.
Spazi dei nomi XML
http://schemas.microsoft.com/appx/manifest/foundation/windows10
http://schemas.microsoft.com/appx/manifest/desktop/windows10/4
Elementi e attributi di questa estensione
<Extensions>
<com:Extension Category="windows.comServer">
<com:ComServer>
<com:SurrogateServer AppId="[AppID]" DisplayName="[DisplayName]">
<com:Class Id="[Clsid]" Path="[Path]" ThreadingModel="[Model]"/>
</com:SurrogateServer>
</com:ComServer>
</com:Extension>
<desktop4:Extension Category="windows.fileExplorerContextMenus">
<desktop4:FileExplorerContextMenus>
<desktop4:ItemType Type="[Type]">
<desktop4:Verb Id="[ID]" Clsid="[Clsid]" />
</desktop4:ItemType>
</desktop4:FileExplorerContextMenus>
</desktop4:Extension>
</Extensions>
Trovare il riferimento completo allo schema qui: com:ComServer e desktop4:FileExplorerContextMenus.
Disposizioni
Per registrare il gestore del menu di scelta rapida, seguire queste istruzioni.
Nell'applicazione desktop implementare un gestore di menu di scelta rapida implementando l'interfaccia IExplorerCommand o IExplorerCommandState. Per un esempio, vedere l'esempio di codice ExplorerCommandVerb. Assicurarsi di definire un GUID di classe per ognuno degli oggetti di implementazione. Ad esempio, il codice seguente definisce un ID classe per un'implementazione di IExplorerCommand.
class __declspec(uuid("00001111-aaaa-2222-bbbb-3333cccc4444")) CExplorerCommandVerb;
Nel manifesto del pacchetto, specificare un com:ComServer estensione dell'applicazione che registra un server surrogato COM con l'ID della classe dell'implementazione del gestore del menu contestuale.
<com:Extension Category="windows.comServer"> <com:ComServer> <com:SurrogateServer AppId="00001111-aaaa-2222-bbbb-3333cccc4444" DisplayName="ContosoHandler"> <com:Class Id="00001111-aaaa-2222-bbbb-3333cccc4444" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/> </com:SurrogateServer> </com:ComServer> </com:Extension>
Nel manifesto del pacchetto, specifica un'estensione dell'applicazione desktop4:FileExplorerContextMenus che registra l'implementazione del gestore del menu di scelta rapida.
<desktop4:Extension Category="windows.fileExplorerContextMenus"> <desktop4:FileExplorerContextMenus> <desktop4:ItemType Type=".rar"> <desktop4:Verb Id="Command1" Clsid="00001111-aaaa-2222-bbbb-3333cccc4444" /> </desktop4:ItemType> </desktop4:FileExplorerContextMenus> </desktop4:Extension>
Esempio
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
IgnorableNamespaces="desktop4">
<Applications>
<Application>
<Extensions>
<com:Extension Category="windows.comServer">
<com:ComServer>
<com:SurrogateServer AppId="00001111-aaaa-2222-bbbb-3333cccc4444" DisplayName="ContosoHandler">
<com:Class Id="00001111-aaaa-2222-bbbb-3333cccc4444" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/>
</com:SurrogateServer>
</com:ComServer>
</com:Extension>
<desktop4:Extension Category="windows.fileExplorerContextMenus">
<desktop4:FileExplorerContextMenus>
<desktop4:ItemType Type=".contoso">
<desktop4:Verb Id="Command1" Clsid="00001111-aaaa-2222-bbbb-3333cccc4444" />
</desktop4:ItemType>
</desktop4:FileExplorerContextMenus>
</desktop4:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Visualizzare i file dal servizio cloud in Esplora file
Registrare i gestori implementati nell'applicazione. È anche possibile aggiungere opzioni di menu di scelta rapida visualizzate quando gli utenti fanno clic con il pulsante destro del mouse sui file basati sul cloud in Esplora file.
Spazio dei nomi XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementi e attributi di questa estensione
<Extension Category="windows.cloudfiles" >
<CloudFiles IconResource="[Icon]">
<CustomStateHandler Clsid ="[Clsid]"/>
<ThumbnailProviderHandler Clsid ="[Clsid]"/>
<ExtendedPropertyhandler Clsid ="[Clsid]"/>
<CloudFilesContextMenus>
<Verb Id ="Command3" Clsid= "[GUID]">[Verb Label]</Verb>
</CloudFilesContextMenus>
</CloudFiles>
</Extension>
Nome | Descrizione |
---|---|
Categoria | Sempre windows.cloudfiles . |
iconRisorsa | Icona che rappresenta il servizio del provider di file cloud. Questa icona viene visualizzata nel riquadro di spostamento di Esplora file. Gli utenti scelgono questa icona per visualizzare i file dal servizio cloud. |
CustomStateHandler Clsid | ID classe dell'applicazione che implementa CustomStateHandler. Il sistema usa questo ID classe per richiedere stati e colonne personalizzati per i file cloud. |
ThumbnailProviderHandler CLSID | ID classe dell'applicazione che implementa ThumbnailProviderHandler. Il sistema usa questo ID classe per richiedere immagini di anteprima per i file cloud. |
ExtendedPropertyHandler Clsid | ID classe dell'applicazione che implementa ExtendedPropertyHandler. Il sistema usa questo ID classe per richiedere proprietà estese per un file cloud. |
Verbo | Nome visualizzato nel menu di scelta rapida Esplora file per i file forniti dal servizio cloud. |
id | ID univoco del verbo. |
Esempio
<Package
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
IgnorableNamespaces="desktop">
<Applications>
<Application>
<Extensions>
<Extension Category="windows.cloudfiles" >
<CloudFiles IconResource="images\Wide310x150Logo.png">
<CustomStateHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
<ThumbnailProviderHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
<ExtendedPropertyhandler Clsid ="20000000-0000-0000-0000-000000000001"/>
<desktop:CloudFilesContextMenus>
<desktop:Verb Id ="keep" Clsid=
"20000000-0000-0000-0000-000000000001">
Always keep on this device</desktop:Verb>
</desktop:CloudFilesContextMenus>
</CloudFiles>
</Extension>
</Extensions>
</Application>
</Applications>
</Package>
Avviare l'applicazione in modi diversi
- Avvia l'applicazione usando un protocollo
- Avviare l'applicazione usando un alias
- Avviare un file eseguibile quando gli utenti accedono a Windows
- Consentire agli utenti di avviare l'applicazione quando connettono un dispositivo al PC
- Riavvia automaticamente dopo aver ricevuto un aggiornamento dal di Microsoft Store
Avviare l'applicazione usando un protocollo
Le associazioni di protocollo possono consentire ad altri programmi e componenti di sistema di interagire con l'app in pacchetto. Quando l'applicazione in pacchetto viene avviata usando un protocollo, è possibile specificare parametri specifici da passare agli argomenti dell'evento di attivazione in modo che possa comportarsi di conseguenza. I parametri sono supportati solo per le app con attendibilità completa in pacchetto. Le app UWP non possono usare parametri.
Spazio dei nomi XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elementi e attributi di questa estensione
<Extension
Category="windows.protocol">
<Protocol
Name="[Protocol name]"
Parameters="[Parameters]" />
</Extension>
Trova qui il riferimento completo allo schema .
Nome | Descrizione |
---|---|
Categoria | Sempre windows.protocol . |
Nome | Nome del protocollo. |
Parametri | Elenco di parametri e valori da passare all'applicazione come argomenti evento quando l'applicazione viene attivata. Se una variabile può contenere un percorso di file, eseguire il wrapping del valore del parametro tra virgolette. In questo modo si evitano eventuali problemi che si verificano nei casi in cui il percorso include spazi. |
Esempio
<Package
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
IgnorableNamespaces="uap3, desktop">
<Applications>
<Application>
<Extensions>
<uap3:Extension
Category="windows.protocol">
<uap3:Protocol
Name="myapp-cmd"
Parameters="/p "%1"" />
</uap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Avviare l'applicazione usando un alias
Gli utenti e altri processi possono usare un alias per avviare l'applicazione senza dover specificare il percorso completo dell'app. È possibile specificare tale nome alias.
Spazi dei nomi XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementi e attributi di questa estensione
<uap3:Extension
Category="windows.appExecutionAlias"
Executable="[ExecutableName]"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="[AliasName]" />
</uap3:AppExecutionAlias>
</uap3:Extension>
Nome | Descrizione |
---|---|
Categoria | Sempre windows.appExecutionAlias . |
Eseguibile | Il percorso relativo all'eseguibile da avviare quando l'alias viene richiamato. |
Nome alternativo | Nome breve per l'app. Deve sempre terminare con l'estensione ".exe". È possibile specificare un singolo alias di esecuzione dell'app per ogni applicazione nel pacchetto. Se più app si registrano per lo stesso alias, il sistema richiamerà l'ultimo che è stato registrato, quindi assicurati di scegliere un alias univoco che le altre app probabilmente non sovrascriveranno. |
Esempio
<Package
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap3">
<Applications>
<Application>
<Extensions>
<uap3:Extension
Category="windows.appExecutionAlias"
Executable="exes\launcher.exe"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="Contoso.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Trova qui il riferimento completo allo schema .
Avviare un file eseguibile quando gli utenti accedono a Windows
Le attività di avvio consentono all'applicazione di eseguire automaticamente un eseguibile ogni volta che un utente accede.
Nota
L'utente deve avviare l'applicazione almeno una volta per registrare questa attività di avvio.
L'applicazione può dichiarare più attività di avvio. Ogni attività viene avviata in modo indipendente. Tutte le attività di avvio verranno visualizzate in Gestione attività nella scheda Avvio con il nome specificato nel manifesto dell'app e l'icona dell'app. Il Gestore delle Attività analizzerà automaticamente l'impatto dell'avvio delle tue attività.
Gli utenti possono disabilitare manualmente l'attività di avvio dell'app usando Gestione attività. Se un utente disabilita un'attività, non è possibile riabilitarla a livello di codice.
Spazio dei nomi XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementi e attributi di questa estensione
<Extension
Category="windows.startupTask"
Executable="[ExecutableName]"
EntryPoint="Windows.FullTrustApplication">
<StartupTask
TaskId="[TaskID]"
Enabled="true"
DisplayName="[DisplayName]" />
</Extension>
Nome | Descrizione |
---|---|
Categoria | Sempre windows.startupTask . |
Eseguibile | Il percorso relativo al file eseguibile da avviare. |
ID attività | Identificatore univoco per l'attività. Usando questo identificatore, l'applicazione può chiamare le API nella classe Windows.ApplicationModel.StartupTask per abilitare o disabilitare a livello di codice un'attività di avvio. |
Abilitato | Indica se l'attività è inizialmente abilitata o disabilitata. Le attività abilitate verranno eseguite alla successiva accesso dell'utente (a meno che l'utente non lo disabiliti). |
Nome visualizzato | Nome dell'attività visualizzata in Gestione attività. È possibile localizzare questa stringa usando ms-resource . |
Esempio
<Package
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
IgnorableNamespaces="desktop">
<Applications>
<Application>
<Extensions>
<desktop:Extension
Category="windows.startupTask"
Executable="bin\MyStartupTask.exe"
EntryPoint="Windows.FullTrustApplication">
<desktop:StartupTask
TaskId="MyStartupTask"
Enabled="true"
DisplayName="My App Service" />
</desktop:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Consentire agli utenti di avviare l'applicazione quando connettono un dispositivo al PC
AutoPlay può presentare l'applicazione come opzione quando un utente connette un dispositivo al PC.
Spazio dei nomi XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10/3
Elementi e attributi di questa estensione
<Extension Category="windows.autoPlayHandler">
<AutoPlayHandler>
<InvokeAction ActionDisplayName="[action string]" ProviderDisplayName="[name of your app/service]">
<Content ContentEvent="[Content event]" Verb="[any string]" DropTargetHandler="[Clsid]" />
<Content ContentEvent="[Content event]" Verb="[any string]" Parameters="[Initialization parameter]"/>
<Device DeviceEvent="[Device event]" HWEventHandler="[Clsid]" InitCmdLine="[Initialization parameter]"/>
</InvokeAction>
</AutoPlayHandler>
Nome | Descrizione |
---|---|
Categoria | Sempre windows.autoPlayHandler . |
ActionDisplayName | Stringa che rappresenta l'azione che gli utenti possono eseguire con un dispositivo che si connettono a un PC (ad esempio: "Importa file" o "Riproduci video"). |
NomeDelFornitore | Stringa che rappresenta l'applicazione o il servizio (ad esempio: "Lettore video Contoso"). |
Evento di Contenuto | Nome di un evento di contenuto che fa sì che agli utenti venga chiesto di inserire il ActionDisplayName e ProviderDisplayName . Un evento di contenuto viene generato quando un dispositivo del volume, ad esempio una scheda di memoria della fotocamera, un'unità digitale o un DVD, viene inserito nel PC. È possibile trovare l'elenco completo di tali eventi qui. |
Verbo | L'impostazione Verb identifica un valore passato all'applicazione per l'opzione selezionata. Puoi specificare più azioni di avvio per un evento AutoPlay e usare l'impostazione Verb per determinare quale opzione un utente ha selezionato per la tua app. È possibile determinare quale opzione sia stata selezionata dall'utente controllando la proprietà 'verb' degli argomenti dell'evento di avvio passati all'app. È possibile usare qualsiasi valore per l'impostazione Verbo tranne, aperto, riservato. |
Oggetto DropTargetHandler | ID classe dell'applicazione che implementa l'interfaccia IDropTarget. I file dal supporto rimovibile vengono passati al metodo Drop dell'implementazione IDropTarget. |
Parametri | Non è necessario implementare l'interfaccia IDropTarget per tutti gli eventi di contenuto. Per uno degli eventi di contenuto, è possibile fornire parametri della riga di comando anziché implementare l'interfaccia IDropTarget. Per questi eventi, AutoPlay avvierà l'applicazione usando questi parametri della riga di comando. È possibile analizzare questi parametri nel codice di inizializzazione dell'app per determinare se è stato avviato da AutoPlay e quindi fornire l'implementazione personalizzata. |
Evento dispositivo | Nome di un evento del dispositivo che fa in modo che gli utenti vengano richiesti con il ActionDisplayName e ProviderDisplayName . Un evento del dispositivo viene generato quando un dispositivo è connesso al PC. Gli eventi del dispositivo iniziano con la stringa WPD ed è possibile trovarli elencati qui. |
HWEventHandler | ID classe dell'applicazione che implementa l'interfaccia IHWEventHandler. |
InitCmdLine | Il parametro stringa che si desidera passare nel metodo Initialize dell'interfaccia IHWEventHandler. |
Esempio
<Package
xmlns:desktop3="http://schemas.microsoft.com/appx/manifest/desktop/windows10/3"
IgnorableNamespaces="desktop3">
<Applications>
<Application>
<Extensions>
<desktop3:Extension Category="windows.autoPlayHandler">
<desktop3:AutoPlayHandler>
<desktop3:InvokeAction ActionDisplayName="Import my files" ProviderDisplayName="ms-resource:AutoPlayDisplayName">
<desktop3:Content ContentEvent="ShowPicturesOnArrival" Verb="show" DropTargetHandler="CD041BAE-0DEA-4472-9B7B-C98043D26EA8"/>
<desktop3:Content ContentEvent="PlayVideoFilesOnArrival" Verb="play" Parameters="%1" />
<desktop3:Device DeviceEvent="WPD\ImageSource" HWEventHandler="CD041BAE-0DEA-4472-9B7B-C98043D26EA8" InitCmdLine="/autoplay"/>
</desktop3:InvokeAction>
</desktop3:AutoPlayHandler>
</Extensions>
</Application>
</Applications>
</Package>
Riavviare automaticamente dopo la ricezione di un aggiornamento da Microsoft Store
Se l'applicazione è aperta quando gli utenti installano un aggiornamento, l'applicazione viene chiusa.
Se si vuole riavviare l'applicazione al termine dell'aggiornamento, chiamare la funzione RegisterApplicationRestart in ogni processo da riavviare.
Ogni finestra attiva nell'applicazione riceve un messaggio di WM_QUERYENDSESSION. A questo punto, l'applicazione può chiamare di nuovo la funzione RegisterApplicationRestart per aggiornare la riga di comando, se necessario.
Quando ogni finestra attiva nell'applicazione riceve il messaggio di WM_ENDSESSION, l'applicazione deve salvare i dati e arrestarli.
Nota
Le finestre attive ricevono anche il messaggio di WM_CLOSE nel caso in cui l'applicazione non gestisca il messaggio di WM_ENDSESSION.
A questo punto, l'applicazione ha 30 secondi per chiudere i propri processi o la piattaforma li termina forzatamente.
Al termine dell'aggiornamento, l'applicazione viene riavviata.
Usare altre applicazioni
Eseguire l'integrazione con altre app, avviare altri processi o condividere informazioni.
- Rendere l'applicazione visualizzata come destinazione di stampa nelle applicazioni che supportano la stampa
- Condividere tipi di carattere con altre applicazioni Windows
- Avvia un processo Win32 da un'applicazione UWP (Universal Windows Platform)
Visualizzare l'applicazione come destinazione di stampa nelle applicazioni che supportano la stampa
Quando gli utenti vogliono stampare dati da un'altra applicazione, ad esempio Blocco note, è possibile visualizzare l'applicazione come destinazione di stampa nell'elenco delle destinazioni di stampa disponibili dell'app.
Sarà necessario modificare l'applicazione in modo che riceva i dati di stampa in formato XPS (XML Paper Specification).
Spazi dei nomi XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elementi e attributi di questa estensione
<Extension Category="windows.appPrinter">
<AppPrinter
DisplayName="[DisplayName]"
Parameters="[Parameters]" />
</Extension>
Trova qui il riferimento completo allo schema .
Nome | Descrizione |
---|---|
Categoria | Sempre windows.appPrinter . |
Nome visualizzato | Nome che si desidera visualizzare nell'elenco delle destinazioni di stampa per un'app. |
Parametri | Tutti i parametri richiesti dall'applicazione per gestire correttamente la richiesta. |
Esempio
<Package
xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
IgnorableNamespaces="desktop2">
<Applications>
<Application>
<Extensions>
<desktop2:Extension Category="windows.appPrinter">
<desktop2:AppPrinter
DisplayName="Send to Contoso"
Parameters="/insertdoc %1" />
</desktop2:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Trovare un esempio che usa questa estensione qui
Condividere i tipi di carattere con altre applicazioni Windows
Condividere i tipi di carattere personalizzati con altre applicazioni Windows.
Nota
Prima di poter inviare un'app che usa questa estensione allo Store, devi prima ottenere l'approvazione dal team dello Store. Per ottenere l'approvazione, passare a https://aka.ms/storesupport, fare clic su Contattacie scegliere le opzioni pertinenti per l'invio di app al dashboard. Questo processo di approvazione consente di garantire che non siano presenti conflitti tra i tipi di carattere installati dall'app e i tipi di carattere installati con il sistema operativo. Se non si ottiene l'approvazione, viene visualizzato un errore simile al seguente quando si invia l'app: "Errore di convalida dell'accettazione del pacchetto: Non è possibile usare l'estensione windows.sharedFonts con questo account. Per richiedere le autorizzazioni per l'uso di questa estensione, contattare il team di supporto."
Spazi dei nomi XML
http://schemas.microsoft.com/appx/manifest/uap/windows10/4
Elementi e attributi di questa estensione
<Extension Category="windows.sharedFonts">
<SharedFonts>
<Font File="[FontFile]" />
</SharedFonts>
</Extension>
Trova qui il riferimento completo allo schema .
Nome | Descrizione |
---|---|
Categoria | Sempre windows.sharedFonts . |
Documento | File contenente i tipi di carattere che si desidera condividere. |
Esempio
<Package
xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4"
IgnorableNamespaces="uap4">
<Applications>
<Application>
<Extensions>
<uap4:Extension Category="windows.sharedFonts">
<uap4:SharedFonts>
<uap4:Font File="Fonts\JustRealize.ttf" />
<uap4:Font File="Fonts\JustRealizeBold.ttf" />
</uap4:SharedFonts>
</uap4:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Avvia un processo Win32 da un'app UWP (Universal Windows Platform)
Avvia un processo Win32 eseguito con totale fiducia.
Spazi dei nomi XML
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elementi e attributi di questa estensione
<Extension Category="windows.fullTrustProcess" Executable="[executable file]">
<FullTrustProcess>
<ParameterGroup GroupId="[GroupID]" Parameters="[Parameters]"/>
</FullTrustProcess>
</Extension>
Nome | Descrizione |
---|---|
Categoria | Sempre windows.fullTrustProcess . |
ID del Gruppo | Stringa che identifica un set di parametri da passare all'eseguibile. |
Parametri | Parametri da passare all'eseguibile. |
Esempio
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap=
"http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10">
...
<Capabilities>
<rescap:Capability Name="runFullTrust"/>
</Capabilities>
<Applications>
<Application>
<Extensions>
<desktop:Extension Category="windows.fullTrustProcess" Executable="fulltrustprocess.exe">
<desktop:FullTrustProcess>
<desktop:ParameterGroup GroupId="SyncGroup" Parameters="/Sync"/>
<desktop:ParameterGroup GroupId="OtherGroup" Parameters="/Other"/>
</desktop:FullTrustProcess>
</desktop:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Questa estensione può essere utile se vuoi creare un'interfaccia utente della piattaforma UWP (Universal Windows Platform) eseguita in tutti i dispositivi, ma vuoi che i componenti dell'applicazione Win32 continuino a essere in esecuzione con attendibilità totale.
È sufficiente creare un pacchetto di app di Windows per l'app Win32. Aggiungi quindi questa estensione al file di pacchetto della tua app UWP. Questa estensione indica che si vuole avviare un file eseguibile nel pacchetto dell'app di Windows. Se vuoi comunicare tra la tua app UWP e la tua app Win32, puoi configurare uno o più servizi app a tale scopo. Per altre informazioni su questo scenario , vedere qui.
Passaggi successivi
Hai domande? Chiedici su Stack Overflow. Il nostro team monitora questi tag . Puoi anche chiedere qui .