Application Management and Patching

Creating and Provisioning Application Workspace Deployments for Mac: An Addition to Enhance Intune

Topics: Application Management and Patching

Note: Liquit Workspace has been rebranded as Application Workspace. Images in this post still reflect the historic Liquit branding.

In this post, we will walk you through using Application Workspace Deployments during Provisioning to offer your end users all their applications and anything else they would need while leveraging the Application Workspace platform. Although this is designed for those Provisioning scenarios from Intune, with minimal modifications, you can deploy out the Application Workspace agent and deployments from any deployment mechanism or MDM.  

In this post, it is assumed you have already configured and Entra ID as an Identity Source. If you have not, please go here and configure your identity source first. This was put together through trial and error and Application Workspace documentation including this page. Along those same lines, if you are also leveraging the Microsoft Enterprise SSO plug-in for macs, you can take advantage of the same SSO experience as you would see on Windows machines, automatically logging you into the Application Workspace agent and your Microsoft 365 apps. Although this is how I did it, there are many settings and customizations you can do for your own environment. Please refer to the documentation for a full list of those settings for the JSON file for your environment. This post does not cover configuring your Autopilot settings, just the bootstrapper and agent settings for Application Workspace. 

Leveraging Application Workspace Deployments During Mac Provisioning

In the world of Application Workspace, deployments are the pillar of the imaging process for both virtual and physical devices. Think of a deployment as a carefully orchestrated sequence of packages. But Application Workspace packages are not just for installing applications. They can also include driver installations, registry key settings, or even a combination of all these elements. This flexibility makes Application Workspace a powerful tool for managing your IT environment. Since the term “Deployments” can get confusing as there are many definitions and uses for the word in our line of work; in this context, it will be the section in the Application Workspace server called Deployments.  

Let us start in our Application Workspace environment. After logging into your Application Workspace portal, there are a couple of areas we need to configure and download from here. First, we will create our deployment. A deployment is a group of packages that want to deploy to a machine during agent installation. 

Application Workspace Setup 

Deployment 

Create your deployment in Application Workspace.

  • In Application Workspace, go to Manage -> Automation -> Deployments.
    • Click Create.
    • Enter a name for your deployment and click Next.
Application Workspace Deployments for Mac - create deployment
  • Click Finish. 
  • Once the properties come up, follow the next steps. 
    • Click Packages.
    • Search for and add any packages that you would like for this deployment, be sure to specify the “Install” action.
Application Workspace Deployments for Mac - Search for packages

Click Assignments.

Application Workspace Deployments for Mac - Click assignments --> Install

Create a new device collection that meets different criteria, as we call filters in Application Workspace. In most organizations, devices are prefixed by Intune, for example use that as a filter in combination with System Manufacturer and System Model. This way we have limited the deployment to Intune only. In this screenshot, it shows All devices, but in your environment, you should assign it to your collections that you created above.

Application Workspace Deployments for Mac - search for devices and collections

Managing Certificates for Mac Agent Installation in Application Workspace

For optimal device registration, I found that using certificate-based registration worked very well. Listed below are the steps I took to make sure that it went without a hitch.

In Application Workspace, Manage -> System -> Device Registration, follow the below steps:

  • Click Create.
  • Keep the “Certificate” section highlighted, and click Next.
Create device registration.

Name your Certificate and click Next.

Name your certificate

Select the box for Use a self-signed certificate for device registration and click Next.

Application Workspace Deployments for Mac - check box for using self-signed certificate

Give your certificate a name, validity period, and key size, and add a description if you’d like. Then click next.

Fill in certificate details

Click Finish.

When the properties come up, click on Settings.

On the right-hand side, click the button for Download for agent registration button.

Download for agent registration

Save this file for future use for when creating the pkg file that we will use to upload to Intune

If you are using an internal Certificate Authority (CA) or the Self-signed certificate from installing the Application Workspace Server locally, then follow this step and step iii. If your Application Workspace server has a publicly signed cert, you can skip this step and step iii.

Then, export out the certificates from the Application Workspace Server and Certificate Management depending on what certificate you are using for your Application Workspace server. This may be different from your environment. We need to establish that trust chain between your client and the Application Workspace server.

  • IIS Cert you used
  • CA Cert for that IIS Cert
  • Application Workspace Self-Signed cert

Create three profiles in Intune, one that pushes out the above three certs to devices in their root store https://learn.microsoft.com/en-us/mem/intune/protect/certificates-trusted-root.

Next, we are going to package up the files that we use Intune to deploy to launch the bootstrapper and install the agent. There are many ways to do this, and for another example, see Bootstrapper Script for Enrolling macOS Machines in Microsoft Intune.

Building a Custom .PKG for Intune Deployment

Download then Create Required Files.

Create a folder on your desktop (or any folder you choose) to store all the downloaded files

Navigate to the Downloads page and download the Agent Bootstrapper for Mac and save it in the above folder.

Copy the downloaded certificate file from above to the same folder

Use BBEdit (or your choice of editor) to create a Json file named “agent.json” and save it to that same folder.

Create your Json file. At the end of this document is the Json file that I used that you could copy and modify according to your own settings. I have highlighted the areas that you have to modify, but you can look through the others to determine if you want any other settings

  • The Zone will be your zone that you have created.
  • The deployment will be the name of the deployment you created in Step 2.
  • The trusted zone is where you would put in your zone name. This can be multiple zones if you have more than one.

On a mac, install Whitebox’s Packages Application from http://s.sudre.free.fr/Software/Packages/about.html (this will allow you to easily create the pkg file needed for uploading into Intune)

Create a new Distribution Package.

Application Workspace Deployments for Mac - Create new Distribution package

Enter a name and directory location to save it to.

Choose name and location for project

Choose the Package entry on the left of the screen.

Select the package on the left

In the Identifier field, enter a desired identifier. I used com.liquit.bootstrapper. 

Click the payload tab at the top of the window.

Application Workspace Deployments for Mac - click payload tab

Right-click the folder called Library and click New Folder, Enter “Application Workspace” for the folder name.

Create new folder

Create a new folder under the main folder for this package file, it should be ~/PackageFileName and name it “Resources.”

Copy the three files to this “Resources” folder.

  • Agent.json
  • AgentRegistration.cer
  • AgentBootstrapper-Mac-2.1.0.2

Right-click the new folder called “Application Workspace” and then select Add File for each of the files above to add them into your package.

Right click --> Add new files
  • Agent.json
  • AgentRegistration.cer
  • AgentBootstrapper-Mac-2.1.0.2

With the files highlighted in your project, in the right-hand pane, change the section that says Reference to “Relative to Project” instead of Absolute Path. The reason for this is that if you copy this folder off onto a file share or some other location than here, including those files, it is easily opened and able to be rebuilt as all the references will still be there.

Switch Reference to Relative to Project

Save your project and then click the menu bar at the top, select “Build” and then “Build”. This will build the package file and save it in a build directory with your project file. You will upload this pkg file to Intune.

Deploying the Application Workspace Agent for Mac Using Intune

Create your Application in Intune.

  • Log into Intune and choose Apps and then MacOS apps.
  • Click Add.
  • Under App Type, Choose macOS App (pkg) and press Select,
App Type --> macOS App (pkg)

Select your pkg file.

Add App - Select PKG file

Add the required data. This can be to your specifications. I got the icon file from the installed agent. I went to Finder, right clicked on the application, chose Show Contents, and then navigated to resources, opened the icons file, exported the biggest icon file to PNG, and upload that to Intune for the application.

Fill out App information fields

In the Post-Install section, add in the script shown below. This script will automatically download the latest version of the installer from your Application Workspace server.

Add Post-install script

In the Requirements Section, choose macOS Catalina 10.15, you may want to verify the latest supported version of macOS and choose that option here.

In the detection rules, use the graphic to change the information presented. This will detect the agent, not the bootstrapper that we are deploying. Modify the bundle version to the correct bundle version you want to deploy. This was set for the latest release of 4.1, it will need to be changed for 4.2.

Modify the bundle version in Detection rules

Click Review and Save, adding in any scoping and tags you may wish.

Now you have the application in Intune, and you can scope it to any device and use it during the provisioning process for new managed macs.

I have not tested this through Intune. I have tested this process locally and the script and package work well, but I don’t have a managed instance for mac devices to play with the provisioning of them.

Happy deploying!

Back to Top