MSEndpointMgr

Deploy Adobe Acrobat Reader 2015 DC with ConfigMgr 2012

Over the past years I’ve been blogging about how to deploy Adobe Reader with ConfigMgr 2012, leveraging the way of creating a slipstreamed installation packages for each new version that gets released by Adobe.Recently Adobe has released their latest version of their free PDF utility (formerly Adobe Reader) calling it Adobe Acrobat Reader 2015 DC. DC stands for Document Cloud, which points to the fact that with this version Adobe let’s the users connect to their cloud to store documents and leverage all of the features available in their cloud. Adobe has also with this new version released two update tracks, Continuous Update and Classic Update. The Continuous Update track is aimed more at home users that want to leverage all of the features with this new version of Adobe Acrobat Reader and get the latest version installed silently and automatically. For an enterprise, who’re used to deploy Adobe Reader in a more controlled fashion, the Classic Update track would be the way to go. The Classic Update track workflow is the same as for deploying Adobe Reader X and XI, only with a few slight improvements. Since this new version comes highly integrated with Cloud services provided by Adobe, in an enterprise the IT department may want to control how the end users access and store the documents they’re working with, so in this post I’ll show you how to create a installation package that has been customized for that purpose and how you can deploy it with ConfigMgr 2012.

Overview

  • Download and extract Adobe Acrobat Reader
  • Customizing the installation package
  • Create an Uninstall application (optional)
  • Create the Adobe Acrobat Reader application

Download and extract Adobe Acrobat Reader

Since this is the first version of Adobe’s new Acrobat Reader 2015 DC, it’s quite straight forward when it comes to extracting the files from the AcroRdr20151500630033_MUI.exe file. Depending on how Adobe are planning to release future updates to what I assume this release is, the base installer, we’ll have to see how it turns out. We may not have to slipstream the product in the future, which is a great step forward if that would be true.
In this section, I’m leveraging 7-zip to perform the actual extraction of the file. If you don’t have 7-zip already, I encourage you to download and install it. The base installer for Adobe Acrobat Reader 2015 DC can be downloaded at the following location:
ftp://ftp.adobe.com/pub/adobe/reader/win/Acrobat2015/1500630033/AcroRdr20151500630033_MUI.exe
1. Create a folder called AdobePackage in the root of the C: drive.
2. Download the base installer from the link above to any place of your choosing.
3. Right-click on the base installer and use 7-zip to extract the content to C:\AdobePackage.
140_1
Now that the contents of the base installer have been extracted, we can move on to creating our own customization to the installation, where we will disable some of the features that may not be eligible for enterprise environments.

Customizing the installation package

With the previous version of Adobe Reader XI, Adobe provided a tool for customizing the installation. As with this new version, nothing has changed really, except for the fact that you have to download and install the latest version of the customization tool now called Acrobat Customization Wizard DC. The installation of this tool is extremely simple, so I won’t go through those steps required to install it. You can download the Acrobat Customization Wizard DC from the link below:
ftp://ftp.adobe.com/pub/adobe/acrobat/win/AcrobatDC/misc/CustWiz1500720033_en_US_DC.exe
1. Start Acrobat Customization Wizard DC, click File – Open Package and browse to C:\AdobePackage to select the AcroRead.msi.
2. On the Personalization Options page, select to suppress displaying the EULA.
140_2
3. Moving on to the Installation Options page, select to make Reader the default PDF viewer. For the Run Installation section, select Silently (no interface) and then select to suppress a reboot. Optionally, you can select a language in the Application Language section instead of the default OS Language. Let’s say for instance that you want to you to give the end user an option to choose between e.g. English or Swedish when installing the application from e.g. the Application Catalog in ConfigMgr, you can simple create two transforms where the only difference between them are the Application Language selected in this section.
140_3
4. On the Shortcuts page, right click the shortcut that’s supposed to be created on the Desktop and select Remove.
140_4
5. For the Security page, I’d encourage you to spend some time on configuring this section for your environment. I’d recommend that you enable the Protected View and enter the locations where the end users will open PDF files from, unless they’ll be presented with a yellow bar saying that the document is opened in Protected View, which for some users can be frustrating and may cause unnecessary help-desk calls. The best way to go about this section is to enter the values of locations you think might be enough, complete this part in the blog post and then try out your installation package on a lab machine to see if your values where correct.
6. For WebMail Profiles, I’d disable this setting although there’s no real way for us to prevent a user to take the actual PDF file and send it through any web mail service manually, but I like to turn of this feature so that it’s not available directly inside of the application.
140_5
7. On the Online Services and Features page in the Online Features section, select to disable Product Update and Enable and Install silently for the trusted root certificate from Adobe. Depending on your security restrictions, you may choose another setting for the root certificate. In the Services Integration section, select to Disable all services.
140_6
8. When you’ve made all the desired changes to the customization, click on the Transform menu and select Generate Transform. Save it as AcroRead.mst in the C:\AdobePackage folder with the rest of the files.
140_8
We’ve now created a transform for our installation package for Acrobat Reader 2015 DC.

Create an Uninstall application (optional)

In some cases you may want to have a little more control when it comes to superseding other versions of an application. A great example for this is Java Runtime Environment, where the installer for the latest version simply installs a new application and doesn’t remove the previous installed version. Adobe Reader has been known to remove any previous version, but it some scenarios it might fail, or you’d like to close all open instances of AcroRd32.exe. This part of the post is not required to deploy Adobe Acrobat Reader 2015 DC, but it might give you some extra tools to perform a successful deployment throughout your environment.
I’ve put together a small VBscript that can be used to uninstall Adobe Reader X (10.x) and Adobe Reader XI (11.x). It can easily be extended to your needs, you’d just have to add your own code if you e.g. want to prompt the user or anything. You can use this script as what I call an Adobe Reader Uninstaller application. This application will be used for supersedence on the new Adobe Acrobat Reader 2015 DC application that we’ll create in the next section of this post.
Download the script below and save it as UninstallAdobeReader.vbs in your Content Library. In my lab environment I’ve saved the script to:

\\CAS01\Source$\Apps\AdobeReader\Uninstaller

Script

This script will uninstall Adobe Reader X and Adobe Reader XI by enumerating the Uninstall sub keys in the registry looking for Adobe Reader in the DisplayName (it may also uninstall Adobe Reader 9 and earlier version, but I’ve not verified that). All of the activity from the script is being logged at C:\Windows\CCM\Logs\AppUninstall.log.

'//----------------------------------------------------------------------------
'//  Script Information
'//
'//	 Title:                  UninstallAdobeReader.vbs
'//	 Author:                 Nickolaj Andersen (Lumagate)
'//	 Originally created:     2015-04-14
'//
'//	 Description: Uninstall all versions of Adobe Reader
'//
'//  Version 1.0 2015-04-14  Script created
'//
'//----------------------------------------------------------------------------
'//----------------------------------------------------------------------------
'//  Global Constants
'//----------------------------------------------------------------------------
Option Explicit
Const HKEY_LOCAL_MACHINE = &H80000002
Const ForWriting = 2
Const ForAppending = 8
Const SeverityInformation = 1
Const SeverityWarning = 2
Const SeverityError = 3
Const DoIndent = 1
Const NoIndent = 0
'//----------------------------------------------------------------------------
'//  Declare objects
'//----------------------------------------------------------------------------
Dim WshShell, objFSO, objWMIService, objRegistry, objExecute, objLog
Dim strComputer, strRegistryKey, strSearchItem, strDisplayName, strUninstallString, strGetDisplayName
Dim strGetUninstallString, strLogMessage, strIndent, strLogFile, strSeverity, strWriteMethod
Dim arrDisplayName, arrItem, arrSubKeys, arrSubKeyItem
Dim colItems, colItem
'//----------------------------------------------------------------------------
'//  Define variables
'//----------------------------------------------------------------------------
arrDisplayName = Array("Adobe Reader")
strComputer = "."
'//----------------------------------------------------------------------------
'//  Define objects
'//----------------------------------------------------------------------------
Set WshShell = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
'//----------------------------------------------------------------------------
'//  Main routine
'//----------------------------------------------------------------------------
' Create logfile
strLogFile = WshShell.ExpandEnvironmentStrings("%WinDir%") & "\CCM\Logs\AppUninstall.log"
If Not objFSO.FileExists (strLogFile) Then
	Set objLog = objFSO.CreateTextFile(strLogFile, True)
	objLog.Close
End If
' Determine architecture
For Each colItem in colItems
	If UCase(colItem.SystemType) = "X64-BASED PC" Then
		strRegistryKey = "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\"
	ElseIf UCase(colItem.SystemType) = "X86-BASED PC" Then
		strRegistryKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
	Else
		WScript.Quit 0
	End If
Next
' Enumerate through all items in DisplayName array
WriteLogFile "Launching script engine", NoIndent, SeverityInformation, ForAppending
For Each arrItem in arrDisplayName
	UninstallApplication arrItem
Next
WriteLogFile "Ending script engine", NoIndent, SeverityInformation, ForAppending
'//----------------------------------------------------------------------------
'//  Sub routines
'//----------------------------------------------------------------------------
Sub UninstallApplication (strSearchItem)
	' Connect to Registry provider
	Set objRegistry = GetObject("winmgmts://" & strComputer & "/root/default:StdRegProv")
	WriteLogFile "Connected to registry provider, start enumerating sub keys for:", NoIndent, SeverityInformation, ForAppending
	WriteLogFile "HKLM\" & strRegistryKey, DoIndent, SeverityInformation, ForAppending
	objRegistry.EnumKey HKEY_LOCAL_MACHINE, strRegistryKey, arrSubKeys
	' Enumerate through all sub keys
	For Each arrSubKeyItem in arrSubKeys
		' Get DisplayName and UninstallString
		strGetDisplayName = objRegistry.GetStringValue(HKEY_LOCAL_MACHINE, strRegistryKey & arrSubKeyItem, "DisplayName", strDisplayName)
		strGetUninstallString = objRegistry.GetStringValue(HKEY_LOCAL_MACHINE, strRegistryKey & arrSubKeyItem, "UninstallString", strUninstallString)
		' Check if search string is in DisplayName
		If inStr(1, strDisplayName, strSearchItem, 1) Then
			WriteLogFile "Found Adobe Reader version eligable for uninstall:", NoIndent, SeverityInformation, ForAppending
			WriteLogFile strDisplayName, DoIndent, SeverityInformation, ForAppending
			strUninstallString = UCase(strUninstallString)
			If inStr(strUninstallString, "MSIEXEC") Then
				' Replace MsiExec command line parameters for uninstall
				strUninstallString = Replace(strUninstallString, "MSIEXEC.EXE /I", "/X ")
				strUninstallString = Replace(strUninstallString, "MSIEXEC.EXE /X", "/X ")
				' Uninstall application
				WriteLogFile "Preparing to uninstall product " & strDisplayName, NoIndent, SeverityInformation, ForAppending
				Set objExecute = WshShell.Exec(WshSHell.ExpandEnvironmentStrings("%WinDir%") & "\system32\" & "msiexec.exe " & strUninstallString & " /qn REBOOT=ReallySuppress")
				WriteLogFile "Executing command:", NoIndent, SeverityInformation, ForAppending
				WriteLogFile (WshSHell.ExpandEnvironmentStrings("%WinDir%") & "\system32\" & "msiexec.exe " & strUninstallString & " /qn REBOOT=ReallySuppress"), DoIndent, SeverityInformation, ForAppending
				'Wait for uninstall to complete
				Do While objExecute.Status = 0
					Wscript.Sleep 3000
				Loop
				WriteLogFile "Successfully uninstalled product " & strDisplayName, NoIndent, SeverityInformation, ForAppending
			End If
		End If
	Next
End Sub
Sub WriteLogFile (strLogMessage, strIndent, strSeverity, strWriteMethod)
	Set objLog = objFSO.OpenTextFile(strLogFile, strWriteMethod)
	If strIndent = 1 Then
		objLog.WriteLine "<![LOG[    " & strLogMessage & "]LOG]!>" & "<time=" & Chr(34) & Time & ".000+0" & Chr(34) & " date=" & Chr(34) & Month(Now) & "-" & Day(Now) & "-" & Year(Now) & Chr(34) & " component=" & Chr(34) & WScript.ScriptName & Chr(34) & " context=" & Chr(34) & Chr(34) & " type=" & Chr(34) & strSeverity & Chr(34) & " thread=" & Chr(34) & Chr(34) & " file=" & Chr(34) & WScript.ScriptFullName & Chr(34) & ">"
	Else
		objLog.WriteLine "<![LOG[" & strLogMessage & "]LOG]!>" & "<time=" & Chr(34) & Time & ".000+0" & Chr(34) & " date=" & Chr(34) & Month(Now) & "-" & Day(Now) & "-" & Year(Now) & Chr(34) & " component=" & Chr(34) & WScript.ScriptName & Chr(34) & " context=" & Chr(34) & Chr(34) & " type=" & Chr(34) & strSeverity & Chr(34) & " thread=" & Chr(34) & Chr(34) & " file=" & Chr(34) & WScript.ScriptFullName & Chr(34) & ">"
	End If
	objLog.Close
End Sub

1. Open the ConfigMgr console and navigate to Software Library. Expand Application Management, right-click on Applications and select Create Application.
2. On the General page, select to Manually specify application information and click Next.
140_9
3. Name the application Adobe Reader Uninstaller and give it a Software version of 1.0. Select Date published and click Next.
140_10
4. On the Application Catalog page, click Next.
5. Click Add on the Deployment Type page.
6. Select Script Installer and click Next.
140_11
7. Name the Deployment Type Adobe Reader Uninstaller 1.0 and click Next.
140_12
8. On the Content page, specify the content source location for where you’ve stored the UninstallAdobeReader.vbs script file. Enter a dummy installation program, e.g. cscript.exe dummy.vbs and for the uninstall program enter cscript.exe UninstallAdobeReader.vbs. When ready click Next.
140_13
9. On the Detection Method page we’re gonna add detection methods for Adobe Reader 11 and 10. If you have older version in your environment, follow the same process described below to add support for those as well. Click Add clause and enter the following settings:
Setting Type: Registry
Hive: HKEY_LOCAL_MACHINE
Key: SOFTWARE\Adobe\Acrobat Reader\10.0
140_0_1
Click OK.
10. Click Add clause again and enter the following settings:
Setting Type: Registry
Hive: HKEY_LOCAL_MACHINE
Key: SOFTWARE\Adobe\Acrobat Reader\10.0
This registry key is associated with a 32-bit application on 64-bit systems: Checked
140_0_2
Click OK.
11. Change the Connector to OR.
140_16
Now perform the same steps to add support for Adobe Reader 11, but use this key instead:
Key: SOFTWARE\Adobe\Acrobat Reader\11.0
Make sure that all connectors are set to OR. Click Next.
140_0_3
12. On the User Experience page, configure accordingly:
Installation behavior: Install for system
Logon requirement: Whether or not a user is logged on
Installation program visibility: Normal
Maximum allowed runtime (minutes): 20
140_17
Click Next.
13. Click Next on the Requirements page.
14. Click Next on the Dependencies page.
15. On the Summary page, click Next.
140_18
16. Click Close on the Completion page.
17. Back in the Create Application Wizard, click Next.
18. On the Summary page, click Next.
140_19
19. On the Completion page, click Close.
20. Distribute the new application to your Distribution Points.
We’re now done with the Uninstaller application and can move on to create the Adobe Acrobat Reader 2015 DC application.

Create the Adobe Acrobat Reader application

Creating the Adobe Acrobat Reader 2015 DC application is like creating any other application, basically. But first, we need to copy the extracted content from C:\AdobePackage to the Content Library. In my lab environment I’ve created the following folder structure:
\\CAS01\Source$\Apps\AdobeReader\2015
140_20
1. Open the ConfigMgr console and navigate to Software Library. Expand Application Management, right-click on Applications and select Create Application.
2. Select Manually specify the application information and click Next.
140_21
3. Configure the information accordingly on the General Information page:
Name: Adobe Acrobat Reader 2015 DC
Publisher: Adobe
Software version: 15.006.30033
Date published: checked
To be frank I’m not really sure at this stage if the Software version is correct. According to the way Adobe used to structure their ftp-archive, the base installer version is currently at 1500630033, but the version in the MSI file is 15.006.30033. I guess we’ll have to see what the next version will be in order to determine how they’re thinking.
Click Next.
140_30
4. Enter the information required in your environment for the Application Catalog if applicable. Click Next.
5. Click Add on the Deployment Types page.
6. Select Manually specify the deployment type information and click Next.
140_23
7. Specify the name of the Deployment Type as Adobe Acrobat Reader 2015 DC and click Next.
140_24
8. Specify the following information accordingly on the Content page:
Content location: \\CAS01\Source$\Apps\AdobeReader\2015 (specify the source path to where you’ve put the content in your environment)
Installation program: msiexec.exe /i “AcroRead.msi” /qn TRANSFORMS=AcroRead.mst
Uninstallation program: msiexec.exe /x {AC76BA86-7AD7-FFFF-7B44-AE0F06755100} /qn
Click Next.
new1
9. On the Detection Method page, click Add clause. Specify the information accordingly:
Setting Type: Windows Installer
Product code: {AC76BA86-7AD7-FFFF-7B44-AE0F06755100} (you can browse for the AcroRead.msi file to get this information)
This MSI product code must exist on the target system and the following condition must be met to indicate presence of this application: Checked
MSI Property: Version
Operator: Equals
Value: 15.006.30033
Click OK.
140_26
10. Click Next on the Detection Method page.
140_27
11. On the User Experience page, specify accordingly:
Installation behavior: Install for system
Logon requirement: Whether or not a user is logged on
Installation program visibility: Normal
Maximum allowed run time (minutes): 30
Estimated installation time (minutes): 2
Click Next.
140_28
12. On the Requirements page, click Next.
13. On the Dependencies page, click Next.
14. On the Summary page, click Next.
15. Click Close on the Completion page.
16. Back in the Create Application Wizard, click Next on the Deployment Types page.
140_29
17. On the Summary page, click Next.
18. On the Completion page, click Close.
140_31
19. Remember to distribute the application at this stage to your Distribution Points.
20. Go to the Deployment Type tab for the newly created application, right-click and select Properties.
140_32
21. Go to the Programs tab and add the product code into the Product code field. Click OK.
140_33
That’s all there is to it! You can now go ahead and deploy the Adobe Acrobat Reader 2015 DC application to a collection of your choosing for it to be available or required in your environment. Below is a picture after a successful installation on one of my clients:
140_37
If you’ve gone ahead and created the Adobe Reader Uninstaller application as described earlier in this post, you can leverage it and let the Adobe Acrobat Reader 2015 DC application supersede it. Follow the instruction below in order to configure your application.

Leverage Adobe Reader Uninstaller application (optional)

1. Right-click on the Adobe Acrobat Reader 2015 DC application and select Properties.
140_34
2. Go to the Supersedence tab and click Add.
3. Click Browse and select the Adobe Reader Uninstaller application. Click OK.
140_35
4. Select the Adobe Acrobat Reader 2015 DC for the New Deployment Type and put a mark in the Uninstall check box.
140_36
Click OK.
5. Click OK again to save the changes made to the Adobe Acrobat Reader 2015 DC application.

(33846)

Nickolaj Andersen

Chief Technical Architect and Enterprise Mobility MVP since 2016. Nickolaj has been in the IT industry for the past 10 years specializing in Enterprise Mobility and Security, Windows devices and deployments including automation. Awarded as PowerShell Hero in 2015 by the community for his script and tools contributions. Creator of ConfigMgr Prerequisites Tool, ConfigMgr OSD FrontEnd, ConfigMgr WebService to name a few. Frequent speaker at conferences such as Microsoft Ignite, NIC Conference and IT/Dev Connections including nordic user groups.

63 comments

  • I don’t know whether it’s just me or if perhaps everybody else encountering problems with your site.
    It appears as though some of the written text in your content are running off the screen.
    Can somebody else please provide feedback and let me know if this is happening
    to them too? This might be a problem with my internet browser because I’ve had this happen previously.
    Appreciate it

    • The CODE blocks appear that way.. but that’s to preserve formatting.

  • Nickolaj,
    I had a slight Issue with the AcroRead.mst (forgot to put it in the Transforms’ folder), but other than that, this worked flawlessly. Thank you for this tutorial

  • Hi
    I just recently has re-packaged Adobe Acrobat Reader DC (2015) into an Application in SCCM (Current Branch 1607). I use powershell scripts to install it. This script closes all open instances of the Reader and posibble lingering msiexec processes, then searches through all installed software for Adobe Readers and quietly uninstalls them. After that it installs base version of the reader. I used Try/Catch method for error handling during installation to pass it to SCCM .
    Content of the script is:
    #Close all open instances of Adobe Reader
    Stop-Process -Name “AcroRd*”,”msiexec*” -Force -ErrorAction SilentlyContinue
    #Un-Install all versions of Adobe Reader
    Get-WmiObject -Class Win32_Product -ComputerName “.” -Filter “Name LIKE ‘%Reader%’ And Vendor LIKE ‘%Adobe%'” |
    Foreach-Object {
    $UninstallArgs=$Null
    $UninstallArgs=”/x”,”$($_.IdentifyingNumber)”,”/qn”
    #Write-Host “msiexec.exe” $UninstallArgs
    Start-Process msiexec.exe -ArgumentList $UninstallArgs -Wait
    }
    # Starting Installation of new Adobe Acrobat Reader 2015 BASE version
    if(!$PSScriptRoot){ $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent } #In case if $PSScriptRoot is empty (Wrong version of powershell).
    Try {
    # Install Adobe 2015 base version
    $AdobeInstArgs=”/i”, “`”$PSScriptRoot\AcroRead.msi`””, “TRANSFORMS=`”$PSScriptRoot\AcroRead.mst`””,”/qn”,”/L*v `”C:\Windows\Logs\AcroReader2015_Install.log`””
    Start-Process msiexec.exe -ArgumentList $AdobeInstArgs -Wait -ErrorAction Stop -ErrorVariable ErrorDescription
    $Result= [System.Environment]::ExitCode
    }
    Catch {
    $Result = [System.Environment]::Exitcode
    [System.Environment]::Exit($Result)
    }
    I put it in the same folder as “AcroRead.msi” and “AcroRead.mst” installation folder on the network share.
    —When creating Application Type I choose “Manual specify the deployment type information.” , Call it “Adobe Acrobat Reader 2015 Base”.
    —In the installation program I put “C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass -file .\Upgrade_to_Base_2015_Reader.ps1”, where the “Upgrade_to_Base_2015_Reader.ps1” is the name if the script (see above).
    — In the “Uninstall program” : “msiexec /x “AcroRead.msi” /qn”
    — Detection – MSI Product code: {AC76BA86-7AD7-FFFF-7B44-AE0F06755100}
    The rest is the same as Nickolaj Andersen describes:
    On the User Experience page, configure accordingly:
    Installation behavior: Install for system
    Logon requirement: Whether or not a user is logged on
    Installation program visibility: Normal
    Maximum allowed runtime (minutes): 20
    I distribute this applications to DPs, but don’t deploy it. I add this application as a prerequisite for the latest patch, which you name as “Adobe Acrobat Reader 2015″ and specify the version of the patch.
    In the latest patch I create as a separate application
    Content of the script ( named it Patch_to_1500630198.ps1 ) same location as :
    # Starting update to Acrobat Reader 2015.15.006.30198
    if(!$PSScriptRoot){ $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent } #In case if $PSScriptRoot is empty (Wrong version of powershell).
    Try {
    $AdobeUpgradeArgs=”/update”, “`”$PSScriptRoot\AcroRdr2015Upd1500630198_MUI.msp`””, “/qn”,”/norestart”, “/L*v `”C:\Windows\Logs\AcroRead2015_1500630198_Patch.log`””
    Start-Process msiexec.exe -ArgumentList $AdobeUpgradeArgs -Wait -ErrorAction Stop -ErrorVariable ErrorDescription
    $Result= [System.Environment]::ExitCode
    }
    Catch {
    $Result = [System.Environment]::Exitcode
    [System.Environment]::Exit($Result)
    }
    In the Application type:
    — Installation program: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass -file .\Patch_to_1500630198.ps1
    — Uninstall program: msiexec /x “AcroRead.msi” /qn
    — Detection method 1: Setting Type: “File System”, Path:”%ProgramFiles(x86)%\Adobe\Acrobat Reader 2015\Reader”, File or Folder name :”AcroRd32.exe” , “This file or folder is associated with a 32-bit application on 64-bit system”: Checked , Property: “Version”, Operator: “Greater than or equal to”, Value:”15.6.30198.61077″
    — Detection method 2: Setting Type: “File System”, Path:”C:\Program Files\Adobe\Acrobat Reader 2015\Reader”, File or Folder name :”AcroRd32.exe” , “This file or folder is associated with a 32-bit application on 64-bit system”: Un-Checked , Property: “Version”, Operator: “Greater than or equal to”, Value:”15.6.30198.61077″
    — Both detection methods connected with operator “Or”
    — Dependencies: Added “Acrobat Reader 2015 BASE version” application type with “Auto Install” checked
    So, when you deploy Application with latest patch, it will check if base version of the Reader is installed (It keeps the same MSI product code when you install patches) and compares version (greater than or equal to 15.6.30198.61077″ (the version of the latest version 15.6.30198 as of September 1, 2016 – change it as needed for your version #) of the “AcroRD32.exe” file located in “C:\Program Files\Adobe\Acrobat Reader 2015\Reader” (for x86 ) or “%ProgramFiles(x86)%\Adobe\Acrobat Reader 2015\Reader” (for x64 OS) (specify if it’s 32 or 64-bit systems). If it is not installed, it will install base version, then patch.
    So far over 2,000 computers have been updated with no problems.

    • Hello Emil, i’m trying your tutorial but unfortunately powershell scripty does not work in windows 7, will you help? The error is Unexpected token ‘PSScriptRoot’ in expression or statement.
      I do not know if this is due to copy / paste, i am from czech republic and maybe there are bad characters. Thank you.

    • Hi, your instruction fills perfectly. Unfortunately, on some PCs I have an Adobe Reader DC version with the same MSI ID, but some updates have already been applied and I can not apply any more. I am unfortunately unable to compile any logic on how to solve it.
      Thank you for your help. Marek

  • Hi Nickolaj,
    Thanks for sharing this process 🙂
    The uninstall works great but I’m receiving install errors. I’m able to launch the AcroRead.msi locally on the workstation but each time I try to install through Software Center I receive errors like the ones listed below:
    From the AppEnforce.log
    AdvertisePackage – MsiAdvertiseProduct Failed : 0x80070658 AppEnforce 9/1/2016 10:23:38 AM 956 (0x03BC)
    AdvertisePackage failed (0x80070658). AppEnforce 9/1/2016 10:23:38 AM 956 (0x03BC)
    Lowright users might fail to install this application if it requires higher privileges AppEnforce 9/1/2016 10:23:38 AM 956 (0x03BC)
    From the Application Event Log:
    Ending a Windows Installer transaction: C:\Windows\ccmcache\b\AcroRead.msi. Client Process Id: 4576.
    Any ideas on what may be wrong?
    Thanks,
    Brandy

  • How can the get the uninstall script to close Reader process before the upgraded

  • The new version of DC also has a .MSP file in the install folder will that get installed with this method?

  • will this script remove old versions of adobe DC?
    I’m having no success with it.

  • hi
    when try to install adobe acrobat reader i get like this error
    pls help to resolve this issue

  • I too am wondering how to include the latest MSP with the updates as the source executable includes MSPs after extraction

  • Hi Nickolaj,
    great post, congrats.
    Can you explain how to deploy the updates to the latest version for example:
    AcrobatDCUpd1500920079.msp
    I´ve disable updates like you explain.
    Best regards from Portugal.
    Paulo Barata
    Systems Administrator

    • Create an application as a script installer.
      Use this command line
      msiexec.exe /p “AcroRdrDCUpd1501620045.msp” /qb /norestart
      This will install the MSP you have in the source folder.

  • This is the best step-by-step article ever! Not a thing missing; no guesses at all.
    Thanks so much!!

  • Hello,
    Does the msi name have to be Acroread.msi ? I hope not ?
    My application is downloaded but does not run and then times out.

  • Thanks Patrik! That worked and I even got the detection rule working. It’s weird the application AcroRd32.exe file version info is different then the download files. Adobe… One thing I did change is your /passive switch to /quiet. It had a progress bar popup and this freaks my end users out. Cheers!

    • Nice to see it worked for you too. Yea I use out with /qn but forgot to change it in the comment. Used passive during testing.

      • Ok Patrik. Question for you. How did you install updates beyond the first one. Can’t get them to work. I am updating the Classic track (2015) instead of the Continuous track (DC). I thought with the classic track product line you could do base with any update. Any insight is greatly appreciated!

      • Hi, I’m on Continuous track and the planned updates seems to go rigt over base, but the out of band needs the latest.
        Since the out of band isn’t a security patch and no users seems to be affected i haven’t tried it…sorry 🙂

  • Used this guide and it works perfect, but tried to take it step further and applied the latest msp at the same time as installation.
    It works from commandline but if i use the commandline in sccm it failes with an error about not being able to apply patch for an application that is not installed.
    Any thoughts ? Ot maybe a new post on how to best apply the new updates from Adobe ?

      • I got it working bu using the .msi from here instead: ftp://ftp.adobe.com/pub/adobe/reader/win/AcrobatDC/1500720033/
        I used the Swedish one and created a bat-file with %~dp0 to get the full path for the /update variable. Put the base msi in a subfolder named Base and the latest patch i a Patch Folder.
        Then the install.bat above these.
        Works, but got an error that i Think just has to do with my detection rules in the sccm application.
        msiexec /i %~dp0Base\AcroRdrDC1500720033_sv_SE.msi TRANSFORMS=”%~dp0Base\AcroRead.mst” /update %~dp0Patches\AcroRdrDCUpd1500820082.msp /passive /l*v c:\windows\temp\AR15.8.log

  • Hello,
    when i deploy to clients shows below error
    “The software change returned error code 0x653(1619)”
    Thanks

    • See the posts at the top of the comments section. Likely you’ll have to remove the quotes.

  • i am a little confused…. step 21 “Go to the Programs tab and add the product code into the Product code field. Click OK.” what product code??? I thought this was free?? I don’t have a product code to put in here

  • Thanks for creating this awesome how-to! Very helpful with a very pesky program. How would you go about updating Adobe Acrobat Reader 2015 DC?

  • Yeah this isn’t working for me, it works fine if I supersede the previous reader 11.0.0.10 deploy but it doesn’t like the script being used.

  • Hi,
    The uninstall and install seem to work fine but I’ve realized that the status of the deployment is mostly showing as errored but not listing any machines. Does your deployment status show green and complete?
    thanks,
    Al

    • Hi Al,
      So you mean that your clients are successfully installing the software, but report an error anyhow? I’m not really sure that I understand the problem. Have you checked the AppEnforce.log file on your clients showing an error?
      Regards,
      Nickolaj

      • Hi Nickolaj,
        The appenforce.log is fine, the clients uninstall the previous version of reader and then install DC without as problem but the deployment status shows either in progress or error. When I click on the error tab it says ‘status information is currently unavailable for this deployment’. It seems to be working but I can’t monitor the deployment although when I try it set to supersede Reader 11.0.09 then it there is no issue. I’m pretty sure I’ve set it up exactly as you have posted, are there any other logs that I can look at?
        Thanks,
        Al

  • Hello Ray,
    Thanks for replying back.
    Its a Windows Script Host Window. I have the screenshot bu cannot paste it here.
    It says
    Script: C:\Users\rsolinap\Desktop\UninstallReader.vbs
    Line: 123
    Char: 5
    Error: Permission Denied
    Code: 800A0046
    Source: Microsoft VBScript runtime error
    I am logged in as an administrator.
    I opened it with notepad++ and checked line 123 but i cannot figure out.

    • Hi Ren,
      (by the way, I’m not Ray 🙂 )
      It would appear that you’re not running it elevated. Even though you’re logged in as an administrator, you’d still have to elevate the command prompt (or PowerShell console if you’re running it there) to get around UAC.
      What’s on your row 123? I’d assume it’s the same as in my original script, but it’s better to ask.
      Regards,
      Nickolaj

  • Also for those having issues with the transform not working, try getting rid of the slash before TRANSFORMS
    ex. msiexec.exe /i “AcroRead.msi” /qn TRANSFORMS=”AcroRead.mst”

    • Thanks BB,
      What a sneaky little slash to squeeze itself in there. It’s been removed now, and it should of course not have been there in the first place 🙂
      Regards,
      Nickolaj

  • Hello,
    Im not sure if im the only one who’s having issue with the vbs script. Please advise

  • Hello Ray,
    I copied the vbs script and attempted to run into my machine and got an error.

  • I found if I copy and pasted the msiexec line with the quotation marks SC interprets those as the curved quotation marks, but command line doesn’t understand those and spits out an error. Make sure you change the curved quotation marks to regular marks before saving it into SC.

    • Hi Baatch,
      The first link in the post is for the Adobe Acrobat Reader 2015 DC, the next link is for the Customization Wizard that you use to create a transform.
      Regards,
      Nickolaj

  • Thanks for the tutorial. I’m trying to deploy the latest version of Reader DC using your guide but when it comes time for the installation it fails on the target machine with error code: 0x653(1619)
    I haven’t been able to find any helpful info on that, everything I try falls flat. If you have any secrets that would help that would be great.

    • Hi Ray,
      The error means:
      “This installation package could not be opened. Verify that the package exists and is accessible, or contact the application vendor to verify that this is a valid Windows Installer package.”
      Could you somehow have unpacked an unfinished download? Perhaps try to re-download the exe file from Adobe and unpack it again. I didn’t get this error in my environment, so I’m not really sure what else could be wrong.
      Regards,
      Nickolaj

      • Turns out that my environment doesn’t like having AcroRead.msi in quotes while creating the application.
        msiexec.exe /i “AcroRead.msi” /qn /TRANSFORMS=AcroRead.mst — threw that 1619 error
        msiexec.exe /i AcroRead.msi /qn /TRANSFORMS=AcroRead.mst — works (kind of)
        Now the issue I’m facing is that even though I deployed it as a required application it doesn’t always install on its own. I’ve had to go into my Software Center and hit install for it to take. It is also ignoring AcroRead.mst during the install because it still creates a shortcut on the desktop and keeps the cloud options in Reader.
        Thanks

      • Hi Ray,
        I’ve found by removing the .exe from msiexec in the Installation program field resolves this. It should read:
        msiexec /i “AcroRead.msi” /qn /TRANSFORMS=AcroRead.mst
        Cheers.

      • Hi Dean,
        That’s really really strange, since you’re calling the same executable in both scenarios. I never leave out any file extension since I believe it’s a kind of best practice to always include it, even though it may not be required.
        Regards,
        Nickolaj

      • Hi Ray
        In my case, the quotes were the issue. I changed ( “ ) to ( ” ) and worked like a charm.
        msiexec /i “AcroRead.msi” TRANSFORMS=”AcroRead.mst” /qn /L*v C:\AcroReadDC2015.log
        Regards
        Sooraj

      • +1 on the bad quotes tip. Seems when you copy them from the Internet (with, I might add, otherwise GREAT instructions), they don’t paste correctly in SCCM. Retyping the quotes, with no other changes, allowed my install to work perfectly.

      • Thanks for the article, and the tip about the quotes! I got the same error initially but easily fixed it with the suggestions above– after that it was smooth sailing. Thanks again!

Sponsors