This is part 1 of a 3 part series on application packaging.
- Part 2 – Why is Application Packaging Important
- Part 3 – The Do's and Don'ts of Application Packaging
What is app packaging
In its most simplest form Application packaging is getting installation Software on to a computer. This can span across all operating systems Windows/MacOS/Linux and Mobile platforms iOS/Android. For this article series I will concentrate on Windows.
Application packaging is just one piece of a larger puzzle how do I get software out to all the devices that I manage. There are many ways to get software out to windows devices, Intune, SCCM, GPOs, PDQ etc. We are very biased here and predominantly work with Intune and System Center Configuration Manager (SCCM) as for us and our customer base these have been the best tools.
What are the common package types
There are many types of windows packages. The most common are:
- MSI
- Exe
- Zip/7z file
- CD/DVD/ISO
- Floppy disks (for those of us old enough to remember installing MS office 95 with 29 floppy disks)
These packages contain all the files and a method to put them into the correct location along with creating shortcuts on the desktop/start menu and any additional settings that are configured in the registry.
Note the new kid on the block is MSIX which is quickly gaining popularity
Older types such as App-V are still around but is mostly being replaced by MSIX.
Roll your own package
I will briefly mention this, as it is part of a larger packaging process. If you have your own in house developed software, have created add-ons to software or detailed customisations that are no-longer covered by the pre-build packages. These can be rolled up into a new package. This can even be a method to distribute files across to a set of computers.
Installation of packages
Now that we have our package files for them to be useful they need to be installed on the Computer where it will be used. There are a couple of methods for this.
Manual installation
This is the simplest process. This is usually either putting in a CD/DVD or just double clicking a file. There will then be a series of prompts.
- License agreements
- License keys
- Installation location
- Custom configurations
However most of the time with Manual installations it is mostly just the end user not reading any of the prompts and clicking NEXT ==> NEXT ==> NEXT ==> Finish.
Whilst this is the simplest it is also the time consuming. It involves manual processes each time it is installed. It also lends for installations not being configured correctly, especially if it needs to be installed to a particular directory or some additional optional features need to be installed.
Automatic installs
The next level is Automatic installations. This unlike the Manual install requires only minimal user intervention. It is usually pushed from some form of deployment platform e.g. Microsoft Intune or SCCM. Automatic installations are preconfigured installations with all the options chosen. These at the most basic are adding extra options when installing
E.g. SuperAwesomeInstaller.exe /Q
Users may have to watch a progress bar or click ok to a popup message. However the user will not be able to customise or change any settings within the installation process.
Silent installs
Silent installations take Automatic installations to the next level. These are automatic installations that not only have no input from the users, there is no progress bars saying that it is installing and what percentage it is complete. There are 2 common work flow here:
- The user requests the application through something like the "Company Portal" from Intune.
- Once the user clicks install it will download and begin to install.
- There will be no other prompts, and after a small period of time (depending on application size) the shortcuts will just appear. This is similar to the experience of a Mobile application installation. Either App Store or Play Store
- The Application is required by the organisation. This will also be using Intune or SCCM.
- Once the computer checks in with the MDM platform, it will automatically start installing the required software.
- Once the installation is complete it will just appear in either the start menu or on the desktop.
Nice to haves
When creating Automated or Silent installation processes there are some nice to have options.
- Disable All popups
- Stop the applications from automatically starting once they have been installed
- Remove all first run wizards
- Prepopulate settings – e.g. VPNs pre configure connections. Citrix workspace pre populate storefront details.
- Add some form of installation logging. This will help with troubleshooting
Troubleshooting Installations
What happens when an installation either fails to install, doesn't completely install, or there is a misconfiguration? This is going to be more prevalent with automated installations. The notes here will be very high level. There will be follow up articles to this one dedicated to troubleshooting Application installations
Common troubleshooting items
The following are some common installation issue with places to look for troubleshooting or basic troubleshooting functions.
- Application didn't install - 1 user
- Check that installer ran in the Event Viewer logs
- Check Additional log files
- Is a reboot required after installation has completed?
- Application didn't install - multiple users
- Test with a new installation file
- Check installation commands
- Check installation files
- Application not running
- Same installation files
- New Installation files
- Check if process has started in task manager
- Check for errors in event viewer
- The universal IT solution reboot it.
- Try re-installing the application
Application packaging is simply a method to get software on to a computer, and there are many options to get it there. Installing a application on a single computer manually might seem to be a quick and simple solution, it makes it possible for there to be options that are selected that are not required. Whilst this has the least upfront preparation time it has the longest time to get this installed across multiple devices.
Using some form of automatic delivery method will take a little longer to perform initially there are definitely benefits. This comes from the standardisation as well as the time for both IT and end users.
Take the complexity out of Microsoft Intune deployments with SureDeploy. Elevate your device management capabilities and enhance your security score.