AirWatch Hands-on LabsVMworld 1957HOL-1957-05-UEM Module 3 - 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 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

Add a macOS Device Profile

In the Workspace ONE UEM console:

  1. Select Devices.
  2. Select Profiles & Resources.
  3. Select Profiles.
  4. Select Add
  5. Select Add Profile.

1.2. Select Profile Platform

Select Profile Platform

Select the macOS icon.

1.3. Select the Profile Context

Select the Profile Context

Select the Device Profile icon.

1.4. Configure General Profile Settings

Configure General Profile Settings
  1. Click on General if it is not already selected.
  2. Enter BBEdit Version for the Name.
  3. Select Auto for the Assignment Type.
  4. Click in the Assigned Groups field.   This will pop-up the list of created Assignment Groups.   Enter 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 on 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.
    NOTE - Remember you can drag and drop text from the manual to the text field to automatically populate the values!
  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. Select Your Enrolled Device

Access Device List View
  1. Click on Devices
  2. Click on List View
  3. Click on your enrolled macOS device to access the Device Details view.

2.2. Access Custom Attributes

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

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

The value is currently 0.0 because BBEdit is not installed on the device.

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 ENTER 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
  5. Click Add Files/Actions

4.2. Choose the macOS Platform

Select Apple macOS

4.3. Name the Files/Actions Item

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

4.4. Add Files to Files/Actions

Select Add Files

4.4.1. Choose Files to Upload

Select Choose Files

4.4.2. Select File from Finder

  1. Click the Downloads folder
  2. Select the BBEdit_<version>.dmg file
  3. 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.4.3. Save the File to Files/Actions

Select Save

4.5. 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.6. Copy File Path

  1. Click and drag to highlight the Path field.
  2. Right-click (or Control-click) the highlighted path and select Copy
  3. Select the Manifest tab

4.7. Add Action to Install Manifest

Click Add Action under Install Manifest.

4.7.1. Configure Add Manifest Action

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 Install as the action
  2. Paste the File Path you copied previously: /tmp/BBEdit_<version>.dmg
  3. Select Save

4.8. Add Action to Uninstall Manifest

Click Add Action under Uninstall Manifest.

4.8.1. 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 Uninstall as the action
  2. Enter the name of the App as it appears in the list of Applications when installed: BBEdit
  3. Select Save

4.9. 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 Install BBEdit for the Product Name
  2. Click in the Assigned Groups field and select All Devices ([email protected])
  3. Click Add Rules

5.4. Add Dependency Rules

  1. Click Add Rule.
  2. Select BBEdit-Version @ AirWatchAgent for the Attribute/Application.
  3. Select <> for the Operator.
  4. Select Enter Manually for the Value.
  5. Enter 12.1.5 (or the most current version of BBEdit).
  6. Notice that the Rule Logic field is built out automatically based on your selections and inputs.
  7. 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

After activating the Product, you will be taken back to the Product List View in the Workspace ONE UEM Console, which is located under Devices > Staging & Provisioning > Product List View.

  1. You may need to click the Refresh button if the shown values are not populated.
  2. Note the number of Compliant devices (The product installed successfully).
  3. Note the number of devices where product installation is in progress.
  4. Note the number of failed product installs.

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