Over time you have deployed maybe several Win32 apps, but those apps need to be maintained or updated. I want to update a Win32 app based on a new version number. I think this can be done in two ways, deploy a new version of the app by adding another (version) app to the Windows apps or update the Win32 app in its original configuration.
To me the latter sounds the best, no fouling around with creating and deleting group assignments. But I can be wrong….
In this example I want to take you on the journey in updating the VMWare Horizon Client.
Before we can begin in adjusting settings within Microsoft Endpoint Manager we need to have the following prerequisites:
- Download the latest version of the VMWare Horizon Client. (At the moment this is 22.214.171.124)
- Create the intunewin package with the Win32 Content Prep Tool. (I assume you know how to package a Win32 app)
How to update?
After creating the new intunewin package, the package needs to be uploaded. Go to the Microsoft Endpoint Manager admin center and locate the app within the Windows apps.
Select the old intunewin package in order to be able to upload the new package. The next part will be to update the install and uninstall commands because there is a new version.
Adjust the version numbers to match the new software version. The next part will be to adjust the Detection rule(s). It’s possible that there might be a default rule is configured, if not choose as Rule format: Manually configure detection rules. As you can see there is also an option to choose for a custom detection script, but that’s not needed if you only want to update the Win32 app via a version number. It could be that you configured a rule to detect only if the file is present. In my case my rule looks like this:
For an initial Detection rule when there is no update this is fine, but when you want to upgrade the app then the rule isn’t that great anymore. In order to change the rule to detect if a Windows device as the correct version, the detection method has to be changed to String (version). Besides that an operator and value need to be filled. My settings will look like this:
The rule checks if the executable is equal to the version number and that’s exactly what I was looking for.
Select OK and then select Review + save and after a while all devices will have an updated version of the VMWare Horizon Client.
More info on the possibilities of detection tools can be found on these blogs: https://www.petervanderwoude.nl/post/working-with-custom-detection-rules-for-win32-apps/ and https://tech.nicolonsky.ch/intune-win32-app-requirements-deep-dive/