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.

Nickolaj Andersen
Principal Consultant and Enterprise Mobility MVP. Nickolaj has been in the IT industry for the past 10 years specializing in Enterprise Mobility and Security, Windows deployments and Automation. In 2015 Nickolaj was awarded as PowerShell Hero by the community for his script and tools contributions. Author of ConfigMgr Prerequisites Tool, ConfigMgr OSD FrontEnd, ConfigMgr WebService and a frequent speaker at user groups.

(5797)

comments
  • Julian
    Posted at 08:38 April 21, 2015
    Julian
    Reply
    Author

    Or you cold use the PSADT and manage the uninstall and install in the same script.
    https://psappdeploytoolkit.codeplex.com

    • Nickolaj
      Posted at 08:40 April 21, 2015
      Nickolaj
      Reply
      Author

      Yes, that’s a perfectly valid option.

      Regards,
      Nickolaj

  • Ray
    Posted at 20:17 April 23, 2015
    Ray
    Reply
    Author

    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.

    • Nickolaj
      Posted at 15:38 April 24, 2015
      Nickolaj
      Reply
      Author

      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

      • Ray
        Posted at 21:30 April 24, 2015
        Ray
        Reply
        Author

        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

        • Dean
          Posted at 03:37 May 6, 2015
          Dean
          Reply
          Author

          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.

          • Nickolaj
            Posted at 16:48 May 7, 2015
            Nickolaj
            Author

            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

        • Sooraj
          Posted at 10:59 June 3, 2015
          Sooraj
          Reply
          Author

          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

          • networkjoe
            Posted at 21:02 July 15, 2015
            networkjoe
            Author

            +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.

          • Markol
            Posted at 17:14 September 11, 2015
            Markol
            Author

            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!

  • Baatch
    Posted at 09:14 May 7, 2015
    Baatch
    Reply
    Author

    Nickolaj

    You provided 2 diffrent FTP links in the blogpost:
    ftp://ftp.adobe.com/pub/adobe/reader/win/Acrobat2015/
    ftp://ftp.adobe.com/pub/adobe/acrobat/win/AcrobatDC/

    Which should you use?

    • Nickolaj
      Posted at 16:46 May 7, 2015
      Nickolaj
      Reply
      Author

      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

  • BB
    Posted at 22:48 May 11, 2015
    BB
    Reply
    Author

    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.

  • Ren
    Posted at 17:06 May 12, 2015
    Ren
    Reply
    Author

    Hello Ray,

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

    • Nickolaj
      Posted at 18:04 May 13, 2015
      Nickolaj
      Reply
      Author

      Hi Ren,

      Could you please let me know what the error you receive is?

      Regards,
      Nickolaj

  • Ren
    Posted at 14:20 May 13, 2015
    Ren
    Reply
    Author

    Hello,

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

  • BB
    Posted at 16:56 May 13, 2015
    BB
    Reply
    Author

    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”

    • Nickolaj
      Posted at 18:04 May 13, 2015
      Nickolaj
      Reply
      Author

      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

  • Ren
    Posted at 19:56 May 14, 2015
    Ren
    Reply
    Author

    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.

    • Nickolaj
      Posted at 07:23 May 22, 2015
      Nickolaj
      Reply
      Author

      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

  • Al
    Posted at 12:03 May 28, 2015
    Al
    Reply
    Author

    Again, a brilliant post. Thanks for this, very useful

  • Al
    Posted at 11:31 June 2, 2015
    Al
    Reply
    Author

    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

    • Nickolaj
      Posted at 19:16 June 2, 2015
      Nickolaj
      Reply
      Author

      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

      • Al
        Posted at 09:14 June 3, 2015
        Al
        Reply
        Author

        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

  • Al
    Posted at 14:57 June 2, 2015
    Al
    Reply
    Author

    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.

  • Craig
    Posted at 14:29 July 16, 2015
    Craig
    Reply
    Author

    Thanks Nickolaj

    Very helpful post thanks for sharing your knowledge

    Craig

  • Dylan
    Posted at 15:13 August 4, 2015
    Dylan
    Reply
    Author

    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?

  • Matt
    Posted at 17:43 August 7, 2015
    Matt
    Reply
    Author

    No need to extract the MSI from the EXE. Adobe provides it on their ftp: ftp://ftp.adobe.com/pub/adobe/reader/win/AcrobatDC/1500720033/

  • Michael
    Posted at 17:15 August 12, 2015
    Michael
    Reply
    Author

    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

  • Omar Al-Dweik
    Posted at 07:00 September 7, 2015
    Omar Al-Dweik
    Reply
    Author

    Hello,

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

    Thanks

    • Markol
      Posted at 17:10 September 11, 2015
      Markol
      Reply
      Author

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

  • Patrik
    Posted at 06:33 September 17, 2015
    Patrik
    Reply
    Author

    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 ?

    • Dylan
      Posted at 15:07 September 17, 2015
      Dylan
      Reply
      Author

      Yes I second this. I’ve tried several things without success.

      • Patrik
        Posted at 13:13 September 21, 2015
        Patrik
        Reply
        Author

        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

  • Dylan
    Posted at 19:45 September 24, 2015
    Dylan
    Reply
    Author

    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!

    • Patrik
      Posted at 18:55 September 25, 2015
      Patrik
      Reply
      Author

      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.

      • Dylan
        Posted at 14:13 October 26, 2015
        Dylan
        Reply
        Author

        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!

        • Patrik
          Posted at 15:46 October 26, 2015
          Patrik
          Reply
          Author

          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 🙂

  • Al
    Posted at 12:52 November 2, 2015
    Al
    Reply
    Author

    Can I slipstream in the same way as previous versions?

  • mike
    Posted at 15:19 November 10, 2015
    mike
    Reply
    Author

    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.

  • Speed
    Posted at 19:55 November 10, 2015
    Speed
    Reply
    Author

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

  • Paulo Barata
    Posted at 01:36 December 8, 2015
    Paulo Barata
    Reply
    Author

    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

    • Kenneth Tryggeseth
      Posted at 11:16 September 2, 2016
      Kenneth Tryggeseth
      Reply
      Author

      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.

  • Homer S
    Posted at 21:51 February 22, 2016
    Homer S
    Reply
    Author

    How would you update this application with the latest MSP file?

  • Hector Gonzalez
    Posted at 17:18 March 28, 2016
    Hector Gonzalez
    Reply
    Author

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

  • venugopal s
    Posted at 08:24 April 24, 2016
    venugopal s
    Reply
    Author

    hi

    when try to install adobe acrobat reader i get like this error

    pls help to resolve this issue

  • venugopal s
    Posted at 08:37 April 24, 2016
    venugopal s
    Reply
    Author

    The software change returned error code 0x653(1619)

  • jesper
    Posted at 20:12 April 28, 2016
    jesper
    Reply
    Author

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

  • dusky hall
    Posted at 20:53 May 9, 2016
    dusky hall
    Reply
    Author

    I am using package deloyments with sccm, not application deployments. is that possible with adobe dc?

  • scott S
    Posted at 17:06 July 22, 2016
    scott S
    Reply
    Author

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

  • Menesh
    Posted at 21:35 August 16, 2016
    Menesh
    Reply
    Author

    from the uninstall script how can you kill any running of Acrobat Process

  • Menesh
    Posted at 23:18 August 17, 2016
    Menesh
    Reply
    Author

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

  • Brandy Reid
    Posted at 16:44 September 1, 2016
    Brandy Reid
    Reply
    Author

    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

  • Emil
    Posted at 22:02 September 2, 2016
    Emil
    Reply
    Author

    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.

  • Bjørn Froberg
    Posted at 10:11 February 6, 2017
    Bjørn Froberg
    Reply
    Author

    Came up with a simpler solution, heavily inspired by Emils’ example: http://froberg.me/index.php/deploying-adobe-reader-dc-via-sccm/ if anyone’s interested.

  • Leave a Reply