I'm trying to set an overlay icon for the virtual drive I'm adding using CBFS.

If installing the icon as described in the documentation (w/ size and color depth requirements), and calling Install w/ 'CBFS_MODULE_NET_REDIRECTOR_DLL | CBFS_MODULE_MOUNT_NOTIFIER_DLL' flags set (with admin permissions), on reboot I will find the drive (in explorer) is "disconnected" without the icon overlayed in the right hand view, but the small icon in the left hand panel does show a small icon (see attached). If I leave out the CBFS_MODULE_MOUNT_NOTIFIER_DLL flag during installation, after reboot the icon situation is the same, but the drive no longer shows as disconnected.

BTW: If looking at the explorer process in ProcessExplorer, I am not seeing the helper dlls loaded.

I'm installing via the class 'CallbackFileSystem::Install'. Now when I use both flags 'CBFS_MODULE_NET_REDIRECTOR_DLL | CBFS_MODULE_MOUNT_NOTIFIER_DLL', I'm no longer seeing the drive disconnected issue I mentioned before, but this time I don't see the installed icon used for the drive, either in the left or main panels of explorer. The OS is Windows 10 64bit.

Yes, I've tried the icon used by the app which includes the sizes and color depths below among other sizes and color depths, as well as a separate icon containing only the sizes and color depths specified:

256x256 32bit, 48x48 8bit, 32x32 4bit, 16x16 4bit.

On a side note, after the app has exited (after deleting mounting point, unmounting and deleting storage), explorer's right panel shows the drive icon is no longer there but the left panel under 'This PC' still shows the drive listed (see attached).

I tried the icon you sent me 'drive.ico' via help desk. This time I added the mount point as CBFS_SYMLINK_MOUNT_MANAGER with mount point "P:", Uninstalled the old icon, installed the new icon. Initially I didn't see the icon in either left pane or right, but after a restart (or reboot and restart), I saw the drive.ico in the left pane. But still not overlayed in the right pane (with larger icon). See the attached screenshot. Non of the CBFS methods are throwing errors, and before the call to SetIcon I am checking to whether the icon is installed using IconInstalled. No errors. Both net directory and mount notifier helper dlls are loaded (verified with Process Explorer). I've sent the windows event logs to the helpdesk thread.

I have spent a lot of time on this issue (many reboots). Please advise. Is this a bug? Should I give up?

rkrikava wrote:
Initially I didn't see the icon in either left pane or right, but after a restart (or reboot and restart), I saw the drive.ico in the left pane.

What you see if Computer tab selected from the left pane, and all drives are listed from the right pane(using different icon size) ? It may be that this icon file doesn't contain the largest required view of the picture.

I see the problem.. unless I click on the view tab in explorer and cycle through the various icon display sizes (Extra large, large, etc..) the icon overlay is missing. Once I click on a different view, the overlay appears. Is this a Windows SNAFU? Or perhaps it requires CBFS to make a call to SHUpdateImage (or equivalent)?

Now on to the next problem. The image quality is terribly poor, and the overlay is badly placed (see attached). Can you explain how these icons are set? Are you just passing the icon onto MS APIs, or is the placing and apparent icon re-sizing done by CBFS?

We use cookies to help provide you with the best possible online experience. By using this site, you agree that we may store and access cookies on your device. You can find out more about and set your own preferences here.