Adobe Reader installation .NET dependency dilemma
mrktvalu May 1, 2012 8:29 AMI am building an installer for a .net Windows forms application developed with Visual Studio 2010. The installer will be web-deployed as downloadable limited-functionality demoware which can optionally be upgraded after installation.
The functional component of my application involving Adobe Reader is screen display of PDF files for which I am using an .ocx control which shows up in the Visual Studio toolbar as AxAcroPDFLib.AxAcroPDF and under project references as AxInterop.AcroPDFLib.dll. I think the original source of this file was from the C:\Program Files (x86)\Common Files\Adobe\Acrobat\ActiveX folder from the installation of Reader on my development PC.
While the software seems to work well when executed from the Visual Studio IDE on my development PC, my question focuses on how I should configure the installer for deployment on end-user systems, most of which will have either Adobe Reader or Acrobat Professional installed. Specifically, my concerns are: 1) license compliance; 2) interference with existing Adobe installations; 3) an installer configuration which will determine if Reader or Acrobat is installed, obtain the path to AxInterop.AcroPDFLib.dll if it exists, and automatically install Reader from the Adobe website if it does not.
For license compliance, I am not intending to distribute AxInterop.AcroPDFLib.dll separately from Reader, but I think that I can compile the installer and executable with the expectation that AxInterop.AcroPDFLib.dll will be present in the application directory, but simply not deploy the file. I think the repercussions of this strategy will simply be a run-time exception when execution of the feature is attempted, and AxInterop.AcroPDFLib.dll is not present in the application directory. Alternately, if AxInterop.AcroPDFLib.dll has been copied to the application directory, or is already registered on the system, my application should work as intended.
Finally, on my development PC I see previous references to AcroPDF.dll, Acrord32.dll, AxInterop.AcroPDFLib.dll, and Interop.AcroPDFLib.dll. I think these are remnants of earlier attempts to integrate Reader with my application. Is AxAcroPDFLib.AxAcroPDF the right reference to use for this purpose and can I froget about the other files?
Thanks for any assistance.
