GP SoftwareTwitter
Opus FAQsManualCommandsObjects

TreeSize context menu not on subfolders


#1

A program - TreeSize - shows up in the Directory Opus context menu for a whole drive, but not in the Directory Opus context menu for any subfolder. How can I fix this? The context menu in File Explorer works fine.

This screen shot is the context menu on C:. It's the correct behavior.
image
This screen shot is the context menu on a subfolder within C:. Notice that a link to TreeSize does not appear. This problem appears on every subfolder on every drive.


#2

Make sure Preferences / Miscellaneous / Windows Integration / Hide Windows items on file context menus (shift overrides) is turned off, although it looks like it already is from the other entries in the menu.

It seems OK here with the latest version of TreeSize Free and Opus 12.8 (12.9 should be the same but wasn't on the machine I tested with):


#3

Leo, thank you for trying to re-create my problem. I'm sorry you couldn't! The setting you mentioned is indeed turned off on my PC, so I'm still where I started.

However, I un-installed TreeSize and re-installed it. Result: it shows up in Directory Opus just as I reported. But now it no longer shows up in Windows Explorer. So I'll take the issue up with the TreeSize people. Thanks.


#4

I mis-spoke. Uninstalling and re-installing TreeSize has indeed left it in Windows Explorer AND added it to Directory Opus. It's just that it doesn't appear with its green logo in the context menu list in either product. Here's a screen shot of Directory Opus' context menu for a subfolder. I have no idea why its behaving this way. But as we in computers so often say at this point, "Problem? I don't see no stinkin' problem here!" Case closed. Thanks.


#5

OK, fixed. At some point, I had manually added a context menu item for TreeSize in DO to the All Folders area. When I deleted this entry, the correct context menu items supplied by TreeSize appear. Operator error all along.


#6

I started to have the same problem in Directory Opus with TreeSizeFree starting from TreeSize version 4.2. The context menu of TreeSize appears only in the drive root (e.g. C:, D:) context menu, but NOT in any subfolder menu. With Windows Explorer, the TreeSize context menu appears also in the subfolders. I contacted Jam Software and they asked me to contact GP Software with the following information:

"With V4.2, we added a key named ‘AppliesTo’ to the registry to exclude TreeSize Free from the context menu of the recycle bin. This key allows to define an AQS filter query (https://docs.microsoft.com/de-de/windows/desktop/search/-search-3x-advancedquerysyntax), evaluated by the shell. It seems like Directory Opus is not evaluating this key correctly, as the Windows Explorer is not affected.

Please add a reference to this conversation/to us (TreeSize@jam-software.com). We will be happy to provide technical information about the changes made with the context menu entries and assist if possible."

Cheers,

Markku Kangas

#7

Forgout to mention: I have Windows 7 64 bit. Markku.


#8

Unski,
Thank you for reviving this thread. Looking at my PC just now, I see that the problem is NOT solved. Indeed, I'm back to the exact symptom I began with at the top of this thread. I don't know when it re-appeared.

  • Directory Opus Pro 12.9 x64 (Windows 10 Pro).
  • TreeSize Personal 7.0.2.1381.
    Windows' File Explorer has no problem. When I delete TreeSize Personal and install TreeSize Free, I get the same incorrect behavior. So the version of TreeSize isn't the problem.

Leo, perhaps you could look into this again? Does Directory Opus evaluate their 'AppliesTo' registry key as Unski says?

Thanks,
Steve


#9

Unfortunately Microsoft haven't exposed the AQS engine for third parties to use so we're forced to manually parse the AppliesTo key ourselves. Hardly anything uses it so it's never really come up as an issue before.

Can you use regedit to export their AppliesTo key so we can see how they've configured it? You'll have to hunt around a bit but it'll probably be under a TreeSize subkey located under either HKEY_CLASSES_ROOT\Folder\shell, HKEY_CLASSES_ROOT\Directory\shell or HKEY_CLASSES_ROOT\*\shell.

Or go back to the developer and ask them to provide the exact syntax they're using.


#10

Jon,
I appreciate your interest in this. On my PC, AppliesTo appears in WAY more places than I expected:

1) `Computer\HKEY_CLASSES_ROOT\*\shell\UpdateEncryptionSettingsWork`
The full text of the data value is:

System.StorageProviderId:<>"network" AND System.StorageProviderProtectionMode:<>1 AND System.StorageProviderProtectionMode:<>2

2) `Computer\HKEY_CLASSES_ROOT\*\shell\UpdateEncryptionSettingsWork`
The full text of the data value is:
System.StorageProviderId:<>"network" AND System.StorageProviderProtectionMode:<>1 AND System.StorageProviderProtectionMode:<>2

3) Computer\HKEY_CLASSES_ROOT\AllSyncRootObjects\shell\ShellPlaceholderLinkVerb
Value: System.Shell.SFGAOFlagsStrings:link AND System.Shell.SFGAOFlagsStrings:placeholder

4) Computer\HKEY_CLASSES_ROOT\DeviceDisplayObject\AllItems\Shell\Microsoft.DxpOpen
Value: System.Devices.LaunchDeviceStageFromExplorer:=System.StructuredQueryType.Boolean#True

5) Computer\HKEY_CLASSES_ROOT\DeviceDisplayObject\AllItems\Shell\Microsoft.DxpOpenInNewWindow
Value: System.Devices.LaunchDeviceStageFromExplorer:=System.StructuredQueryType.Boolean#True

6) Computer\HKEY_CLASSES_ROOT\DeviceDisplayObject\InterfaceClass\{3CC56C3F-A37A-478B-8773-62B2D3E74909}\shell\open
Value: System.Devices.PresentationUrl:<>[]

7) Computer\HKEY_CLASSES_ROOT\Directory\shell\UpdateEncryptionSettings
Value: System.StorageProviderId:<>"network" AND System.StorageProviderProtectionMode:<>1 AND System.StorageProviderProtectionMode:<>2

8) Computer\HKEY_CLASSES_ROOT\Drive\shell\change-passphrase
Value:
(System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#On OR System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#Encrypting OR System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#Suspended) AND System.Volume.BitLockerCanChangePassphraseByProxy:=System.StructuredQueryType.Boolean#True

9) Computer\HKEY_CLASSES_ROOT\Drive\shell\change-pin
Value:
(System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#On OR System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#Encrypting OR System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#Suspended) AND System.Volume.BitLockerCanChangePin:=System.StructuredQueryType.Boolean#True

10) Computer\HKEY_CLASSES_ROOT\Drive\shell\encrypt-bde
Value:
(System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#Off OR System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#OnPreProvisioned) AND System.Volume.BitLockerRequiresAdmin:=System.StructuredQueryType.Boolean#False

11) Computer\HKEY_CLASSES_ROOT\Drive\shell\encrypt-bde-elev
Value:
(System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#Off OR System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#OnPreProvisioned) AND System.Volume.BitLockerRequiresAdmin:=System.StructuredQueryType.Boolean#True

12) Computer\HKEY_CLASSES_ROOT\Drive\shell\manage-bde
Value:
System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#On OR System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#Encrypting OR System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#Suspended

13) Computer\HKEY_CLASSES_ROOT\Drive\shell\resume-bde
Value:
System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#Suspended AND System.Volume.BitLockerRequiresAdmin:=System.StructuredQueryType.Boolean#False

14) Computer\HKEY_CLASSES_ROOT\Drive\shell\resume-bde-elev
Value:
System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#Suspended AND System.Volume.BitLockerRequiresAdmin:=System.StructuredQueryType.Boolean#True

15) Computer\HKEY_CLASSES_ROOT\Drive\shell\unlock-bde
Value: System.Volume.BitLockerProtection:=6

16) Computer\HKEY_CLASSES_ROOT\Folder\shell\pintohome
Value:
System.ParsingName:<>"::{679f85cb-0220-4080-b29b-5540cc05aab6}" AND System.ParsingName:<>"::{645FF040-5081-101B-9F08-00AA002F954E}" AND System.IsFolder:=System.StructuredQueryType.Boolean#True

17) Computer\HKEY_CLASSES_ROOT\Folder\shell\TreeSize
Value:
System.ParsingName:<>"::{645FF040-5081-101B-9F08-00AA002F954E}" AND System.ParsingName:<>"::{679f85cb-0220-4080-b29b-5540cc05aab6}" AND System.ParsingPath:~!"::{26EE0668-A00A-44D7-9371-BEB064C98683}" AND System.IsFolder:=System.StructuredQueryType.Boolean#True

18) Computer\HKEY_CLASSES_ROOT\Folder\shell\TreeSize_fs
Value:
System.ParsingName:<>"::{645FF040-5081-101B-9F08-00AA002F954E}" AND System.ParsingName:<>"::{679f85cb-0220-4080-b29b-5540cc05aab6}" AND System.ParsingPath:~!"::{26EE0668-A00A-44D7-9371-BEB064C98683}" AND System.IsFolder:=System.StructuredQueryType.Boolean#True

19) Computer\HKEY_CLASSES_ROOT\Launcher.AllAppsDesktopApplication\Shell\OpenNewWindow
Value:
(System.Link.TargetExtension:=.exe OR System.Link.TargetExtension:=.msc) AND System.AppUserModel.InstalledBy:<>System.AppUserModel.InstalledBy#System

20) Computer\HKEY_CLASSES_ROOT\Launcher.AllAppsDesktopApplication\Shell\RunAs
Value: System.AppUserModel.RunFlags:=1 OR System.AppUserModel.RunFlags:=3

21) Computer\HKEY_CLASSES_ROOT\Launcher.AllAppsDesktopApplication\Shell\RunAsUser
Value: System.AppUserModel.RunFlags:=2 OR System.AppUserModel.RunFlags:=3

22) Computer\HKEY_CLASSES_ROOT\Launcher.AllAppsDesktopApplication\Shell\Uninstall
Value:
(System.Link.TargetExtension:=.exe OR System.Link.TargetExtension:=.msc) AND System.AppUserModel.InstalledBy:<>System.AppUserModel.InstalledBy#System

23) Computer\HKEY_CLASSES_ROOT\Launcher.DesktopPackagedApplication\Shell\runas
Value: System.AppUserModel.RunFlags:=1 OR System.AppUserModel.RunFlags:=3

24) Computer\HKEY_CLASSES_ROOT\NetworkExplorerPlugins\Common\shell\open
Vvalue: System.Devices.PresentationUrl:<>[]

25) Computer\HKEY_CURRENT_USER\Software\Classes\Folder\shell\TreeSize
Value:
System.ParsingName:<>"::{645FF040-5081-101B-9F08-00AA002F954E}" AND System.ParsingName:<>"::{679f85cb-0220-4080-b29b-5540cc05aab6}" AND System.ParsingPath:~!"::{26EE0668-A00A-44D7-9371-BEB064C98683}" AND System.IsFolder:=System.StructuredQueryType.Boolean#True

26) Computer\HKEY_CURRENT_USER\Software\Classes\Folder\shell\TreeSize_fs
Value:
System.ParsingName:<>"::{645FF040-5081-101B-9F08-00AA002F954E}" AND System.ParsingName:<>"::{679f85cb-0220-4080-b29b-5540cc05aab6}" AND System.ParsingPath:~!"::{26EE0668-A00A-44D7-9371-BEB064C98683}" AND System.IsFolder:=System.StructuredQueryType.Boolean#True

27) Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\UpdateEncryptionSettingsWork
Value:
System.StorageProviderId:<>"network" AND System.StorageProviderProtectionMode:<>1 AND System.StorageProviderProtectionMode:<>2

28) Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllSyncRootObjects\shell\ShellPlaceholderLinkVerb
Value: System.Shell.SFGAOFlagsStrings:link AND System.Shell.SFGAOFlagsStrings:placeholder

This is getting way too long. Other instances of "AppliesTo" are in:

29)  Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DeviceDisplayObject\AllItems\Shell\Microsoft.DxpOpen
Value:
System.Devices.LaunchDeviceStageFromExplorer:=System.StructuredQueryType.Boolean#True

30) Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DeviceDisplayObject\AllItems\Shell\Microsoft.DxpOpenInNewWindow
Value: System.Devices.LaunchDeviceStageFromExplorer:=System.StructuredQueryType.Boolean#True

31) Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DeviceDisplayObject\InterfaceClass\{3CC56C3F-A37A-478B-8773-62B2D3E74909}\shell\open
Value: System.Devices.PresentationUrl:<>[]

32) Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\UpdateEncryptionSettings
Value: System.StorageProviderId:<>"network" AND System.StorageProviderProtectionMode:<>1 AND System.StorageProviderProtectionMode:<>2

33) Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Drive\shell\change-passphrase
Value: (System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#On OR System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#Encrypting OR System.Volume.BitLockerProtection:=System.Volume.BitLockerProtection#Suspended) AND System.Volume.BitLockerCanChangePassphraseByProxy:=System.StructuredQueryType.Boolean#True

And others.
Let me know if you want me to keep looking.
Thanks,
Steve


#11

Thanks, it was only the ones for TreeSize specifically I wanted, not all of them :slight_smile: Luckily it looks like they're in there so you can leave it with me for now.


#12

Thanks for your quick response! In case this is of any help, In the mail from Jam Software they offered a temporary solution :

You can remove this key to verify this observation using this registry file (just execute it after installing TreeSize Free V4.2.1 to merge the information with your registry):

https://fileshare.jam-software.de/share.cgi?ssid=0PPuiSO&fid=0PPuiSO

By running the reg file found from that address, the problem was fixed, but temporarily only: after computer reboot the problem returned, and I had to run the reg file again.

Unski


#13

Just a +1 for this. Its been bothering me for a while also. Looks like the problem is known, just need to wait for a solution.


#14

This will be fixed in the next update.


#15

YES! YES! YES! You guys fixed it in 12.10! Yay Jon and all. Many thanks.
Steve