Manual Archive and Restore failing with error Class not registered 0x80040154

Article: 100024415
Last Published: 2021-09-22
Ratings: 0 1
Product(s): Enterprise Vault

Problem

When attempting to manually archive or restore archived items, the error "Class not registered 0x80040154" occurs

Error Message

Class not registered 0x80040154

The following references may be observed within an Enterprise Vault (EV) Client trace:

~DesktopCommonConfig::GetSetting: 0x0
 CDesktopDirectory::GetIDirectoryPublicV51: 0x0
 ~CDesktopDirectory::GetIDirectoryPublicV51: 0x80040154
 ~BackendDCOMImpl::RestoreItemHandler::InitAgentMembers: 0x80040154
 ~BackendDCOMImpl::RestoreItemHandler::RestoreItemHandler: 0x0
 ~DCOMRestore::RestoreItems: 0x0
 ~ActionRestore<class ECETraits,struct BackendDCOMTraits>::HandleIndividuallySelectedItems
 ActionRestore<class ECETraits,struct BackendDCOMTraits>::OnAction: Error (COM): 0x80040154

Cause

When the DCOM EV Client Add-In is installed on a client machine, various DLL's are registered as part of the install.  When the DCOM Add-in is then uninstalled, the above may be caused if all associated registered DLL's failed to be uninstalled and/or unregistered.

If the HTTP-only version of the EV Client Add-In is then subsequently installed on the same workstation, and the 'Enterprise Vault Desktop Policy-Advanced-Outlook' setting 'Outlook Add-In behavior' is set to 'Normal' the client will look for specific DLL's associated with the DCOM Add-In.  When these DLL's are found, the client expects that the DCOM Add-In is installed and will then try to utilize DCOM functionality for Archiving and Restoring items.  However, the HTTP Add-In does not have this functionality and thus the error  "Class not registered 0x80040154" will occur.

Solution

1. Locate a copy of 'DirectoryConnectionU.dll', which is installed with the DCOM Add-In, from an alternative client with the DCOM Add-in installed. 
        - By default this file will be found in 'C:\Program Files\Enterprise Vault\EVClient'.
2. Copy this DLL to the installation directory of the affected client.
        - Commonly within the same path as previously referenced.
3. Open a command prompt on the affected client and use the following command to unregister this DLL.
(Replace %path_to_dll% with the relative folder path e.g. C:\Program Files\Enterprise Vault\EVClient):

regsvr32 -u "%path_to_dll%.DirectoryConnectionU.dll"

The following response will be returned.

"DllUnregisterServer in C:\Program Files\Enterprise Vault\EVClient\DirectoryConnectionU.dll succeeded"

 

 

Was this content helpful?