Condividi tramite


Integrare un provider di archiviazione cloud

Quando si ha un provider di archiviazione cloud, è necessario eseguire alcuni passaggi per offrire un'esperienza coerente e preferita per l'utente. Queste due operazioni vengono registrate come provider radice di sincronizzazione e l'integrazione dell'applicazione nel livello radice del riquadro di spostamento.

Importante

L'integrazione del provider di archiviazione cloud è supportata solo a partire da Windows 10.

 

La prima cosa consiste nel registrare come provider radice di sincronizzazione. Ciò consente a Windows Shell di conoscere l'applicazione e che l'applicazione sarà responsabile della sincronizzazione dei file nella radice di sincronizzazione. In questo modo verranno inoltre visualizzate altre applicazioni che si sincronizzano questi file in modo che possano rispondere in modo appropriato. Altre applicazioni possono quindi usare StorageFile.Provider per ottenere DisplayName e ID dell'applicazione.

Per registrare come provider radice di sincronizzazione, sarà necessario creare più voci del Registro di sistema. Prima di fornire l'elenco delle coppie chiave-valore, ecco alcuni segnaposto che è necessario sostituire con i propri dati dell'applicazione.

  • [ID provider di archiviazione]: nome del provider di archiviazione cloud. Questo nome deve essere coerente indipendentemente dalla versione dell'applicazione. Un esempio di questo è OneDrive.
  • [Windows SID]: SID windows univoco che identifica l'utente. Se l'app supporta più installazioni per più utenti in un singolo computer, questo pezzo è necessario.
  • [ID account]: identificatore del provider di servizi per l'account corrente dell'utente. Alcuni provider richiedono la possibilità di fornire più radici di sincronizzazione per un utente. Un esempio di questo è un lavoro e un account personale. L'ID account consente di avere più account registrati per un utente. Se il provider supporta più radici di sincronizzazione per utente, questo pezzo è necessario.

Questi segnaposto vengono combinati insieme per formare l'ID radice di sincronizzazione. È necessario inserire un carattere ! tra ognuno dei segnaposto quando si forma l'ID radice di sincronizzazione. Ecco le coppie chiave-valore che devono essere create.

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[ID provider di archiviazione]![Windows SID]![ID account]\DisplayNameResource: punta alla risorsa in cui Windows Shell o altre applicazioni possono ottenere un nome descrittivo per la radice di sincronizzazione.
  • HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[ID provider di archiviazione]![Windows SID]![ID account]\IconResource: punta alla risorsa in cui La shell di Windows o altre applicazioni può ottenere un'icona per la radice di sincronizzazione.
  • HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[ID provider di archiviazione]![Windows SID]![ID account]\UserSyncRoots\[Windows SID] : percorso sul disco in cui si trova la radice di sincronizzazione.

Oltre alla registrazione come provider radice di sincronizzazione, si vuole anche che gli utenti abbiano accesso facile ai dati forniti. Lo spazio dei nomi Esplora file è progettato per fornire un metodo per l'accesso semplice. La creazione di un'estensione dello spazio dei nomi per il provider e l'incorporamento nella finestra di Esplora file consentirà agli utenti di interagire con il livello radice dei servizi proprio come vengono usati con altri elementi Esplora file. In questo argomento viene illustrato come estendere lo spazio dei nomi Esplora file in modo che il provider venga visualizzato a livello radice nel riquadro di spostamento.

Il riquadro di spostamento della finestra Esplora file è la parte della finestra visualizzata sul lato sinistro. Nell'immagine seguente è possibile visualizzare la struttura dello spazio dei nomi per questo utente. Il livello radice nel riquadro di spostamento include gli oggetti per OneDrive, Questo PC e Rete. Seguendo questa procedura, l'estensione verrà aggiunta allo stesso livello.

riquadro di spostamento

Per aggiungere l'estensione al riquadro di spostamento, è necessario avere quanto segue prima di modificare il Registro di sistema:

  • Cartella del file system contenente i dati da visualizzare all'utente.

  • Nome del servizio cloud visualizzato nel riquadro di spostamento. Questo potrebbe anche essere il nome dell'istanza se il servizio supporta più account.

  • Icona identificabile per l'applicazione.

  • CLSID per l'applicazione. Un modo per generare un CLSID per l'applicazione consiste nell'usare la Uuidgen.exe. Per altre informazioni su CLSID, vedere La chiave CLSID .

I passaggi seguenti modificano il Registro di sistema per ottenere le informazioni necessarie nello spazio dei nomi Esplora file. I passaggi specifici eseguono tre operazioni.

  • Creare chiavi nel Registro di sistema per CLSID che include valori per il nome e l'icona per l'estensione, nonché altre informazioni che definiscono il relativo comportamento.

  • Configurare l'estensione da integrare nel riquadro di spostamento nella posizione corretta e con la visibilità appropriata.

  • Configurare l'estensione per avere il comportamento previsto per un elemento nel riquadro di spostamento.

Queste istruzioni usano specificamente il comando reg.exe , tuttavia è possibile usare qualsiasi strumento di modifica del Registro di sistema scelto. È anche possibile integrare questi passaggi in un programma di installazione che aggiorna il Registro di sistema a livello di codice.

Istruzioni

Passaggio 1: Aggiungere CLSID e assegnare un nome all'estensione

Aggiungere il nome dell'estensione al Registro di sistema in HKEY_CURRENT_USER. Si aggiungerà anche l'identificatore univoco per questa estensione. È possibile aggiungere più estensioni per utente, ma in questo caso è necessario un nome univoco e un identificatore per ogni estensione. Questo nome e identificatore devono essere coerenti nel resto di questi passaggi. In questo esempio il nome è MyCloudStorageApp.

Importante

L'identificatore specificato (0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3) in questi passaggi viene usato solo come esempio. Sarà necessario modificarlo in CLSID univoco.

 

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /ve /t REG_SZ /d "MyCloudStorageApp" /f

Passaggio 2: Impostare l'immagine per l'icona

Specificare il percorso dell'icona che deve essere visualizzata nel riquadro di spostamento. Nell'esempio seguente, 1043 fa riferimento all'identificatore di risorsa per l'icona nella DLL indicata.

Importante

È necessario aggiornare il percorso dell'immagine. Deve puntare a un percorso generico in cui l'app ha installato un'immagine.

 

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\DefaultIcon /ve /t REG_EXPAND_SZ /d %SystemRoot%%\system32\imageres.dll,-1043 /f

Passaggio 3: Aggiungere l'estensione al riquadro di spostamento e renderla visibile

L'impostazione di questo valore su 0x1 indica che l'estensione deve essere aggiunta. In questo modo verrà visualizzato per impostazione predefinita agli utenti. La configurazione predefinita per un utente è che solo gli elementi aggiunti verranno visualizzati nel riquadro di spostamento. Un utente può modificare tale impostazione facendo clic con il pulsante destro del mouse nel riquadro di spostamento e selezionando Mostra tutte le cartelle. Se non si vuole aggiungere l'estensione, è possibile impostare questo valore su 0x0. Ciò non rimuoverà l'estensione, ma impedisce semplicemente di essere visualizzata all'utente per impostazione predefinita.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /v.IsPinnedToNameSpaceTree /t REG_DWORD /d 0x1 /f

Passaggio 4: Impostare il percorso per l'estensione nel riquadro di spostamento

Questo è fondamentale per assicurarsi che il riquadro di spostamento fornisca un'esperienza coerente per l'utente.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /v SortOrderIndex /t REG_DWORD /d 0x42 /f

Passaggio 5: Specificare la dll che ospita l'estensione.

Usare la shell32.dll per emulare le cartelle di windows predefinite. Modificare questo solo se si ha un motivo specifico per farlo e si ha familiarità con le estensioni dello spazio dei nomi.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\InProcServer32 /ve /t REG_EXPAND_SZ /d %systemroot%%\system32\shell32.dll /f

Passaggio 6: Definire l'oggetto istanza

Indicare che l'estensione dello spazio dei nomi deve funzionare come altre strutture di cartelle file in Esplora file. Per altre informazioni sugli oggetti dell'istanza della shell, vedere Creazione di estensioni shell con oggetti di istanza della shell.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance /v CLSID /t REG_SZ /d {0E5AAE11-A475-4c5b-AB00-C66DE400274E} /f

Passaggio 7: Specificare gli attributi del file system della cartella di destinazione

Questa operazione è necessaria per assicurarsi che l'Esplora file fornisca un'esperienza coerente e prevista per gli utenti. Questo comando imposta FILE_ATTRIBUTE_DIRECTORY e FILE_ATTRIBUTE_READONLY, entrambi costanti di attributo file.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance\InitPropertyBag /v Attributes /t REG_DWORD /d 0x11 /f

Passaggio 8: Impostare il percorso per la radice di sincronizzazione

Impostare il percorso per la radice di sincronizzazione.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance\InitPropertyBag /v TargetFolderPath /t REG_EXPAND_SZ /d %USERPROFILE%\MyCloudStorageApp /f

Passaggio 9: Impostare i flag della shell appropriati

Impostare alcuni flag necessari per aggiungere l'estensione dello spazio dei nomi all'albero Esplora file.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\ShellFolder /v FolderValueFlags /t REG_DWORD /d 0x28 /f

Passaggio 10: Impostare i flag appropriati per controllare il comportamento della shell

Impostare i flag SFGAO appropriati. I flag pertinenti sono SFGAO_CANCOPY, SFGAO_CANLINK, SFGAO_STORAGE, SFGAO_HASPROPSHEET, SFGAO_STORAGEANCESTOR, SFGAO_FILESYSANCESTOR, SFGAO_FOLDER, SFGAO_FILESYSTEM e SFGAO_HASSUBFOLDER.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\ShellFolder /v Attributes /t REG_DWORD /d 0xF080004D /f

Passaggio 11: Registrare l'estensione nella radice dello spazio dei nomi

Configurare l'estensione dello spazio dei nomi in modo che sia figlio della cartella desktop.

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /ve /t REG_SZ /d MyCloudStorageApp /f

Passaggio 12: Nascondere l'estensione dal desktop

È importante che l'estensione venga visualizzata solo nel riquadro di spostamento della Esplora file. Un'estensione dello spazio dei nomi non funziona come un normale collegamento. Pertanto, non è consigliabile usare questo metodo per creare un collegamento Desktop.

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel /v {0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /t REG_DWORD /d 0x1 /f