Welcome Serena Central users! CLICK HERE
The migration of the Serena Central community is currently underway. Be sure to read THIS MESSAGE to get your new login set up to access your account.
leonkrown Absent Member.
Absent Member.
4569 views

Installing & Patching Adobe Reader

Background: We have about 300 managed devices (majority are Win7 SP1 x64, others WinXP SP3 x86) with 3 different core versions (8.x.x, 9.x.x, 10.x.x) of Adobe Reader and their various patch levels installed there were all installed prior to us using ZENworks (11.2).

We’re looking to create a new bundle for Adobe Reader X (10.1.3) to deploy to all managed devices that will install the latest version if it is not on the specified machines and update the other devices from their older versions to the latest.

It seems there is a couple of ways this could be done. Below is what we tried with minimal success. Any recommendations on improving upon what we’ve come up with so far and/or suggesting other (better?) ways of doing so would be greatly appreciated.

We started by creating an administrative install point of 10.1.0 and then patched it to 10.1.3. We then created an .mst files using the Adobe Customization Wizard (10).

Before creating the bundle/uploading the content to the repo, we tested the install on a test vm that didn’t have Adobe Reader. The install went smooth and the .mst was applied. We restored the vm and installed an older version of Reader to test updating it with the newly created aip. The install fails every time and will not update/install over the top of the existing older version. We tried the REINSTALLMODE=omus with no change. By using REINSTALLMODE=vmous, it would update to the new version, but then the .msp was not applied.

What are the best options for deploying Adobe Reader or any other .msi in this case where is seems like the new .msi won’t or doesn’t update effectively over the older version(s)? It seems the only way or best way to remove the older versions would be to create a script or bundle that would remove the older versions by MSIEXEC /x with the corresponding GUID for each older version. Then run that bundle prior to the install of the latest version bundle?

We created then a new bundle with the 10.1.3 .msi, content and .mst file. We can apply this to a managed device with no Reader and it installs and works perfectly. Naturally, we ran into the same issues as the above tests when trying the same scenarios when attempting to install the bundle over older versions as well.

There are also the Install actions for Install MSI and MSP. Would this be a better way to create the bundle in the first place instead of creating the patched aip and using that content for the bundle? Do you just add both those actions in order and that is it? What benefits does this provide over creating the patched aips in the first place?

We’re still figuring out how to best do these tasks for our environment. Any ideas, help, etc… is more than appreciated. If we’re able to come up with some solid ideas/ways of doing this, we’ll have to create some cools solutions articles for others.

Thanks.
Labels (2)
0 Likes
9 Replies
GuillaumeBDEB Absent Member.
Absent Member.

Re: Installing & Patching Adobe Reader

Hi leonkrown, I had the same problem a few months ago. You should read the pdf from Adobe "Enterprise Administration Guide" below on page 72.

http://helpx.adobe.com/content/dam/kb/en/837/cpsid_83709/attachments/Acrobat_Enterprise_Administration.pdf


- If you previously deployed using an AIP, then you must apply the successive patches using an AIP.
- Know when you can reuse AIPs and when you have to create a new one. For example, Acrobat 10.x quarterlies are cumulative and cannot be installed on top of each other. This means that for Acrobat you can always reuse the AIP of the base release, and for Reader you can always reuse the AIP of the base release or the last MSI (whichever is the most recent).


After reading this I decide to choose the longer way and not the AIP way. For Acrobat Reader X & Acrobat Pro X anyway. For example, this is the steps I use to deploy "Acrobat Reader X".

1- Installer MSP - 10.0.1 (If Acrobat Reader 10.0.0 is install)
2- Installer MSI - 10.1.0 (If Acrobat Reader 10.0.1 is install)
3- Installer MSI - AcroRead.msi - New Installation (v1.1.0)
4- Installer MSP - 10.1.1 (If Acrobat Reader 10.1.0 is install)
5- Installer MSP - 10.1.2 (If Acrobat Reader 10.1.1 is install)
6- Installer MSP - 10.1.3 (If Acrobat Reader 10.1.2 is install)

Hope it helps!
0 Likes
leonkrown Absent Member.
Absent Member.

Re: Installing & Patching Adobe Reader

Hi,

Thanks for replying back.

I've read over that guide a few times, but using the methods outlined don't seem to be working. I'm going to try to replicate your example for Reader X.

So far any updating to the latest version of Reader X over versions prior to 10 update correctly except the .mst customizations don't seem to apply. Updating Reader X (10.0.x - 10.1) to 10.1.3 seems to fail every time. I've got side tracked with another project at that point and couldn't follow-up with further testing for now to see what is going wrong.

I guess I was hoping there'd be a nice way to have the latest version of Reader pushed out as an MSI and it would just update any older version and apply our customizations properly. Seems it will be more involved than that.

Thanks again for your time and help.
0 Likes
Knowledge Partner
Knowledge Partner

Re: Installing & Patching Adobe Reader

leonkrown;2201487 wrote:
Hi,

Thanks for replying back.

I've read over that guide a few times, but using the methods outlined don't seem to be working. I'm going to try to replicate your example for Reader X.

So far any updating to the latest version of Reader X over versions prior to 10 update correctly except the .mst customizations don't seem to apply. Updating Reader X (10.0.x - 10.1) to 10.1.3 seems to fail every time. I've got side tracked with another project at that point and couldn't follow-up with further testing for now to see what is going wrong.

I guess I was hoping there'd be a nice way to have the latest version of Reader pushed out as an MSI and it would just update any older version and apply our customizations properly. Seems it will be more involved than that.

Thanks again for your time and help.


Yeah, Adobe makes it a PITA to patch. But there's two diff issues:
1) Upgrading from earlier versions to your latest doesn't seem to be working. You COULD have your Bundle for 10.x run some "executable" (in the install section?) to remove the older versions (and put in system requirements) like:
msiexec /x {bighairyGUIDforAdobe8} with a system requirement that looks for the HKLM\Software\Microsoft\windows\currentversion\uninstall\{GUIDforAdobe8}
and repeat for 9 and whatever

2) Patching. If you're using an AIP patches are cumulative and you have to patch the AIP --OR leave your AIP be the "base" and add the MSP lines in your bundle, but they have to be in order. OR use ZPM to patch your stuff.
0 Likes
leonkrown Absent Member.
Absent Member.

Re: Installing & Patching Adobe Reader

kjhurni;2201653 wrote:
Yeah, Adobe makes it a PITA to patch. But there's two diff issues:
1) Upgrading from earlier versions to your latest doesn't seem to be working. You COULD have your Bundle for 10.x run some "executable" (in the install section?) to remove the older versions (and put in system requirements) like:
msiexec /x {bighairyGUIDforAdobe8} with a system requirement that looks for the HKLM\Software\Microsoft\windows\currentversion\uninstall\{GUIDforAdobe8}
and repeat for 9 and whatever

2) Patching. If you're using an AIP patches are cumulative and you have to patch the AIP --OR leave your AIP be the "base" and add the MSP lines in your bundle, but they have to be in order. OR use ZPM to patch your stuff.


It seems the best bet is going to figure out how to remove them first, then install the customized version we want.
We're testing using msiexec /x {GUID} (as you noted) scripted in it's own bundle. Then another bundle to install the latest version, we're calling the "removal" bundle first. Running into mixed results so far. Just needs more testing.

If we can get Reader to work the way we want, then we'll try our hand at Java JRE next. Yippy!

Thanks for your reply.
0 Likes
Knowledge Partner
Knowledge Partner

Re: Installing & Patching Adobe Reader

leonkrown;2201755 wrote:
It seems the best bet is going to figure out how to remove them first, then install the customized version we want.
We're testing using msiexec /x {GUID} (as you noted) scripted in it's own bundle. Then another bundle to install the latest version, we're calling the "removal" bundle first. Running into mixed results so far. Just needs more testing.

If we can get Reader to work the way we want, then we'll try our hand at Java JRE next. Yippy!

Thanks for your reply.


You're most welcome. If they're different versions, I've found that you can make an "empty" bundle with system requirements (if HKLM\softwrae\blah blah\Uninstall\GUID for version you want to remove) exists = YES

and then have it just run (launch executable)
msiexec /X BLAH BLAH

But, with Adobe, I put a reboot action in afterwards (or you can just add the reboot switch to the end of that msiexec line. I forget which switch it is. I think it's /forcerestart or something)

THEN Bundle #2 has a system requirement if the above registry does NOT EXIST (EXISTS = NO), then install your customized version.

Now, if they're the SAME Version, then you're kinda hosed, but you could just do a mass removal (run once maybe?) of the uninstall and have the new one go on the machine and order the bundles appropriately.

JRE was a PITA.

I had to put a lot of manual stuff in the bundle because of that stupid jqs thingy.

hmm, wonder if I can export the bundle to an XML and, even though it's a diff. zone, you could see the settings?

Either that or maybe we can post some cool solutions articles on how we get things to work (get some points too) haha
0 Likes
leonkrown Absent Member.
Absent Member.

Re: Installing & Patching Adobe Reader

kjhurni;2202282 wrote:
You're most welcome. If they're different versions, I've found that you can make an "empty" bundle with system requirements (if HKLM\softwrae\blah blah\Uninstall\GUID for version you want to remove) exists = YES

and then have it just run (launch executable)
msiexec /X BLAH BLAH

But, with Adobe, I put a reboot action in afterwards (or you can just add the reboot switch to the end of that msiexec line. I forget which switch it is. I think it's /forcerestart or something)

THEN Bundle #2 has a system requirement if the above registry does NOT EXIST (EXISTS = NO), then install your customized version.

Now, if they're the SAME Version, then you're kinda hosed, but you could just do a mass removal (run once maybe?) of the uninstall and have the new one go on the machine and order the bundles appropriately.

JRE was a PITA.

I had to put a lot of manual stuff in the bundle because of that stupid jqs thingy.

hmm, wonder if I can export the bundle to an XML and, even though it's a diff. zone, you could see the settings?

Either that or maybe we can post some cool solutions articles on how we get things to work (get some points too) haha


Thanks for the information. I'm working on customizing a vbs script I found that was for mass removing of Java JRE that I hope to adapt for Reader. Once my testing is complete, I'll post back my results to share how I did it and get any feedback to see if it could be done better.

Thanks.
0 Likes
GuillaumeBDEB Absent Member.
Absent Member.

Re: Installing & Patching Adobe Reader

leonkrown;2201755 wrote:
It seems the best bet is going to figure out how to remove them first, then install the customized version we want.
We're testing using msiexec /x {GUID} (as you noted) scripted in it's own bundle. Then another bundle to install the latest version, we're calling the "removal" bundle first. Running into mixed results so far. Just needs more testing.

If we can get Reader to work the way we want, then we'll try our hand at Java JRE next. Yippy!

Thanks for your reply.


Hi leonkrown, I use this vbs script to uninstall the 32 bit version. Maybie you could adapt it to your need.

On Error Resume Next
Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set WshShell = CreateObject("wscript.Shell")
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
For Each subkey In arrSubKeys
strDisplayName = WshShell.RegRead ("HKLM\" & strKeyPath & "\" & subkey & "\DisplayName")
If InStr(strDisplayName, "Adobe Reader") <> 0 Then
WshShell.Run "msiexec.exe /norestart /X " & SubKey & " /qn", 7, True
End If
Next


Scripting Engine: ${SYSTEMDRIVE}\Windows\System32\cscript.exe

Hope it helps!
0 Likes
leonkrown Absent Member.
Absent Member.

Re: Installing & Patching Adobe Reader

Thanks for the script example. I found a vbs script basically along the same lines, but it is for Java JRE. I hope to adapt it for Reader as well. If my testing goes well, I'll post back my results and how I accomplished it.

Thanks.
0 Likes
leonkrown Absent Member.
Absent Member.

Re: Installing & Patching Adobe Reader

I now have a working Adobe Reader bundle for deployment. I’ll do my best to outline how I have it setup so that others can model after it if you’d like. It is not perfect and I am sure could be tweaked some more (e.g. using variables, etc...). Add your input if you have suggestions.

This setup is comprised of two bundles; A Reader bundle and a Font Pack bundle.

Adobe Reader X Bundle:

Install Action Set:

- Run Script
Using the following script as a base/example, I tweaked it to look for Adobe Reader instead of Java. (Using these same steps, I also have a bundle for Java using a variation of that script.)

Use the define your own script option, copy in the modified script, set script extension to .vbs, path the script engine to c:\windows\system32\wscript.exe, select option to wait for action to complete, set to run as secure user.

- Install MSI
I built a MSI from Adobe Reader 10.1 and then patched it to 10.1.3. Using the Adobe Customization Wizard, I created a MST with custom settings.

Upload the MSI, MST and set to run as secure user.

At this point the bundle runs a script that searches for all Adobe Reader versions and uninstalls them. It then installs the MSI for the latest version (at this time 10.1.3) and the custom MST. The part of this bundle is an Install Bundle action that I’ll break out separately to describe what was done to create it.

- Install Bundle
Point to the Font Pack bundle.


Font Pack Bundle:

Install Action Set:

Install MSI (Do for each font pack. I’ll use the Japanese font pack as the example)

Upload the MSI for the corresponding font pack. Set to run as secure user. In the requirements I went with the following:

(Note: When I posted the file names listed here, I noticed they have space in them. Not sure why. Be sure to remove the space.)

File Exists (No) %PROGRAMFILES(X86)%\Adobe\Reader 10.0\Resource\TypeSupport\Unicode\Mappings\win\cp932.txt
OR
File Exists (No) %PROGRAMFILES%\Adobe\Reader 10.0\Resource\TypeSupport\Unicode\Mappings\win\cp932.txt

Here is how I decided to use that path and file to key off of. Using Orca, it appears that each font pack installs a number of unique files to various locations. I keyed off of one unique file per font pack that is found in the following location.

x64 - %PROGRAMFILES(X86)%\Adobe\Reader 10.0\Resource\TypeSupport\Unicode\Mappings\win\cpxxx.txt
x32 - %PROGRAMFILES%\Adobe\Reader 10.0\Resource\TypeSupport\Unicode\Mappings\win\cpxxx.txt

The file names I keyed off of are:

Japanese Font Pack - cp932.txt
Korean Font Pack - cp949.txt
Chinese Simplified Font Pack - cp936.txt
Chinese Traditional Font Pack - cp950.txt

I tested this on Windows 7 x64 and Windows XP x86 virtual machines running various older and even the 10.1.3 version(s) of Adobe Reader. It removed Reader, installed my custom MSI and then installed the font packs.

I hope this explains it well enough to get others started. If you have any ideas for improvement or questions, let me know as I am not sure if this is the best way or not to go about this type of a deployment.

Thanks.
0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.