Windows Shell shows a drive with a network mounting point as 'Disconnected'.
Applies To: CBFS Connect, CBFS Vault, CBFS Disk
Problem
A network mounting point is created and accessible, yet File Explorer or an Open/Save dialog in another application shows the corresponding drive letter as 'Disconnected'.
Background
CBFS Connect and other products use a Helper DLL, a dedicated module loaded into the Shell, to perform a variety of functions. This includes exposing the network interface to the Shell (both in File Explorer and in other applications). If a drive is accessible, but Shell reports the drive is 'Disconnected', then it is possible the Helper DLL did not properly load into File Explorer or the corresponding application.
It is also possible that File Explorer shows the drive properly, while the File Open/Save dialogs in other applications do not.
Potential Causes
- The Helper DLL did not load into memory
- Issue with Network Provider Registration
- Network Provider Conflicts
Please note that this list and the instructions below are not exhaustive, and your case may be not covered by this article.
Steps To Take
The Helper DLL did not load into memory
The Helper DLL is named "cbfsShellHelper24.dll" for CBFS Connect version 2024; for other versions or products, the name will be similar (cbdiskShellHelperXX.dll for CBFS Disk, and cbvaultdriveShellHelperXX.dll for CBFS Vault).
If the system in question has Windows 11 on ARM64, and the application works in x64 mode, see a remark in the end of the article.
- (for developers) Ensure that the MODULE_HELPER_DLL flag is included when calling the Install method or function. Afterwards, restart File Explorer so that it can load the helper DLL. Note that all instances of Explorer process must be shut down before starting a new process. It is more reliable to log off and log in again or reboot the system.
- (for everyone) Reinstall the product to have the installation install the Helper DLL. This will help if the DLL registration was for any reason removed, or if the DLL file is missing.
- Check whether the DLL file exists in {Windows}\System32 and {Windows}\System64 directories, where {Windows} is the directory with Windows installation. If it does not exist even after reinstalling the product, the possible reason may be that it was blocked or removed by some antivirus or other protection sofware.
-
Check whether File Explorer loads the helper DLL in memory using SysInternals Process Explorer.
- In the list of running processes, choose the process that is having problems (explorer.exe in the case of File Explorer, or the process of the other application that you are having an issue with). If there is no bottom pane shown under the list of processes, it should be enabled using the main menu, View->Show Lower Pane command (mark it).
- In the bottom panel, you need to switch to "DLLs" by clicking on the corresponding button there to see the list of loaded DLLs (note that it takes time, several seconds, for Process Explorer to populate the list of DLLs). If the button is not shown (depending on the version of Process Explorer that you have), use the main menu, View->Lower Pane View submenu to choose the needed view.
- The list of DLLs should include the name of the helper DLL (without a path in the main column).
If the DLL is loaded but the drive is still shown as disconnected, the problem may be related to the network provider registration in the system.
If the DLL is not loaded even after system restart, this indicates a problem with the DLL registration or loading. To verify the possible reason:
- Review the antivirus or other protection software that you are using. Look if this software offers logs or other indication of what it blocks; they may tell you that the helper DLL was blocked by this software. Consider disabling this software while diagnozing the problem with the helper DLL. Note that most of this software allows users disabling it only "until restart", when it reactivates again. This can be a problem because you will need to restart the system to have Explorer load the Helper DLL.
-
Inspect the system registry for the registration of the Helper DLL:
- Use RegEdit to go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cbfs24\Parameters.
- Copy the data (a GUID in the registry format) contained in the
ServiceCLSID
value. -
Search for this GUID in the registry. It should be found as the following keys:
- HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\[guid]
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\[guid]
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellServiceObjects\[guid]
-
Additionally, the GUID must be present as a value that has the name set to [guid], in the following keys:
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Extensions\Approved
If any or all of these entries are not found, this can indicate a problem with the installation. Try reinstalling the product and keep the antivirus and other protection software disabled while doing this (they can block the registry entries from being added).
Issue with Network Provider Registration
You need to inspect the list of network providers in the system registry. For this:
- Use RegEdit to go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider.
- Look for three subkeys: HwOrder, Order, ProviderOrder.
- The HwOrder and Order subkeys each contain just one value named
ProviderOrder
. Verify that those values contain "cbfs24" (CBFS Connect 2024) or a similar string matching your product and version. If anything is missing, manually add the string to the corresponding value and restart the system. - The ProviderOrder subkey has multiple values, where each provider is listed as a separate value. Verify that one of those values is named "cbfs24" (CBFS Connect 2024) or in a similar way, matching your product and version. If the value is missing, create a new value of type DWORD, set the value to an acceptable numeric value not yet occupied by other entries in that subkey (e.g., 750 may be an acceptable value) and restart the system. A lower number has priority, i.e.
0
has the topmost priority.
Note that RegEdit must be started elevated for you to be able to create or modify the values in the HKEY_LOCAL_MACHINE registry branch.
Network Provider Conflicts
Sometimes, different network providers interfere with each other, so the order of providers matters. Follow the instructions above to check the order (priority) of network providers. When adding the name of the Helper DLL's provider to any of the above mentioned subkeys, you can try adding it to the end of the list (preferred); if this does not help, move it to the beginning of the list (to give it priority). If the name already exists, you can try changing the order to give priority to the provider in the Helper DLL.
ARM Issues
If the drive is shown as disconnected in applications running in x64 or "x64 compatible" mode (e.g., 64-bit MS Office), the issue may be caused by the fact that the OS needs to load an x64 version of the Helper DLL. And the real problem is that there is no system location for an x64 version of a DLL in an ARM64 system. So, an x64 version of the helper DLL is not present in an ARM64 system. This can be addressed only by Microsoft introducing a System32-like directory for x64 DLLs on ARM64 like it does with SysWOW64 for x86 DLLs.
We appreciate your feedback. If you have any questions, comments, or suggestions about this article please contact our support team at support@callback.com.