06 June 2007

For SysAds: Deploying Adobe Reader 8 as an Unmanaged Application

Adobe unceremoniously came out with Adobe Reader 8.1 recently, which tells me that maybe our problems deploying Adobe Reader 8 as a managed application have more to do with Reader 8.0 than with anything on our network.

You may find that creating this Adobe Reader GPO selectively deletes Adobe Reader off of PCs. This happens because at startup, the MSI detects a slightly-dissimilar version of Reader 8 on the client PC, deletes it, and then fail while trying to reinstall it to the "correct" version. After reinstalling Adobe Reader 8 three times on one single PC, I finally gave in and disabled the GPO.

I discovered today that the way Adobe Reader installs itself as a managed application is sneakier than I thought it was. The program doesn't run partially from the network. It runs completely from the network! Installing a network-based MSI registers the software on the client PC, icons are copied down, and the program is listed in the "Add or Remove Programs" list. But it doesn't exist anywhere on the C: drive of the client PC!! In fact, if you right-click on the shortcut icon (on the desktop or in the Start Menu) and select Properties, mysteriously there is no path where the shortcut leads to! (The target location is blank.)

Once I determined this, it explained a number of user issues that have been popping up. But not all of them.

In one case (on a test PC, actually), Adobe partially installed itself or partially removed itself. No shortcuts in the Start Menu, no entries in the Add/Remove Programs list. Reinstalling Adobe Reader would yield an error message that it was unable to uninstall the existing version. I was able to fix this issue by running the increasingly-handy Windows Install Cleanup Utility (see my previous blog post) and extracting the blank-titled application in the application list.

So....ultimately I decided to stop deploying Adobe Reader 8.x as a managed app and started to deploy it as an "unmanaged" application. The solution to the problem is a new script I just wrote and tested:
echo off
cls
if exist "c:\Documents and Settings\All Users\Start Menu\Programs\Adobe Reader 8*.*" goto END
echo.
echo Adobe Reader 8.1 will now be installed on your PC.
echo.
echo When the setup window pops up,
echo Click NEXT, then click INSTALL.
echo.
md c:\AdobeTemp
copy
\\SERVERNAME\Adobe_Reader_8.1$\AdbeRdr810_en_US.exe
c:\AdobeTemp
cd c:\AdobeTemp
AdbeRdr810_en_US.exe
del /Q *.*
cd \
rd c:\AdobeTemp
:END

This script, which now executes at startup, first checks to see if Adobe Reader 8.0 is installed. If not, it copies the 21 MB single-install EXE file off of the server into a local temp directory in the root of C:. Then it executes the EXE file to do the install, and once the install is done, the temp directory is emptied and deleted.

This GPO script style is not as elegant as a GPO that uses an MSI file directly, but it guarantees that Adobe Reader 8.1 will be completely installed locally so that no workstation will rely on server files to run.

This script has worked for several PCs now.

No comments: