I have been using the Debenu PDFLibrary successfully for some time. I decided to update the library to the latest version (DebenuPDFLibrary64Lite1113.dll). That's when everything went sideways.
I followed the instructions for installing, including the registering of the DLL. The registration process did not produce an error. The registry contains the CLSID shown below.
My environment is 64 bit Windows 8.1 Pro with .NET 4.5.1 framework. All updates are installed. The development environment is Visual Basic .NET using VS 2013 Community Edition.
When I try to use the library as I have in the past, I get this error:
Retrieving the COM class factory for component with CLSID {924F2468-6F4E-4E90-BCD3-A81D43ED8759} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
Here is the code:
Try
PDFDoc = New PDFLibrary(STR_PDFLibrary)
Catch ex As InteropServices.COMException
_TerminalErrors.Add(String.Format("Error loading PDFLibrary{0}{1}{0}{2}", vbCrLf, ex.Message, ex.StackTrace))
Exit Function
End Try
I've looked at the questions on this error in StackOverflow but cannot figure out the way to get this to work.
It might be that you registered the 64-bit edition of the ActiveX but your project was set to x86 (32-bit).
You can try the following test:
regsvr32 [path here]\DebenuPDFLibrary64Lite.dll /u regsvr32 [path here]\DebenuPDFLibraryLite.dll /u
regsvr32 [path here]\DebenuPDFLibrary64Lite.dll
Create a Visual Studio VB.NET project and set the platform to x86 (not AnyCPU or x64)
Run the app and see if it shows the same error message
If this test does show the same error message then there are two options for you:
Option 1: Register both the 32-bit and 64-bit versions of the Lite ActiveX
This will allow you to have any platform setting in your project (x86, AnyCPU or x64)
or
Option 2: Change the project settings to x64
The 32-bit version of the Lite ActiveX won't have to be registered but the application will only work on 64-bit systems.