Search code examples
64-bitactivexadobeaxacropdf

AxAcroPDF - Vista64 Class Not Registered Error


We have a WinForms application written in C# that uses the AxAcroPDFLib.AxAcroPDF component to load and print a PDF file. Has been working without any problems in Windows XP. I have moved my development environment to Vista 64 bit and now the application will not run (on Vista 64) unless I remove the AxAcroPDF component. I get the following error when the application runs:

"System.Runtime.InteropServices.COMException: Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))."

I have been advised on the Adobe Forums that the reason for the error is that they do not have a 64 bit version of the AxAcroPDF ActiveX control.

Is there some way around this problem? For example can I convert the 32bit ActiveX control to a 64bit control myself?


Solution

  • You can't convert Adobe's ActiveX control to 64bit yourself, but you can force your application to run in 32bit mode by setting the platform target to x86.

    For instructions for your version of Visual Studio, see section 1.44 of Issues When Using Microsoft Visual Studio 2005