Skip to Content
0

A dynamic link library (DLL) initialization routine failed HRESULT exception: 0x8007045A

Jul 11 at 03:08 PM

123

avatar image

An unexcepted error occurs from time to time causing an application to crash while tempting to run a crystal report edition.
If the user restart the app the report may works but the same message can occurs later.

Running the progress application in window admin mode seems to prevent this message, but this is not an option.

This behaviour is not reproducible, it seems random.

The dll concerned seems to be clientdoc.dll (CRforVS_redist_install_32bit_13_0_2)

Retrieving the COM class factory for component with CLSID {F734A321-8381-4FFD-A614-139E8906DC83} failed due to the following error:

A dynamic link library (DLL) initialization routine failed. (HRESULT exception: 0x8007045A)

The registry indicates that this refers to this dll -

[HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{F734A321-8381-4FFD-A614-139E8906DC83}\InprocServer32]
@="C:\\Program Files (x86)\\SAP BusinessObjects\\Crystal Reports for .NET Framework 4.0\\Common\\SAP BusinessObjects Enterprise XI 4.0\\win32_x86\\clientdoc.dll" "ThreadingModel"="Both"

Why the initialization for their clientdoc.dll is failing sometimes ?

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

4 Answers

Dell Stinnett-Christy Jul 11 at 03:35 PM
0

Are you explicitly calling .Dispose() on your ReportDocument objects when you're done with them? If not, you need to be. Much of the SDK is based on COM objects, which .NET does not memory manage well. So, if you're not properly disposing of the objects, they stick around in memory much longer than they should. Sometimes they take up all of what's available to the application and can cause errors like you're seeing.

-Dell

Share
10 |10000 characters needed characters left characters exceeded
Don Williams
Jul 11 at 09:28 PM
0
Share
10 |10000 characters needed characters left characters exceeded
Damien Khoury Jul 12 at 03:15 PM
0

First, thank you for your answers.


Dell :

I thought the destructor was doing the job himself.

From then, I explicity call the close and dispose methods.

Don :

I've just installed SP 23.

Note that the DLL version seems the same : 13.0.3500.0

I will come back to you soon.

-Damien


Show 1 Share
10 |10000 characters needed characters left characters exceeded

13.0.3500.0 is the assembly number only, it's not the version of the dll. Assembly number reflects the framework it supports, thus 3500 is minimum now where previously it was 2.0.

0
Damien Khoury Jul 27 at 01:01 PM
0

Hi,

Altough we've updated to sp23 and explicity called the dispose method, the error still occurs...

Any more help will be very much appreciate

Regards,

Damien

Share
10 |10000 characters needed characters left characters exceeded