How to use the Shell Namespace Extension in packaged apps?

WebDAV 106 Reputation points
2021-09-29T09:51:48.167+00:00

I am creating a cloud storage drive and have successfully implemented it using Windows Cloud Files API. I have packaged it using the Visual Studio packaging project.

However, I have a requirement for certain folders that do not sync with the cloud and traditionally are implemented as Shell Namespace Extensions. Here are my requirements:

  • Create a “virtual” folder that does not exist on the cloud server and does not participate in syncing. It is just a representation of other files that are on my cloud server (or locally), for example, the “Contracts” folder or the “Photos 2021” folder.
  • Such folders must be read-only or have certain limitations. For example, users can not create subfolders and/or files. No files/folders can be dragged inside such folder, and the user must see the appropriate cursor state when dragging over such folder.
  • The user should NOT see the New Folder context menu and other menus for creating new files and folders inside such folders.

I wanted to create a Shell Namespace Extension for such folders but it looks like the current appx/manifest schema does not allow the packaging of Shell Namespace Extensions.

Are there any plans to extend the Package.appxmanifest schema for Shell Namespace Extensions?
Or is there any other approach for creating such read-only folders except Shell Namespace Extensions?

@Rita Han - MSFT @Fei Xue - MSFT

Windows API - Win32
Windows API - Win32
A core set of Windows application programming interfaces (APIs) for desktop and server applications. Previously known as Win32 API.
2,412 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Xiaopo Yang - MSFT 11,256 Reputation points Microsoft Vendor
    2021-10-14T03:27:20.273+00:00