3

Files On-Demand

We must prepare the application similar to OneDrive on Windows - synchronization list of files stored in cloud and synchronization of selected files.

During the investigation we found a very nice library to manage On-Demand Files in Windows from C# - ShellBoost.

List files from the cloud as local files

Show list of on-demand files in a local folder file-list

Show folder with files as Namespace extension file-list-ext

With ShellBoost we can synchronize files in a very cool way. We can show sync status, we can do all operations like on regular files, additionally, we can synchronize items or remove them from synchronization.

Unfortunately, we met some restrictions

File Context Menu Items problem

We are not able to add custom actions to not synchronized files. I used SharpShell to manage additional context menu items on files - it works

context-menu-on-sync-file

But on not synchronized files it doesn't work.

context-menu-on-not-sync-file

OneDrive supports custom context menu item

Somehow OneDrive is able to add custom menu items

onedrive-context-menu

PowerToys can add a custom context menu item

Somehow PowerToys is able to add custom menu items to our not synchronized files

powertoys-context-menu

Example

Here is a repo with the example https://github.com/m4tchl0ck/ShellBoost-My-Samples

Adrian
  • 406
  • 4
  • 9
  • Over a sync root, IContextMenu is deprecated. You must use an IExplorerCommand implementation (+ possibly app identity). And this will be the case for all file folders with Windows 11 anyway: https://blogs.windows.com/windowsdeveloper/2021/07/19/extending-the-context-menu-and-share-dialog-in-windows-11/ – Simon Mourier Nov 15 '21 at 11:00

0 Answers0