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…
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.
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.
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: 188.8.131.52 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 - 184.108.40.20658 Tested by: Sam Akroyd Tested date: 18/06/20
App: 7Zip Version: 220.127.116.11 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 - 18.104.22.168 Tested by: Sam Akroyd Tested date: 22/06/20