Link to home
Start Free TrialLog in
Avatar of Brainstormer
BrainstormerFlag for United States of America

asked on

How to register Adobe Reader plugin in Internet Explorer

We recently deployed Adobe Reader 9 via a GPO to a large number of PCs, but with the MSI property set to DISABLE_BROWSER_INTEGRATION=YES. This basically prevented the Adobe Reader browser integration, by not copying nppdf32.dll into the plugin directory of browsers. Now management wants it :-) Short of uninstall/reinistall is there a better way?

I have tried the following script to copy the DLL in the PLUGIN directories of IE, IE 64bit and Firefox, but only Firefox recognizes the plugin upon launch.

copy /Y \\server\Adobe\AdobeReader90\plugin\nppdf32.dll "%PROGRAMFILES%\Internet Explorer\PLUGINS\"
copy /Y \\server\Adobe\AdobeReader90\plugin\nppdf32.dll "%PROGRAMFILES(x86)%\Internet Explorer\PLUGINS\"
copy /Y \\server\Adobe\AdobeReader90\plugin\nppdf32.dll "%PROGRAMFILES(x86)%\Mozilla Firefox\plugins\"

I also tried repairing:

start /wait msiexec /faumsv \\server\Adobe\AdobeReader90\AcroRead.msi /qb /norestart /l* \\server\Adobe\AdobeReader90\%COMPUTERNAME%_repair.log DISABLE_BROWSER_INTEGRATION=NO ALLUSERS=TRUE EULA_ACCEPT=YES AgreeToLicense=Yes SUPPRESS_APP_LAUNCH=YES

without success. Any thoughts?
Avatar of Brainstormer
Brainstormer
Flag of United States of America image

ASKER

I even used ORCA to create a modified MST of the original where DISABLE_BROWSER_INTEGRATION=NO with no luck.
any way to apply a different MST during MSI repair?
ASKER CERTIFIED SOLUTION
Avatar of Brainstormer
Brainstormer
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Looking back at the script I came across an Access Denied issue. The updated script repairs the permissions on the Adobe folder before copying the files. The original script failes in some cases because Adobe Reader installation mucks up the "%PROGRAMFILES%\Common Files\Adobe\Acrobat" folder permissions, it sets custom ones instead of inheriting them from the parent folder. The updated script uses setacl.exe from http://setacl.sourceforge.net/ to repair the inheritance. I have tested the new script and it works with over 200 PCs including 64 bit XP.

Files needed are:

AcroIEHelper.dll
AcroIEHelperShim.dll
AcroPDF.dll
adobe_reader9_plugin.cmd <-the script below
nppdf32.dll
SetACL32.exe
SetACL64.exe

code for adobe_reader9_plugin.cmd is below:

@echo off
CLS
set srcpath=%cd%
set OS_TYPE=32
REM set DESTPATH=%cd%  // For testing & debugging
IF EXIST "%PROGRAMFILES(x86)%" SET OS_TYPE=64
@echo.
goto %OS_TYPE%
 
:32
@echo %OS_TYPE% OS
set DESTPATH=%PROGRAMFILES%
IF EXIST "%DESTPATH%" goto execution
goto error
 
:64
@echo %OS_TYPE% OS
set DESTPATH=%PROGRAMFILES(x86)%
IF EXIST "%DESTPATH%" goto execution
goto error_path
 
:error_path
@echo Destination path "%DESTPATH%" was not found
goto exit
 
:execution
SetACL%OS_TYPE%.exe -on "%destpath%\Common Files\Adobe\Acrobat" -ot file -actn ace -actn clear -clr "dacl,sacl" -actn rstchldrn -rst "dacl,sacl"
copy /Y "%srcpath%\nppdf32.dll" "%destpath%\Internet Explorer\PLUGINS\"
copy /Y "%srcpath%\nppdf32.dll" "%destpath%\Mozilla Firefox\plugins\"
copy /Y "%srcpath%\Acro*.dll" "%destpath%\Common Files\Adobe\Acrobat\ActiveX\"
goto verification
 
:verification
if NOT exist "%destpath%\Common Files\Adobe\Acrobat\ActiveX\AcroIEHelper.dll" GOTO error_file
if NOT exist "%destpath%\Common Files\Adobe\Acrobat\ActiveX\AcroIEHelperShim.dll" GOTO error_file
if NOT exist "%destpath%\Common Files\Adobe\Acrobat\ActiveX\AcroPDF.dll" GOTO error_file
if NOT exist "%destpath%\Internet Explorer\PLUGINS\nppdf32.dll" GOTO error_file
If Not Exist "%destpath%\Mozilla Firefox\plugins\nppdf32.dll" @echo Firefox plugin was not found
 
Regsvr32 /s "%destpath%\Common Files\Adobe\Acrobat\ActiveX\AcroIEHelperShim.dll" 
Regsvr32 /s "%destpath%\Common Files\Adobe\Acrobat\ActiveX\AcroPDF.dll" 
goto exit
 
:error_file
@echo one or more DLLs was not properly copied in the destination
goto exit
 
:exit
del "%srcpath%\nppdf32.dll"
del "%srcpath%\Acro*.dll"
del "%srcpath%\setacl*.exe"
del "%srcpath%\adobe_reader9_plugin*.cmd"

Open in new window