Copy link to clipboard
Copied
Hi,
Does anyone know where I can find some information about the order in which plug_in api files get loaded when opening Acrobat in Windows?
In most cases, the loading order should not matter, but I am in a situation that it matters. From my own tests, I figured out that the file & folder names under plug_ins count in the alphabetical order. B.api loads before C.api but after A\A.api. This assumption has worked for a while. Sometimes I resolved issues by renaming D.api into B.api to make it load prior to C.api.
However, I faced with a counterexample today. In this situation, C.api always loads first no matter what I do with B.api, and I still have no idea how C.api can take the precedence. Perhaps is it related with plug_in extension name? And I have no control over C.api at this moment other than renaming it.
Any information will be appreciated. Thank you.
- eellor
Copy link to clipboard
Copied
The order in which plug-ins are loaded, should not matter. That's why plug-ins use the different handshake events to first export HFT functions that may be used by other plug-ins, and then in a second event, these get imported. If you have a dependency on the order, you may want to re-think your plug-in design.
I did some research 10 or 15 years ago about the order in which plug-ins were loaded, and if I remember correctly, it depended on the operating system and the filesystem used.
Copy link to clipboard
Copied
Thank you Karl for the quick answer.
I know how HTF works and the loading order should not matter in terms of dependency, but my problem is something different. The plug-ins don't depend on each other, but still the order of loading matters.
It is a situation that 2 plug-ins are competing for different .NET CLR versions. Both create AppDomains, but one in .NET CLR 2.0 and the other in 4.0. If 2.0 comes first, it the other plug-in fails. If 4.0 comes first, both works, thanks to .NET 4.0's side-by-side technique.
So your research says that the order is undefined from Acrobat's side. And I just found a supporting note like this from SDK API document:
**
ASFileSysFirstFolderItem
Note:The order in which items are enumerated is implementation-dependent. Of particular importance is the fact that items will probably not be iterated in alphabetic order.
**
I don't know if Acrobat uses this API to load its plug-ins, but guess there are chances. Then, your observation must be correct, it may be undefined. This is what I didn't want to hear, though. I'll wait for other opinions, with hope. Thank you.
- eellor
Copy link to clipboard
Copied
The order is not documented in case we choose to change it (as we have in various versions of the application for various reasons).
So if you require a specific order you may be in trouble.
Find more inspiration, events, and resources on the new Adobe Community
Explore Now