We have developed plugins for Adobe Acrobat using Visual Studio 2013 and the latest Acrobat SDK. We would like to upgrade to Visual Studio 2015 without having to also keep VS 2013 in our machines. The challenge is that we have references to sandbox_pisdk_client.lib and sandbox_pisdk_server.lib. We use those because our plugin needs to run in Protected Mode and we had to implement a broker process for actions that cannot be executed within the sandbox boundary.
Unfortunately, the sandbox_pisdk libraries in the sdk were compiled in VS 2013 and we cannot use them to build in VS 2015.
I had a few questions...
* Is it possible to get sandbox_pisdk library files that have been built in VS 2015
* If that is not possible, is it possible to get access to the source files so we can build them ourselves? This would actually be helpful for future Visual Studio upgrades (VS2017 is coming out soon!)
Each version of the SDK is only approved for a specific version of Visual Studio. AFAIK, the Acrobat SDK for Windows is still for VS 2013.
Do you know if there is a timeframe to provide the sdk for more recent versions of Visual Studio?
We build the Windows version of our Acrobat plug-in, which runs under any version of Acrobat from 9 through DC, in Visual Studio 2015. We recently built the same plug-in with VS 2005.
The nice thing about the Acrobat SDK, like the Windows API, but unlike (say) the InDesign SDK, is that it's almost completely a "C" API, implemented with callback functions hosted in the Acrobat application itself instead of in static libraries, so (almost) all of the SDK functions can be called from code built with just about any compiler that can follow the standard "C" calling convention, without having to worry about a compiler-specific ABI (binary interface) or C++ name decoration (mangling). So, unlike with our InDesign plug-in, where we have to port to a new version of Visual Studio (and Xcode) for just about every new version of InDesign (and add those to an ever-growing list of compilers required to build new versions of our product for all the various versions of InDesign we have to support), we can stay with pretty much any compiler/IDE we want for our Acrobat plug-in, and upgrade at our leisure.
Of course, our plug-in is built solely for Acrobat Pro, not for Reader, so we don't link to any static libraries for the Sandbox SDK. If you're linking to those sandbox libraries, then you do have to match the compiler-specific ABI that those static libraries use.
Therefore the most accurate answer to the question as stated is that, if you want to build an Acrobat plug-in with Visual Studio 2015, there's really nothing stopping you. If the question is about a Reader-enabled plug-in, however, that's a different answer.
Thanks Dan! In our case, you are right... our plugin needs to be Reader-enabled and it also needs to work in protected mode. We have a broker server to access resources like the registry. I tried removing that broker and in fact was able to build in VS 2015 without issues. But unfortunately, this is not an option for our product and our solution needs to link to those sandbox_pisdk lib files.
Go get VS2013. Uninstall VS2015. Install VS2013. After that install VS2015. Then open your project in VS2013 make all necessary change to make it compile. Use VS2015 for all your other projects.
No other chance.
I guess for now we'll have to keep VS2013 installed in our machines. However this consumes a lot of extra space and complicates the setup for developers. It would be nice to hear if Adobe has plans to release a new version of the SDK soon that can support VS2017? (it just came out and we decided to move to that version). It would be even better if the SDK could be entirely in source code so we won't have to go through this problem every 2 years.
Your query is related to my scenario as well.
I am trying to develop broker process for a plugin but am unable to use 'sandbox_pisdk_server.lib' and 'sandbox_pisdk_client.lib' files becuase of incompatibility.
Could you please share if you got any solution for the issue or are you still using VS2013 for implementation of broker process.
It is hard enough building plugins, without making it harder by trying to work with different versions of Visual Studio than designed. Once the plugin is built with the correct product you can try, if your skill set is in that direction, porting it. This may involve patching the SDK headers and stock source, so cannot be recommended. Much easier to set up as many VMs as you need.
Thanks for your response.
Actually, our plugin is already build on VS 2015, we need to implement the broker process for the plugin code. If we implement broker in VS2013 we would have to merge it with our plugin code which would be incompatible. Also, we would anyhow be needing the 'sandbox_pisdk_server.lib' and 'sandbox_pisdk_client.lib' libraries that are incompatible with VS 2015.