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

book

Article ID: 100024415

calendar_today

Updated On:

Description

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::HandleIndividuallySelectedItems
 ActionRestore::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.

Resolution

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"

 

 

Issue/Introduction

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