Automate Application Packaging via Intune
Ideally, this solution will work with SCCM, Intune, JAMF, Kandji, or whatever tool you are using, regardless of Operating System. If you come from the traditional world of Application Packaging, this might sound quite overwhelming but if I break it down in steps, it will sound obvious.
We’re planning to start working on this idea for one of our customers in Germany in Q2 2023 and that’s when we will upload the entire solution including scripts. Till then we’re pasting the reference script that we’re working upon.
The entire solution can be broken into 6 parts –
- A CurrVer.json file that records the existing version of apps in Intune
- A PowerShell script that checks the latest version on the vendor’s website
- A function that checks existing versions with the latest version
- A PowerShell script that runs well known
IntuneWinAppUtil.exe
command to wrap the package - GraphAPI setup to upload the package to Intune & update the version in the CurrVer.json file
- A PowerShell script that sends email / Teams alert to the UAT team and Intune Admins
Based on our design, items 2 – 6 can be combined in one PowerShell script. This is going to be a complex script but we have worked on a far more brain-churning script than this one. Also, PowerShell is very much capable of handling a requirement like the above.
SOUNDS COMPLEX?
Any Intune package is a combination of Installer, Pre Install & Post Install scripts. That’s all you need to predefine in your packager script/function.
There is nothing that can’t be achieved using Pre/Post Install. Reimagine your packaging process, you’d love this new approach.
This PS script can be executed in many ways. It can run via Azure DevOps Pipeline or a local script saved on an Azure VM. To save cost, this VM can be configured to run an hour before the scheduled time of the script. There are many other obvious ways to execute this. Please see what suits you based on the resources available at your disposal.
Here are some references to start:
Please feel free to add any suggestion that might help others to reach to resolution faster. ❤️