Integrare l'app desktop con Windows usando le estensioni per la creazione di pacchetti

Se l'app desktop è in pacchetto (ha l'identità del pacchetto in fase di esecuzione), è possibile usare le estensioni per integrare l'app con Windows usando estensioni nel manifesto del pacchetto predefinite. Vedere anche Funzionalità che richiedono l'identità del pacchetto.

Usare ad esempio un'estensione per creare un'eccezione del firewall, impostare l'app come l'applicazione predefinita per un tipo di file oppure scegliere i riquadri di avvio per l'app. Per usare un'estensione, aggiungi alcuni linguaggi XML al file del manifesto del pacchetto della tua 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 venga creato un pacchetto dell'app (con identità del pacchetto al momento del runtime). Sono incluse le app in pacchetto (vedere Creare un nuovo progetto per un'app desktop WinUI 3 in pacchetto) e le app in pacchetto con posizione esterna (vedere Concedere identità del pacchetto creando pacchetti con posizione esterna). Vedere anche Funzionalità che richiedono l'identità del pacchetto.

Eseguire la transizione degli utenti alla tua app

Aiuta gli utenti a eseguire la transizione alla tua app in pacchetto.

Reindirizzare l'app desktop esistente all'app in pacchetto

Quando gli utenti avviano l'app desktop non in pacchetto esistente, è possibile configurare l'app in pacchetto in modo che venga aperta invece dell'app desktop.

Nota

Questa funzionalità è supportata in Windows Insider Preview Build 21313 e versioni successive.

Per abilitare questo comportamento:

  1. Aggiungere voci del Registro di sistema per reindirizzare l'eseguibile dell'app desktop non in pacchetto all'app in pacchetto.
  2. Registrare l'app in pacchetto in modo che venga avviata all'avvio dell'eseguibile dell'app desktop non in pacchetto.

Aggiungere voci del Registro di sistema per reindirizzare l'eseguibile dell'app desktop non in pacchetto

  1. 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.
  2. In questa sottochiave aggiungere i valori seguenti:
    • AppExecutionAliasRedirect (DWORD): se questo valore è impostato su 1, il sistema verificherà la presenza di 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 reindirizzerà a un'estensione AppExecutionAlias da qualsiasi pacchetto.

Ad esempio:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\contosoapp.exe 
    AppExecutionAliasRedirect = 1
    AppExecutionAliasRedirectPackages = "Microsoft.WindowsNotepad_8weky8webbe" 

Registrare l'app in pacchetto da avviare

Nel manifesto del pacchetto aggiungere un'estensione AppExecutionAlias che registra il nome del file eseguibile dell'app desktop non in pacchetto. Ad 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.
File eseguibile Percorso relativo del file eseguibile da avviare quando viene richiamato l'alias.
Alias Nome breve per la tua app. Deve sempre terminare con l'estensione ".exe".

Puntare i pulsanti della barra delle applicazioni e i riquadri Start esistenti all'app in pacchetto

Gli utenti potrebbero avere aggiunto la tua applicazione desktop alla barra delle applicazioni o al menu Start. Puoi scegliere la tua nuova app in pacchetto per questi collegamenti.

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 il riferimento dello schema completo qui.

Nome Descrizione
Categoria Sempre windows.desktopAppMigration.
AumID ID del modello utente dell'applicazione della tua app in pacchetto.
ShortcutPath Percorso dei file con estensione lnk che avvia la versione della tua app desktop.

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>

Visualizzatore di immagini WPF con transizione/migrazione/disinstallazione

Creare i file aperti della tua app in pacchetto invece della tua app desktop

Puoi assicurarti che gli utenti aprano la tua nuova app in pacchetto per impostazione predefinita per tipi di file specifici invece di aprire la versione desktop della tua app.

A tale scopo, specificherai l'identificatore programmatico (ProgID) di ogni applicazione da cui vuoi 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 il riferimento dello schema completo qui.

Nome Descrizione
Categoria Sempre windows.fileTypeAssociation.
Nome Il nome dell'associazione del tipo di file. Puoi usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere costituito da caratteri minuscoli senza spazi.
MigrationProgId L'identificatore programmatico (ProgID) che descrive l'applicazione, il componente e la versione dell'applicazione desktop da cui vuoi 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>

Visualizzatore di immagini WPF con transizione/migrazione/disinstallazione

Associare la tua 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 il riferimento dello schema completo qui.

Nome Descrizione
Categoria Sempre windows.fileTypeAssociation.
Nome Il nome dell'associazione del tipo di file. Puoi usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere costituito da caratteri minuscoli senza spazi.
FileType Estensione del file supportato dalla tua 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>

Visualizzatore di immagini WPF con transizione/migrazione/disinstallazione

Aggiungere opzioni ai menu di scelta rapida dei file che dispongono di 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 il riferimento dello schema completo qui.

Nome Descrizione
Categoria Sempre windows.fileTypeAssociation.
Nome Il nome dell'associazione del tipo di file. Puoi usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere costituito da caratteri minuscoli senza spazi.
Verbo Nome visualizzato nel menu di scelta rapida Esplora file. Questa stringa è localizzabile usando ms-resource.
ID ID univoco del verbo. Se l'applicazione è un'app UWP, questo viene passato all'app come parte degli argomenti dell'evento di attivazione, in modo che la selezione dell'utente venga gestita in modo appropriato. Se l'applicazione è un'app in pacchetto completamente attendibile, riceve invece parametri (vedi il punto successivo).
Parametri Elenco di valori e parametri di argomento associati al verbo. Se la tua applicazione è un'app in pacchetto completamente attendibile, questi parametri vengono passati all'applicazione come argomenti dell'evento quando l'applicazione viene attivata. Puoi personalizzare il comportamento della tua applicazione in base a diversi verbi di attivazione. Se una variabile può contenere un percorso di file, racchiudi il valore del parametro tra virgolette. Ciò eviterà eventuali problemi che si verificano nei casi in cui il percorso include spazi. Se l'applicazione è un'app UWP, non puoi passare parametri. L'app riceve invece l'ID (vedi il punto precedente).
Extended Specifica che il verbo viene visualizzato solo se l'utente mostra 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 viene impostato in modo predefinito sul valore False (ad esempio, mostra sempre il verbo) se non è presente nell'elenco. 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 &quot;%1&quot;">Edit</uap3:Verb>
              <uap3:Verb Id="Print" Extended="true" Parameters="/p &quot;%1&quot;">Print</uap3:Verb>
            </uap2:SupportedVerbs>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Visualizzatore di immagini WPF con transizione/migrazione/disinstallazione

Aprire determinati tipi di file direttamente tramite un URL

Puoi assicurarti che gli utenti aprano la tua nuova app in pacchetto per impostazione predefinita per tipi di file specifici invece di aprire la versione desktop della tua 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 il riferimento dello schema completo qui.

Nome Descrizione
Categoria Sempre windows.fileTypeAssociation.
Nome Il nome dell'associazione del tipo di file. Puoi usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere costituito da caratteri minuscoli senza spazi.
UseUrl Indica se aprire i file direttamente da una destinazione URL. Se non imposti questo valore, i tentativi eseguiti dalla tua applicazione di aprire un file usando un URL comportano innanzitutto il download locale del file da parte del sistema.
Parametri Parametri facoltativi.
FileType 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 configurazione

Creare l'eccezione del firewall per la tua app

Se l'applicazione richiede la comunicazione attraverso una porta, puoi aggiungere la tua applicazione all'elenco di eccezioni del firewall.

Nota

Per usare la categoria di estensione "windows.firewallRules" (vedere di seguito), il pacchetto richiede la funzionalità con restrizioni Livello di autorizzazione Attendibilità totale. Vedere 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 il riferimento dello schema completo qui.

Nome Descrizione
Categoria Sempre windows.firewallRules
File eseguibile Nome del file eseguibile che vuoi aggiungere all'elenco di eccezioni del firewall
Orientamento Indica se la regola è una regola in entrata o in uscita
IPProtocol Protocollo di comunicazione
LocalPortMin Numero di porta inferiore in un intervallo di numeri di porte locali.
LocalPortMax Numero di porta maggiore in un intervallo di numeri di porte locali.
RemotePortMax Numero di porta inferiore in un intervallo di numeri di porte remote.
RemotePortMax Numero di porta maggiore in un intervallo di numeri 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>

Collocare i file DLL in qualsiasi cartella del pacchetto

Usare l'estensione uap6:LoaderSearchPathOverride per dichiarare fino a cinque percorsi di cartella del pacchetto dell'app, relativi al percorso radice di tale pacchetto, da usare nel percorso di ricerca del caricatore per i processi dell'app.

L'ordine di ricerca delle DLL per le app di Windows include i pacchetti nel grafico delle dipendenze se tali pacchetti hanno diritti di esecuzione. Per impostazione predefinita, vengono inclusi i pacchetti principali, facoltativi e framework, anche se possono essere sovrascritti dall'elemento uap6:AllowExecution nel manifesto del pacchetto.

Per impostazione predefinita, un pacchetto che viene incluso nell'ordine di ricerca delle DLL includerà il relativo percorso effettivo. Per altre informazioni sui percorsi effettivi, vedere la proprietà EffectivePath (WinRT) e l'enumerazione PackagePathType (Win32).

Se un pacchetto specifica uap6:LoaderSearchPathOverride, al posto del percorso effettivo del pacchetto viene usata questa informazione.

Ogni pacchetto può contenere una sola estensione uap6:LoaderSearchPathOverride. Questo significa che puoi aggiungerne una al pacchetto principale e quindi aggiungerne una a ognuno dei pacchetti facoltativi e set correlati.

Spazio dei nomi XML

http://schemas.microsoft.com/appx/manifest/uap/windows10/6

Elementi e attributi di questa estensione

Dichiara 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.
FolderPath Percorso della cartella che contiene i file DLL. Specifica un percorso relativo alla cartella radice del pacchetto. Puoi specificare fino a cinque percorsi in un'estensione. Se vuoi che il sistema cerchi i file nella cartella radice del pacchetto, puoi usare una stringa vuota per uno di questi percorsi. Non includere percorsi duplicati e verificare che i percorsi non contengano barre o barre rovesciate iniziali e finali.

Il sistema non cerca nelle sottocartelle, quindi assicurati di elencare in modo esplicito ogni cartella che contiene i file DLL che vuoi vengano caricati 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>

Integrare Esplora file

Aiuta gli utenti a organizzare i file e a interagire con essi in modi semplici.

Definire il comportamento dell'applicazione quando gli utenti selezionano e aprono più file contemporaneamente

Specifica il comportamento della tua 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 il riferimento dello schema completo qui.

Nome Descrizione
Categoria Sempre windows.fileTypeAssociation.
Nome Il nome dell'associazione del tipo di file. Puoi usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere costituito da caratteri minuscoli senza spazi.
MultiSelectModel Vedi di seguito
FileType 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 alla tua applicazione come parametri dell'argomento.
  • Single: l'applicazione viene attivata una 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à Documento e Immagini in modalità Lettore.

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 al massimo 15 file, la scelta predefinita per l'attributo MultiSelectModel è Lettore. In caso contrario, il valore predefinito è Documento. Le app UWP vengono sempre avviate in modalità Lettore.

Mostrare il contenuto del file in un'immagine di anteprima all'interno di Esplora file

Consentire agli utenti di visualizzare un'immagine di anteprima del contenuto del file quando l'icona del file viene visualizzata con dimensioni medie, grandi o molto grandi.

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 il riferimento dello schema completo qui.

Nome Descrizione
Categoria Sempre windows.fileTypeAssociation.
Nome Il nome dell'associazione del tipo di file. Puoi usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere costituito da caratteri minuscoli senza spazi.
FileType Estensioni di file pertinenti.
CLSID ID della classe della tua app.

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">
            <uap2:SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
            </uap2:SupportedFileTypes>
            <desktop2:ThumbnailHandler
              Clsid  ="20000000-0000-0000-0000-000000000001"  />
            </uap3:FileTypeAssociation>
         </uap::Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Mostrare il contenuto del file nel riquadro di anteprima di Esplora file

Consentire agli utenti di visualizzare l'anteprima del contenuto di un file nel riquadro di 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 il riferimento dello schema completo qui.

Nome Descrizione
Categoria Sempre windows.fileTypeAssociation.
Nome Il nome dell'associazione del tipo di file. Puoi usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere costituito da caratteri minuscoli senza spazi.
FileType Estensioni di file pertinenti.
CLSID ID della classe della tua app.

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">
            <uap2SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
                </uap2SupportedFileTypes>
              <desktop2:DesktopPreviewHandler Clsid ="20000000-0000-0000-0000-000000000001" />
           </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Consentire agli utenti di raggruppare file usando la colonna Tipo in Esplora file

Puoi associare uno o più valori predefiniti per i tipi di file con il campo Tipo.

In Esplora file gli utenti possono raggruppare i file usando tale campo. I componenti di sistema usando questo campo anche per diversi scopi, ad esempio l'indicizzazione.

Per ulteriori informazioni sul campo Tipo e sui valori che puoi usare per questo campo, vedi la pagina relativa all'uso dei nomi di tipi.

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 il riferimento dello schema completo qui.

Nome Descrizione
Categoria Sempre windows.fileTypeAssociation.
Nome Il nome dell'associazione del tipo di file. Puoi usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere costituito da caratteri minuscoli senza spazi.
FileType Estensioni di file pertinenti.
value Valore Tipo valido

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à di file nelle finestre di dialogo di ricerca, indice e proprietà e nel 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 il riferimento dello schema completo qui.

Nome Descrizione
Categoria Sempre windows.fileTypeAssociation.
Nome Il nome dell'associazione del tipo di file. Puoi usare questo nome per organizzare e raggruppare i tipi di file. Il nome deve essere costituito da caratteri minuscoli senza spazi.
FileType Estensioni di file pertinenti.
CLSID ID della classe della tua app.

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

Trova il riferimento completo allo schema qui: com:ComServer e desktop4:FileExplorerContextMenus.

Istruzioni

Per registrare il gestore del menu di scelta rapida, segui le istruzioni seguenti.

  1. Nell'applicazione desktop implementa un gestore del menu di scelta rapida implementando l'interfaccia IExplorerCommand o IExplorerCommandState. Per un esempio, vedi l'esempio di codice ExplorerCommandVerb. Assicurati di definire un GUID di classe per ogni oggetto di implementazione. Il codice seguente, ad esempio, definisce un ID di classe per un'implementazione di IExplorerCommand.

    class __declspec(uuid("d0c8bceb-28eb-49ae-bc68-454ae84d6264")) CExplorerCommandVerb;
    
  2. Nel manifesto del pacchetto specifica un'estensione dell'applicazione com:ComServer che registra un server surrogato COM con l'ID classe dell'implementazione del gestore del menu di scelta rapida.

    <com:Extension Category="windows.comServer">
        <com:ComServer>
            <com:SurrogateServer AppId="d0c8bceb-28eb-49ae-bc68-454ae84d6264" DisplayName="ContosoHandler">
                <com:Class Id="d0c8bceb-28eb-49ae-bc68-454ae84d6264" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/>
            </com:SurrogateServer>
        </com:ComServer>
    </com:Extension>
    
  3. 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="d0c8bceb-28eb-49ae-bc68-454ae84d6264" />
            </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="d0c8bceb-28eb-49ae-bc68-454ae84d6264" DisplayName="ContosoHandler">
              <com:Class Id="d0c8bceb-28eb-49ae-bc68-454ae84d6264" 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="d0c8bceb-28eb-49ae-bc68-454ae84d6264" />
            </desktop4:ItemType>
          </desktop4:FileExplorerContextMenus>
        </desktop4:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Rendere visibili in Esplora file i file del servizio cloud

Registra i gestori che implementi nell'applicazione. Puoi anche aggiungere opzioni di menu contestuale da visualizzare quando gli utenti fanno clic con il pulsante destro del mouse sui file basati su 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.
iconResource L'icona che rappresenta il servizio del provider di file cloud. Questa icona viene visualizzata nel riquadro di spostamento di Esplora file. Gli utenti scelgono l'icona per visualizzare i file del servizio cloud.
CustomStateHandler Clsid L'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 L'ID classe dell'applicazione che implementa ThumbnailProviderHandler. Il sistema usa questo ID classe per richiedere immagini in miniatura dei file cloud.
ExtendedPropertyHandler Clsid L'ID classe dell'applicazione che implementa ExtendedPropertyHandler. Il sistema usa questo ID classe per richiedere proprietà estese di un file cloud.
Verbo Il nome visualizzato nel menu contestuale di 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

Avviare l'applicazione tramite un protocollo

Le associazioni di protocolli possono consentire ad altri programmi e componenti di sistema di interagire con la tua app in pacchetto. Quando l'applicazione in pacchetto viene avviata usando un protocollo, puoi specificare determinati parametri da passare agli argomenti dell'evento di attivazione in modo che possa comportarsi di conseguenza. I parametri sono supportati solo per le app in pacchetto completamente attendibili. Le app UWP non possono usare i 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 il riferimento dello schema completo qui.

Nome Descrizione
Categoria Sempre windows.protocol.
Nome Nome del protocollo.
Parametri Elenco di parametri e valori da passare all'applicazione come argomenti dell'evento quando l'applicazione viene attivata. Se una variabile può contenere un percorso di file, racchiudi il valore del parametro tra virgolette. Ciò eviterà 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 &quot;%1&quot;" />
        </uap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Avviare l'applicazione tramite un alias

Gli utenti e altri processi possono usare un alias per avviare l'applicazione senza dover specificare il percorso completo della tua app. Puoi specificare tale nome dell'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.
File eseguibile Percorso relativo del file eseguibile da avviare quando viene richiamato l'alias.
Alias Nome breve per la tua 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. Assicurarsi quindi di scegliere un alias univoco, con ridotta probabilità di override da parte delle altre app.

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 il riferimento dello schema completo qui.

Avviare un file eseguibile quando gli utenti accedono a Windows

Le attività di avvio permettono all'applicazione di eseguire automaticamente un file eseguibile ogni volta che un utente accede.

Nota

L'utente deve avviare l'applicazione almeno una volta per registrare l'attività di avvio.

L'applicazione può dichiarare più attività di avvio. Ogni attività inizia 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. Gestione attività analizzerà automaticamente l'impatto dell'avvio delle attività.

Gli utenti possono disabilitare manualmente l'attività di avvio dell'app tramite Gestione attività. Se un utente disabilita un'attività, non puoi 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.
File eseguibile Percorso relativo del file eseguibile da avviare.
TaskId Identificatore univoco per la tua attività. Usando questo identificatore, l'applicazione può chiamare le API nella classe Windows.ApplicationModel.StartupTask per abilitare o disabilitare un'attività di avvio a livello di codice.
Attivato Indica se l'attività viene avviata innanzitutto come abilitata o disabilitata. Le attività abilitate verranno eseguite al successivo accesso dell'utente, a meno che l'utente non disabiliti questa opzione.
DisplayName Nome dell'attività che viene visualizzata in Gestione attività. Puoi localizzare questa stringa con 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

La funzionalità AutoPlay può presentare la tua 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 viene connesso a un PC, ad esempio: "Importa file" o "Riproduci video".
ProviderDisplayName Stringa che rappresenta l'applicazione o il servizio, ad esempio: "Lettore video Contoso".
ContentEvent Il nome di un evento contenuto che determina la visualizzazione della richiesta di ActionDisplayName e ProviderDisplayName agli utenti. Un evento contenuto viene generato quando si inserisce nel PC un dispositivo di volume, come la scheda di memoria di una fotocamera, una chiavetta USB o un DVD. Puoi trovare l'elenco completo di questi eventi qui.
Verbo L'impostazione Verbo identifica un valore passato all'applicazione per l'opzione selezionata. Puoi specificare più azioni di avvio per un evento AutoPlay e usare l'impostazione Verbo per determinare l'opzione selezionata da un utente per la tua app. Puoi determinare l'azione selezionata dall'utente controllando la proprietà verb degli argomenti dell'evento di avvio passati alla tua app. Puoi usare qualsiasi valore per l'impostazione Verbo eccetto open, che è riservato.
DropTargetHandler L'ID classe dell'app 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 contenuto. Per qualsiasi evento contenuto, puoi fornire parametri della riga di comando invece di implementare l'interfaccia IDropTarget. Per questi eventi, AutoPlay avvierà l'applicazione usando i parametri della riga di comando specificati. Puoi analizzare tali parametri nel codice di inizializzazione dell'app per determinare se è stata avviata tramite AutoPlay e quindi specificare l'implementazione personalizzata.
DeviceEvent Il nome di un evento dispositivo che determina la visualizzazione della richiesta di ActionDisplayName e ProviderDisplayName agli utenti. Un evento dispositivo viene generato quando un dispositivo viene connesso al PC. Gli eventi dispositivo iniziano con la stringa WPD e puoi trovarli elencati qui.
HWEventHandler L'ID classe dell'applicazione che implementa l'interfaccia IHWEventHandler.
InitCmdLine Il parametro stringa che vuoi 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 aver ricevuto un aggiornamento da Microsoft Store

Se l'applicazione è aperta quando gli utenti installano un aggiornamento, l'applicazione viene chiusa.

Se vuoi che l'applicazione venga riavviata al termine dell'aggiornamento, chiama la funzione RegisterApplicationRestart in tutti i processi che vuoi riavviare.

Ogni finestra attiva della tua applicazione riceve un messaggio WM_QUERYENDSESSION. A questo punto, l'applicazione può chiamare la funzione RegisterApplicationRestart per aggiornare la riga di comando, se necessario.

Quando ogni finestra attiva nella tua applicazione riceve il messaggio WM_ENDSESSION, l'applicazione deve salvare i dati ed eseguire l'arresto.

Nota

Le finestre attive ricevono il messaggio WM_CLOSE anche nel caso in cui l'applicazione non gestisce il messaggio WM_ENDSESSION.

A questo punto, l'applicazione ha 30 secondi per chiudere i processi o vengono arrestati dalla piattaforma in modo forzato.

Al termine dell'aggiornamento, l'applicazione viene riavviata.

Usare altre applicazioni

Esegui l'integrazione con altre app, avvia altri processi o condividi le informazioni.

Fare in modo che la tua applicazione venga visualizzata come destinazione di stampa nelle applicazioni che supportano la stampa

Quando gli utenti vogliono stampare dati da un'altra applicazione, ad esempio Blocco note, puoi fare in modo che l'applicazione venga visualizzata come destinazione di stampa nell'elenco dell'app delle destinazioni di stampa disponibili.

Dovrai modificare la tua applicazione in modo che riceva i dati di stampa in formato XML Paper Specification (XPS).

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 il riferimento dello schema completo qui.

Nome Descrizione
Categoria Sempre windows.appPrinter.
DisplayName Nome che vuoi venga visualizzato nell'elenco delle destinazioni di stampa per un'app.
Parametri 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>

Trova un esempio che usa questa estensione qui

Condividere i tipi di carattere con altre applicazioni Windows

Condividi i tipi di carattere personalizzati con altre applicazioni Windows.

Nota

Prima di inviare un'app che usa questa estensione allo Store, è necessario ottenere l'approvazione dal team dello Store. Per ottenere l'approvazione, passare a https://aka.ms/storesupport, fare clic su Contattaci e scegliere le opzioni pertinenti per l'invio di app al dashboard. Questo processo di approvazione assicura 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. Contatta il team di supporto tecnico se vuoi richiedere le autorizzazioni per l'uso di questa estensione."

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 il riferimento dello schema completo qui.

Nome Descrizione
Categoria Sempre windows.sharedFonts.
file File che contiene i tipi di carattere che vuoi 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>

Avviare un processo Win32 da un'app UWP (Universal Windows Platform)

Avvia un processo Win32 che viene eseguito con attendibilità totale.

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.
GroupID Stringa che identifica un set di parametri che vuoi passare al file eseguibile.
Parametri Parametri che vuoi passare al file 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 potrebbe essere utile se vuoi creare un'interfaccia utente della piattaforma UWP (Universal Windows Platform) che viene eseguita in tutti i dispositivi, ma vuoi che i componenti della tua applicazione Win32 continuino l'esecuzione con attendibilità totale.

Crea semplicemente un pacchetto di app di Windows per la tua app Win32. Successivamente, aggiungi questa estensione al file del pacchetto della tua app UWP. Queste estensioni indicano che vuoi avviare un file eseguibile nel pacchetto app di Windows. Se vuoi consentire la comunicazione tra l'app UWP e la tua app Win32, puoi impostare uno o più servizi app per eseguire questa operazione. Puoi leggere altre informazioni su questo scenario qui.

Passaggi successivi

Altre domande? Partecipa a Stack Overflow. Il nostro team controlla costantemente questi tag. Puoi inviarci le tue domande anche qui.