This is the second of my posts around Workspace One following the factory deployment with Dell. This is one is more focused around the Windows 10 application deployment within WS1. As per my previous post, this is highly configurable but also time consuming – so I hope this post helps someone.

The actual process of adding an Windows 10 application into Workspace One is a relatively process and will be brief, however one thing I’ve noticed is nobody seems to share approved / working configurations for commonly used applications – so I’m going to share the ones that I have working within our tenancy.

Adding a Windows 10 App

Once you’re logged into the WS1 console, go to Apps and Books > Applications > Native

Click on the Add Application button along the top of the page

It will ask you which Organization Group ID you want to upload this too, and a button to browse your local machine for an Application File. This can be an exe, an msi, or a zip containing scripts as well as your installation files.

It also allows you to provide a link to a Windows Store app if you so wish. For the purposes of this, I’ve uploaded an MSI in this case, the file size limit has been recently increased to 200MB.

The next prompt is whether this is a dependancy app or not. This is a really nice feature, if for example you are adding something like java or a particular library that is required for another app you are going to add.

Once you’ve gone through the easy bits above, then it gets a bit juicy. For this example I’ve uploaded Google Chrome Enteprise. I assume this is one of the most commonly deployed Windows 10 app within Workspace One as it is the most frequently used Web Browser out there.

Thankfully MSIs contain detail that WS1 extracts to make this deployment much easier. On the first tab ‘Details’ it pre-populates AppID, File Version, Build Versions, amongst other things. This tab (mostly) doesn’t affect how the app is deployed, but is used to allow you to effiently manage your apps, keeping tabs on version numbers, change log, minimum OS, description, etc.

Once you’re finished with that tab, move over to the ‘Files‘ tab. This allows you to define any dependencies, transforms, patches and the rather import uninstall process. Lets go through these in a little more detail…

App Transforms

This is a term used by Microsoft to describe changes to an installation, in all fairness to them they do a good explanation of it here. Essentially though, these are files that can add or prevent configurations, or componets from happening during the install process.

App Patches

This is pretty simple, allows you to add a patch that can be added to your base installation. This can be a cumulative patch or an additive patch – the phrasing from WS1. A culmative patch is one that contains all previous updates, an additive patch is one that doesn’t.

App Uninstall Process

This allows you to use a custom script whether that be a uninstall command, or a script (for those tougher apps). Typically you’d see an uninstall command to look like:

msiexec /x setup.exe

Once you’re done with this tab, its over the ‘Deployment Options‘ tab.

Again, this is pretty simple allowing you to define criteria around when and when not to install the app. This can do checks to make sure there is enough disk space on the device, enough power and RAM, etc.

Again, because this is an MSI, WS1 kindly helps out with the ‘How to Install‘ section. It pre-populates the Install command, and puts in some useful standard settings, such as the Install context, retry count and intervals, etc. Most of these work outright without any changes on MSIs that are written well I found.

The last section on this page is ‘When to Call Install Complete‘, this is pretty simple too. It allows you to define criteria to define when you determine the install to be successful. This could be a registry entry, or a file existing in a particular location on the drive.

For Google Chrome for example, I’ve set the success as the chrome.exe file existing in “C:\Program Files (x86)\Google\Chrome\Application\” and that the file version is equal to the version I am rolling out, for this example, 83.0.4103.106.

The last couple of tabs are images (icons, mobile and tablet images) and terms of use should you choose to populate these. Once you’ve done that, save your application, and WS1 will prompt you to assign it to a group.

You can add an individual or multiple assignments based on their SmartGroup concept, with applications automatically deployed, or on-demand. Essentially this means that you can have your own store, where users can download the apps that they require to fulfill their role – and remove them if they don’t want them.

After that, you’re done – and all devices that match the criteria will either download the app (if its set to auto-download) or appear in their Intelligent Hub console to download on demand.

App: 				Google Chrome
Version: 			68.1.49258
Deployment Method: 		PPKG
Smart Group:			Enrolled Windows
Uploaded: 			MSI
Install Command:		msiexec /i "GoogleChromeStandaloneEnterprise64.msi" /qn
Uninstall Command:
When to call install complete:	File exists - C:\Program Files (x86)\Google\Chrome\Application\chrome.exe - 83.0.4103.106
Tested by:			Sam Akroyd
Tested date:			19/06/2020
App: 				Mozilla Firefox
Version: 			77.0.1.0
Deployment Method: 		WS1 On-Demand
Smart Group:			Enrolled Windows
Uploaded: 			MSI
Install Command:		msiexec /i "Firefox Setup 77.0.1.msi" /qn
Uninstall Command:		C:\Program Files\Mozilla Firefox\uninstall\helper.exe -ms -ma
When to call install complete:	File exists - C:\Program Files\Mozilla Firefox\firefox.exe - 77.0.1.7458
Tested by: 			Sam Akroyd
Tested date: 			18/06/20
App: 				7Zip
Version: 			19.0.0.0
Deployment Method: 		WS1 On-Demand
Smart Group:			Enrolled Windows
Uploaded: 			MSI
Install Command:		msiexec /i "7z1900-x64.msi" /qn
Uninstall Command:		
When to call install complete:	File exists - C:\Program Files\7-Zip\7zFM.exe - 19.0.0.0
Tested by: 			Sam Akroyd
Tested date: 			22/06/20