Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Interop.Acrobat.DLL not working

New Here ,
Jul 09, 2020 Jul 09, 2020

Hi, 
Iam supporting a .Net application running on 64 bits system. This application uses the DLL "Interop.Acrobat.DLL" to convert PDF in HTML files.

I encounter problems when i try to create a new AcroApp object:

acrobatAppInstance = new AcroApp();

 

System.UnauthorizedAccessException: 'Retrieving the COM class factory for component with CLSID {85DE1C45-2C66-101B-B02E-04021C009402} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).'

 

I read the post above. If i understood correctly there does not exist a 64bit version of that DLL

https://community.adobe.com/t5/acrobat/interop-acrobat-dll-is-not-working-in-64-bit-pc/td-p/8344328?...

 

Unfortunately I can't run my appliction en x86 because I have other elements that require 64 bits.

 

Is there a new DLL that would work for 64 bit systems ? 

Thanks.

TOPICS
Create PDFs , Edit and convert PDFs
2.6K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 09, 2020 Jul 09, 2020

I don't think that is the problem.

 

Considering the message notice of the error that you received, this may not necessarily be one dll that needs to be 64bit.

 

A few suggestions would be to consider, updating all the .Net and Visual C++ redistributables.

 

Once you get all redistributables updated, you can try and re-register all DLLs in your MS Windows using the DISM command restore health option.

 

OR, if you're certain that this issue is only related to one specific DLL, then consider to manually register that DLL in the appropriate folder.

 

Keep in mind that the host program(s) that are 32 bit are installed in the "Program files(x86)" folder and 64 bit programs are installed in "Program Files"; while the 32 bit dll's are actually registered in an intermediate folder where the 64 bit OS can call them from in order to interface the 32 bit application appropriately with the 64bit OS.

 

If I am not wrong, I think you  need to register these  32bit DLLs in the SysWOW64 folder, and thr 64 bit DLLs in the System32 folder.

 

In the link below, AdobeXD users has been reporting a similar issue.

 

In my reply to that thread I explain this a little more detailed.

 

https://community.adobe.com/t5/adobe-xd/troubleshooting-adobe-xd-crashes-white-screen-on-launch-on-w... 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 10, 2020 Jul 10, 2020

Thanks for your answer.

 

I put the DLL in the SysWOW64 and System32 folder. Same result 😞

Then I execute a regsvr32 command to add the DLL but I encoutered the following error message.

 

yatoini_1-1594370240458.png

I tried with RegAsm.exe and i had another message 

yatoini_2-1594370381590.png

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 10, 2020 Jul 10, 2020

Is this happening even after updating all your .Net redistributables?

 

I also forgot ask if your SDK is updated to latest version.

 

If everything is updated make sure that you're using the right RegAsm.exe that belongs to the same SDK version.

 

You also redacted the full path, so I can't see the full path there.

 

Ensure that the full path is spelled correctly and watch for forward slash "/" characters instead of backslash "\".

 

Conversely, you can also verify if instead of updating to the latest .Net assembly maybe consider downloading the appripriate .Net assembly version and use that version's RegAsm.exe instead.

 

As I am reading another thread, I just learned that you should also check for, if Regasm.exe is handling dependencies on multiple frameworks.

 

So it is also possible to be able to reference a lower version assembly with a higher version, but not the other way around.

 

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 10, 2020 Jul 10, 2020
LATEST

You should run RegAsm.exe from the directory path where the .Net framework is installed.

 

Like ( path with backslah characters):

 

C:\Windows\Microsoft.Net\Framework64\yourVersion

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines