AirWatch Hands-on LabsInternal HOLsTM-HOL-MAC-1802Module 2 - Software Distribution with macOSDeploying macOS Applications via Product Provisioning (legacy support)

Deploying macOS Applications via Product Provisioning (legacy support)

Workspace ONE UEM product provisioning is functionality that was originally created to support rugged devices but ported to provide support for macOS.   While this software deployment strategy is less preferred than using the munki framework via Internal Apps, it can still be useful in some situations (and/or for problematic software installations).   Product Provisioning can be thought of as a sequence of files and actions that together comprise the steps required to install a software package (the "product").  

This section will walk you through the basic set of steps you can use to provision software to a macOS device.

Because products are considered a legacy form of software distribution, you will miss out on a number of features/benefits gained when deploying via Internal Applications.   When deploying via Products, you will not have the following functionality:

  • Content Distribution Network integration
  • Mandatory Application Installs (e.g. mandatory apps re-installed if user-removed)
  • Built-In Bandwidth Savings (e.g. munki only downloads files when install is required, products require custom scripting to prevent this)
  • Controlled Install/Uninstall conditions based on real-time script exit code (e.g. munki's "pre-install" and "pre-uninstall" scripts)

1. Create Custom Attribute Profile

Custom Attributes are a built-in function of the VMware Workspace ONE UEM agent for macOS.  An administrator can deliver a shell script in a profile payload, and the echo'ed result of that script is returned to the console as custom information about that device.   In the context of product provisioning, one or more custom attributes can be used to further constrain product deployment to devices within an assignment group.  

This section demonstrates how to create a custom attribute profile.

1.1. Create Custom Attribute Profile

Create Custom Attribute Profile
  1. Click Devices
  2. Expand Profiles & Resources
  3. Click Profiles
  4. Click Add
  5. Click Add Profile

1.2. Select a Platform

Select a Platform

Click macOS.

1.3. Select Profile Context

Select Profile Context

Click Device Profile.

1.4. Configure General Profile Settings

Configure General Profile Settings
  1. Click on General if it is not already selected.
  2. Give the profile a name such as BBEdit Version by entering the string in the Name field.
  3. Ensure the Assignment Type is set to Auto
  4. Click in the Assigned Groups field.   This will pop-up the list of created Assignment Groups.   Start Typing All Devices and select the All Devices ([email protected]) Smart Group.
    NOTE - You may need to scroll down to find the Assigned Groups field.

NOTE - You do not need to click SAVE or SAVE AND PUBLISH at this point.  This interface allows you to move around to different payload configuration screens before saving.

1.5. Configure Custom Attributes Payload

Configure Custom Attributes Payload
  1. Scroll down the list of Payload Types on the left side
  2. Click Custom Attributes
  3. Click Configure

1.6. Enter Local Host Name Custom Attribute Command

Enter Local Host Name Custom Attribute Command
  1. Enter BBEdit-Version as the Attribute Name
  2. Enter the command shown below.  Be sure to use the correct slash, two hyphens, and proper capitalization.
  3. Select 1 Hour as the Reporting
  4. Click Save & Publish.

NOTE - Please refer the Lab Guidance section in the beginning for how to copy text from manual to use in VLP.

Custom Attribute Command:

if [ -x "/Applications/BBEdit.app" ]; then /usr/bin/defaults read /Applications/BBEdit.app/Contents/Info.plist CFBundleShortVersionString ; else echo "0.0"; fi

1.7. Publish to Device Assignment

Publish to Device Assignment

Click Publish.

2. Locating Custom Attributes

Once Workspace ONE UEM delivers a Custom Attributes profile/payload to a device, the Agent will report the initial value of the Custom Attribute back to Workspace ONE UEM and begin the Schedule or Event monitoring.  Custom Attribute values that have been reported back to the console can be viewed in the device details.

2.1. Access Device List View

Access Device List View
  1. Click on Devices
  2. Click on List View

2.2. Select Your Device

Select Your Device

Click on your device

2.3. Access Custom Attributes

Access Custom Attributes
  1. Click on More.
  2. Click on Custom Attributes.

2.4. Review Custom Attributes

Review Custom Attributes
  1. Notice that the Source of the Attributes is Device Sourced, meaning it was gathered at the device and sent to AirWatch.
  2. Note the list of Attributes.  
  3. Note the value of each Attribute.  These values were generated by the output of your command/script in the Custom Attributes payload.

3. Download BBEdit Installer

3.1. Open Safari Browser

If not already open, Click the Safari icon in the Dock

3.2. Browse to BareBones Software Website

In the URL box, enter https://www.barebones.com/products/bbedit/download.html and press return on the keyboard

3.3. Download BBEdit 12 Evaluation for macOS

Click Download

4. Create Files/Actions

A product can comprise one or more Files/Actions.  Files/Actions are the building blocks of a product, containing a set of files and a manifest of actions to take against those files.   A Files/Actions set can also contain a corresponding uninstall manifest which directs the Workspace ONE UEM agent as to how a product should be removed during an Enterprise Wipe.   This exercise illustrates how to create a basic set of files/actions in order to install and uninstall BBEdit.

4.1. Browse to Files/Actions

In the Workspace ONE UEM Console, perform the following:

  1. Select Devices
  2. Expand Staging & Provisioning
  3. Expand Components
  4. Select Files/Actions

4.2. Add Files/Actions

Select Add Files/Actions

4.3. Choose the macOS Platform

Select Apple macOS

4.4. Name the Files/Actions Item

  1. Enter BBEdit Install as the name
  2. Select the Files tab

4.5. Add Files to Files/Actions

Select Add Files

4.6. Choose Files to Upload

Select Choose Files

4.7. Select File from Finder

  1. Select BBEdit_<version>.dmg
  2. Select Choose

The BBEdit Installer will be in whichever folder your Internet browser used as a download destination.  Common folders to check are the Desktop and Downloads folders.

4.8. Save the File to Files/Actions

Select Save

4.9. Enter Download Path

  1. Enter /tmp as the download path
  2. Click Save

In this example, we use /tmp as the download path as it is automatically cleaned up by macOS.   If you wish for Product Downloads to persist on the file system, you must choose a different download path.

4.10. Copy File Path

  1. Highlight the full path to the download
  2. Right-click (or Control-click) the file and select Copy
  3. Select the Manifest tab

4.11. Add Action to Install Manifest

The Install Manifest comprises the sequence of actions that must be performed in order to install the files you've included in the Files/Actions.  This could involve copying/moving files, installing dmg/pkgs, and running scripts.

  1. Select Add Action under the Install Manifest section
  2. Select Install as the action
  3. Paste the File Path you copied previously:   /tmp/BBEdit_<version>.dmg
  4. Select Save

4.12. Add Action to Uninstall Manifest

The Uninstall Manifest comprises the sequence of actions that must be performed in order to remove/revert the files and actions you've taken as part of an install.   The Uninstall Manifest also instructs the agent how to remove the product during an Enterprise Wipe.

  1. Select Add Action under the Uninstall Manifest section
  2. Select Uninstall as the action
  3. Enter the name of the App as it appears in the list of Applications when installed:   BBEdit
  4. Select Save

4.13. Save File/Actions

Select Save

5. Create Product from Files/Actions

5.1. Add Product

In the Workspace ONE UEM Console:

  1. Select Devices
  2. Expand Staging & Provisioning
  3. Select Product List View
  4. Select Add Product

5.2. Choose Product Platform

Select Apple macOS

5.3. Complete General Information

  1. Enter the Product Name:  Install BBEdit
  2. Click in the Assigned Groups and select All Devices ([email protected])
  3. Click Add Rules

5.4. Add Dependency Rules

  1. Select Add Rule
  2. In the Attribute menu, select BBEdit-Version @ AirWatchAgent
  3. Select <> as the Operator
  4. Select Enter Manually for the value and enter 12.1.5 (or the current version of BBEdit)
  5. Select Save

5.5. Add Manifest to Product

  1. Select the Manifest tab
  2. Select Add

5.6. Choose Manifest Item

  1. Select Install Files/Actions in the action(s) menu
  2. Select BBEdit Install as the Files/Actions item
  3. Select Save

5.7. Set Product Type and Activate

  1. Select the Deployment tab
  2. Select Required as the product type
  3. Select Activate

5.8. Confirm Device Assignment

Select Activate

6. Validate Product Installation

6.1. Validate Install via Workspace ONE UEM Console

  1. Select Devices
  2. Expand Staging & Provisioning and select Product List View
  3. Note the number of Compliant devices (The product installed successfully)
  4. Note the number of devices where product installation is in progress
  5. Note the number of failed product installs
  6. Note the refresh button which updates the status counts

All the status counts are clickable and will display a list view of all devices with that status (e.g. Compliant, In Progress, and Failed).

6.2. Validate Install on Managed macOS Device

  1. Select the Finder icon in the Dock
  2. Select Applications
  3. Validate BBEdit is present in the application list