Aaron Parker's stealthpuppy

Subscribe to Aaron Parker's stealthpuppy feed Aaron Parker's stealthpuppy
on applications, desktop and Terminal Server deployment, virtualisation and anything else that takes my fancy
Updated: 6 hours 53 min ago

Adobe Reader DC deployment with Microsoft Intune Part 1

Fri, 07/20/2018 - 12:46

Adobe Reader is of course one of the most common applications on Windows desktops and if you’re moving to a Modern Management approach you’re likely looking at how to deploy Adobe Reader DC to Windows 10 via Microsoft Intune. 

This is a challenge today because Adobe Reader DC comes as an executable, that while it can be extracted for the MSI, it includes support files that cannot be deployed via Intune. Microsoft only enables Windows desktop applications to be deployed from Intune where the installer is contained in a single file Windows Installer.

Adobe Reader DC Executable Installer

The Adobe Reader installer hasn’t changed much since as long as I’ve been writing about it (which has been way too long). What is different with Adobe Reader DC is that Adobe has moved to an evergreen model whereby they’re largely moved away from major releases and instead now deliver a continuous release cycle.

The current installer for Adobe Reader DC is a single executable that can run as is, or can be extracted for customisation typical of enterprise environments. When extracted it looks like this:

Adobe Reader DC extracted files

This just won’t work for deployment via Intune or the Windows 10 MDM channel. We need that single Windows Installer file. Better yet, we need Adobe to make Reader DC available via the Windows Store, but that’s a topic for another article.

Adobe Reader Windows Installer

Adobe does make a single file Windows Installer available for Adobe Reader DC, in various languages; however, the file was released in 2015 and unfortunately they’ve not updated it since. There has been several major releases and updates since March 2005.

Adobe Reader DC single file Windows Installer on the public FTP site

So, now we have a way to deploy the file, let’s see how to customise it and deploy via Intune.

Customising the Installer

Customisation of the Adobe Reader installer for enterprise deployment is well documented and I’ve written about previous versions several times. The same process applies but pay attention to any version specific settings.

Just like previous versions, you use the Adobe Customization Wizard to customise the installer for your needs and deploy a custom package.

Adobe Customization Wizard DC

However, we can’t customise the single file Windows Installer directly because when saving the customisations, we get this:

Adobe Customization Wizard DC – setup.ini was not found

To customise the installer, we need to use a 3 step process:

  1. Download and extract Adobe Reader DC executable installer
  2. Create a custom transform for this installer
  3. Apply the transform to the single file Windows Installer, so that the customisations are embedded into the installer. InstEd It! is a great free MSI editor to do that

I won’t go into a detailed step-by-step on how to use the Adobe Customization Wizard here because the documentation is detailed enough, but I will include a list of options I recommend you embed into the installer. There are some additional defaults and you may have specific options applicable to your environment.

OptionValue Personalization Options / EULA OptionSuppress display of End User License Agreement (EULA) Installation Options / Run InstallationSilently Installation Options / If reboot required at the end of installationSuppress reboot Shortcuts / DesktopRemove the Adobe Reader DC shortcut (no one needs that one on the desktop...) Online Services and Features / Disable product updatesDisabled (i.e. not ticked) - ensure Adobe Reader can update post-deployment Online Services and Features / Disable UpsellEnabled

As I’ve listed in the table, it’s important to keep the Adobe Updater enabled, so that once Reader is deployed via Intune, end-points can manage updates themselves. I’ll cover more on updates in the next article.

Now that you have a customised single file Windows Installer for Adobe Reader DC, you can import that into Microsoft Intune, and make it available for deployment.

Adobe Reader DC installed via Intune

Summary

In this article, I’ve taken a look at how to deploy Adobe Reader DC as a mobile application for Windows 10 devices enrolled in Microsoft Intune via MDM by creating a customised package based on a single file Windows Installer.

In part 2, I’ll take a look at how Adobe Reader is updated post-deployment and discuss whether this type of deployment is the right approach. There are other options and ideally I’d like to see Adobe make Reader DC available via the Microsoft Store.

Larry Costales

This article by Aaron Parker, Adobe Reader DC deployment with Microsoft Intune Part 1 appeared first on Aaron Parker.

Categories: Community, Virtualisation

Download, Install, Import Visual C++ Redistributables with VcRedist

Mon, 05/07/2018 - 21:32

Last year I wrote a PowerShell script that can download, install or import the Visual C++ Redistributables into MDT or ConfigMgr. Long-term maintenance of the full feature set in a single script is a little unwieldy so I’ve re-written the script and created a PowerShell module – VcRedist.

Refactoring the script into a module has been a great little project for creating my first PowerShell function and publishing it to the PowerShell Gallery.

Why VcRedist?

At this point, I’m sure you’re saying to yourself – “Aaron, haven’t you just created Chocolatey?”. In a way yes, this module does exactly what you can do with Chocolatey – install the Visual C++ Redistributables directly to the local machine. Although you can download and install all of the supported (and unsupported) Redistributables, the primary aim of the module is to provide a fast way to download and import the Redistributables into the Microsoft Deployment Toolkit or System Center Configuration Manager for operating system deployments.

Module

The VcRedist module is published to the PowerShell Gallery, which means that it’s simple to install the module and starting importing with a few lines of PowerShell. For example, here’s how you could install the module, download all of the supported Redistributables and import them into an MDT deployment share:

Install-Module -Name VcRedist Import-Module VcRedist $VcList = Get-VcList | Get-VcRedist -Path "C:\Temp\VcRedist" Import-VcMdtApp -VcList $VcList -Path "C:\Temp\VcRedist" -MdtPath "\\server\share\Reference"

This results in each of the Visual C++ Redistributables imported as a separate application with all necessary properties including Version, silent command line, Uninstall Key and 32-bit or 64-bot operating system support.

Visual C++ Redistributables imported into an MDT share with VcRedist

The same approach can be used to import the Redistributables into a ConfigMgr site:

Install-Module VcRedist Import-Module VcRedist $VcList = Get-VcList | Get-VcRedist -Path "C:\Temp\VcRedist" Import-VcCmApp -VcList $VcList -Path "C:\Temp\VcRedist" -CMPath "\\server\share\VcRedist" -SMSSiteCode LAB

Just like MDT, each Redistributable is imported into ConfigMgr; however, Import-VcCmApp copies the Redistributables to a share for distribution and creates and application with a single deployment for each one.

Visual C++ Redistributables imported into ConfigMgr with VcRedist

Of course, the module can download and install the Redistributables to the local machine:

Install-Module VcRedist Import-Module VcRedist $VcList = Get-VcList | Get-VcRedist -Path "C:\Temp\VcRedist" $VcList | Install-VcRedist -Path C:\Temp\VcRedist

By default, this installs all of the supported Redistributables:

Visual C++ Redistributables installed locally with VcRedist

Note that the 2015 and 2017 Redistributables are the same version, so the end result will include only the 2017 versions.

Functions

This module includes the following functions:

Get-VcList

This function reads the Visual C++ Redistributables listed in an internal manifest or an external XML file into an array that can be passed to other VcRedist functions. Running Get-VcList will return the supported list of Visual C++ Redistributables. The function can read an external XML file that defines a custom list of Visual C++ Redistributables.

Export-VcXml

Run Export-VcXml to export the internal Visual C++ Redistributables manifest to an external XML file. Use -Path to define the path to the external XML file that the manifest will be saved to. By default Export-VcXml will export only the supported Visual C++ Redistributables.

Get-VcRedist

To download the Visual C++ Redistributables to a local folder, use Get-VcRedist. This will read the array of Visual C++ Redistributables returned from Get-VcList and download each one to a local folder specified in -Path. Visual C++ Redistributables can be filtered for release and processor architecture.

Install-VcRedist

To install the Visual C++ Redistributables on the local machine, use Install-VcRedist. This function again accepts the array of Visual C++ Redistributables passed from Get-VcList and installs the Visual C++ Redistributables downloaded to a local path with Get-VcRedist. Visual C++ Redistributables can be filtered for release and processor architecture.

Import-VcMdtApp

To install the Visual C++ Redistributables as a part of a reference image or for use with a deployment solution based on the Microsoft Deployment Toolkit, Import-VcMdtApp will import each of the Visual C++ Redistributables as a separate application that includes silent command lines, platform support and the UninstallKey for detecting whether the Visual C++ Redistributable is already installed. Visual C++ Redistributables can be filtered for release and processor architecture.

Each Redistributables will be imported into the deployment share with application properties for a successful deployment.

Import-VcCMApp

To install the Visual C++ Redistributables with System Center Configuration Manager, Import-VcCmApp will import each of the Visual C++ Redistributables as a separate application that includes the application and a single deployment type. Visual C++ Redistributables can be filtered for release and processor architecture.

Tested On

Tested on Windows 10 and Windows Server 2016 with PowerShell 5.1. Install-VcRedist and Import-VcMdtApp require Windows and the MDT Workbench. Get-VcList, Export-VcXml and Get-VcRedist do work on PowerShell Core; however, most testing is completed on Windows PowerShell.

To Do

Right now, I have a few tasks for updating the module, including:

  • Additional testing / Pester tests
  • Add -Bundle to Import-VcMdtApp to create an Application Bundle and simplify installing the Redistributables
  • Documentation updates

For full details and further updates, keep an eye on the repository and test out the module via the PowerShell Gallery.

Image credit:

Alexey Ruban

This article by Aaron Parker, Download, Install, Import Visual C++ Redistributables with VcRedist appeared first on Aaron Parker.

Categories: Community, Virtualisation