PDA

View Full Version : Detecting if Acrobat Reader is installed...



BeetleMike
02-06-2001, 06:01 AM
The tutorial on detecting if QuickTime player is installed or not but I was wondering, is there a similar tutorial or procedure on Acrobat Reader? I'll be distributing PDF files and I want to know if the user's machine has it installed or not.

Adam
02-06-2001, 03:12 PM
There are a couple ways of accomplishing this goal.
1) search the registry for the .pdf extension in HKEY_CLASSES_ROOT.
2) you could also make a file search variable that looks for the reader.



------------------
Adam Kapilik
Indigo Rose Corporation

BeetleMike
02-07-2001, 04:55 AM
Can I ask for specific step-by-step instructions on how to accomplish this? Like the one for the QuickTime tutorial?

tbybee
02-07-2001, 11:52 AM
Hey there Mike. I do this on a regular basis using this method:

On project Settings select Actions-->Variables-->Read from Registry

The Variable Name Value is %PDFSupport% (this can be whatever name you want it to be)
Default is No

The Registry Main Key Value is HKEY_CLASSES_ROOT
Sub Key is .pdf

Now when you want an action taken based on the results I do this. My approach is I use a Yes/No box if someone clicks on a link to a pdf file. The Yes/No box only comes up if Acrobat is NOT installed (actually, if the system does not detect a .pdf viewer). If Acrobat is installed then it just opens the document. If it's not then the Yes/No gives the user the option of installing Acrobat. (For example, my Yes/No message is To view this document, you must have the Adobe Acrobat Reader installed. Do you wish to install now?) If they select Yes then the system executes the acrobat installation .exe which of course is installed on the cd. Then after installing it, the next time they click on the link, it just opens it up without the prompt.

The Yes/No condition settings are as follows:
%PDFSupport% = No (so the Yes/No box only appears if this condition is met)

The same holds true for the condition of opening the document.

%PDFSupport% <> No (so, the document opens if the system supports pdf's)

I hope this is clear enough, if not feel free to email and I will help you more directly or call me at 913.338.9899. I could even email you a project that uses this function.

Thanks,

Tony
tony_bybee@beaerospace.com

[This message has been edited by tbybee (edited 02-07-2001).]

BeetleMike
02-08-2001, 12:29 AM
Hey thanks Tony!

How about a method for implementing an auto-run, with an auto-detect and install system on a Mac platform? Got any ideas on this?

tbybee
02-08-2001, 12:46 AM
I know absolutely nothing about the Mac. Unless it's a Big Mac. :-)

Sorry, can't help you there.

Tony

cweiss
05-10-2001, 06:31 PM
Note that this will falsely detect the presence of Acrobat Reader under Windows 2000 as there is a .pdf key by default in a clean Win2k install. You need to look for the presence of the subkey "Content Typep". We were unable to successfully detect this key. Has anyone else gotten it to work? (always returns true, regardless of whether it exists or not).

dallasfreak
05-11-2001, 02:51 AM
I ahve not tried this but in ther read registry portion of the menu, do you have the box checked for true if exists?
Also if there is a constant value under this key, you could have the menu read that value, do a boolean if equal statement. That wasy if the key does it existrs for whatever reason, It would have to be a specific value which you are looking for
IE. Winamp in the registry may list something for a paticular DLL under it's entries.
Winamp may be in the registry for some other reason, but if that DLL is not listed, the menu would install Winamp

Hope that makes sense http://www.indigorose.com/ubb/images/icons/smile.gif

[This message has been edited by dallasfreak (edited 05-11-2001).]

BeetleMike
05-12-2001, 12:21 AM
Thanks for that info re Windows 2000!

So how can we then reliably detect Acrobat Reader? Can't we look for a similar key like the one AMS looks for in detecting Quicktime?
Being able to determine the version number would be great too!