4 Replies Latest reply: Jul 6, 2010 11:37 PM by Polda2 RSS

    Acrobat 9.3.3 missing DLL

    Polda2 Community Member

      Hi,

      after last update to AA 9.3.3 my plug-in that uses third-party DLL fails to load because the DLL can not be found.

      I discovered that only DLLs that are located in "plug_ins" folder are loaded. However, in all previous versions also DLLs in sub-folders were loaded.

      Is there a way how to load the correct DLL from sub-folder or is this Adobe error that will be corrected (soon)?

       

      I found a temporary workaround. When the DLL is copied to the  "plug_ins" folder, then my solution works.Of course when different plug-ins use DLLs with the same name (or different versions of one DLL) this approach will not work.

       

      I also found another threads where people complain about this problem so I believe there should be some explanation from Adobe.

       

      It is on Windows XP.

       

      Polda

        • 1. Re: Acrobat 9.3.3 missing DLL
          lrosenth Adobe Employee

          That is correct - this was done for security reasons.

           

          If you wrote the plugin, then you can easily modify your code to load the plugin from the explicit location (which is what you should have been doing all along anyway).  If this is someone else's, then you need to contact the author/developer for a fix.

          • 2. Re: Acrobat 9.3.3 missing DLL
            Polda2 Community Member

            I wrote the plug-in.

            However, Acrobat searches for the third-party DLL even before the first line of my PluginInit function is executed.

            Therefore the DLL cannot be loaded explicitly. I tried experimenting with delay-loading the DLL and then the error comes up and only after confirming it my PluginInit starts. So it is not a good solution anyway.

            Please see this thread:

            http://forums.adobe.com/thread/672182?tstart=0

             

            I think we all are seeing the same problem.

            Acrobat does not load the DLLs (the APIs are not the problem) from "plug_ins" subfolder. I would expect at least some warning before such a change is made.

             

            to be more specific:

            I have a folder created under the "plug_ins" folder, something like "MyFolder". In this folder there are two files:

            MyPlug.api and FromOther.dll. Now the FromOther.dll is not loaded. Acrobat complains about missing even before MyPlug.api is initialized.

             

            In every previous version everything was fine.

             

            Polda

            • 3. Re: Acrobat 9.3.3 missing DLL
              lrosenth Adobe Employee

              Acrobat doesn't load ANY DLLs - except those that it knows about and the .api files.  Loading any other DLL is province of your software (when loaded explicitly) or via the OS (when simply marked as linked). 

               

              What we are doing is imply ensuring that automatic (implicit) loading doesn't happen from directories that it should not in order to prevent rogue DLLs from replacing the ones we are expecting (which has happened and caused both incompatibility/instability as well as insecurity).

               

              Make sure that your linker settings (in VS) are not set to auto-load the DLL and instead your do it yourself (delay loading).  Either that or set the DLL load path in the linker.

              • 4. Re: Acrobat 9.3.3 missing DLL
                Polda2 Community Member

                OK,

                so just for your information (I do not know whether this bears some security risk):

                When the DLL is simply Copied to "plug_ins" folder. Everything works fine - Acrobat loads the DLL and my plugin then works with the DLL in the subfolder.

                It just seems a little strange to me.

                I will switch to explicit DLL loading.

                 

                Thank you

                Polda