Trying to decide on the right MSI packaging tool for your company is a bit like shopping for a new car but without the pushy car sales people (at least we hope not for your sake, because no one likes pushy sales people) or the gift cards for test driving.
But even if there aren’t as many choices when it comes to MSI tools as with new cars, it can be hard to figure out where to start your search. Hence, the buying process can get quickly overwhelming as you try to keep track of all the different features and functions while you are trying to figure out which ones are important or even relevant for you.
As with buying a new car, you have to consider what you will use the packaging solution for. Do you have a whole Business-as-Usual team package and test thousands of apps to ensure compatibility, or are you a lone developer wrapping up a software development project and need to create an MSI package to ship your app?
If it is the latter, a simple self-extracting archive will probably be sufficient. But if you are looking for a solution to help you with the first scenario, keep reading! I have been an application packager myself, and have worked with them or have built automation solutions for them almost my entire professional life. So, I feel your pain.
That’s why I want to shed some light on the check boxes you should tick when comparing enterprise-grade MSI packaging solutions that can be used not only by developers as a one-off product, but also by product owners, packaging engineers, and Business-as-Usual leads to efficiently and quickly create MSI Installers and AppV packages for Microsoft applications on an ongoing basis.
While this first point goes without saying, I do want to mention it as a must-have criteria: Make sure your app packaging solution supports both EXE and MSI files! Next week, we are planning to explain how to convert an .exe file into an .msi using our App Packaging & Testing Tool, Access Capture.
Packaging a brand-new application isn’t the only thing you will want to do with your packaging tool. To get the most out of your new solution and to ensure you won’t have to purchase another one soon, be sure it covers all three packaging scenarios:
If you compare the readily available tools on the market today, you will find that most of them are stand-alone, script-based tools intended for developers to package one app at a time. In other words, they don’t have a centrally managed database.
To be able to streamline your application packaging and testing process, it is very beneficial to have a centrally managed tool that is database-driven, not script-based. It not only allows you to shorten your discovery phase because everything you need is stored neatly in your database, but you can roll back any changes made during the application installation as well as build evergreen workflows (see below).
Once your MSI files are packaged, you will need to do something with them. By choosing a tool that offers API integration points with your software delivery tool, you can deploy your applications into your Windows environment seamlessly.
Before you can deploy a newly packaged application though, it should be tested. Since most application packaging tools are stand-alone, you will have to buy a separate tool that will spin up a virtual machine and inject the files for testing. This is not only yet another tool you need to purchase, license and maintain, but adds potential problems.
If you choose a tool that already has comprehensive functional, non-functional, performance and User Acceptance Testing capabilities natively built in, you can automate your packaged application all the way to deployment using intelligent workflows — cutting down hours as well as potential issues.
Another pesky manual task to automate is the creation of your app packaging documentation. When done manually, it can take hours to collect all the relevant information, take and copy all needed screenshots, and create an installation routine flow on paper. This might seem like a small thing, but if you have to package and re-package thousands of applications, the hours add up very quickly.
The Windows Installer XML Toolset, or WiX for short, is a freely available, Open Source licensed tool set built by Microsoft that allows you to build Windows Installer packages from XML code. It comes with a command-line environment that developers can use to create MSI and MSM packages.
Purchasing an MSI packaging tool that supports this and other emerging standards helps you to protect your investment in the future. For example, Microsoft has recently stopped support for any MSIEXEC.EXE installations on the Azure micro servers. I believe, that within the next five years or so, you won’t be able to install any MSI apps on any Microsoft servers — forcing people to install AppX instead which is done using WiX.
Since the Windows 10 Anniversary Update, desktop applications now can be easily deployed from the Microsoft Store to all types of Windows devices. This is accomplished by using the Universal Windows Platform (UWP). For this, applications are packaged in AppX format (extension .appx) and the Microsoft Desktop Bridge was formerly known as “Project Centennial”.
In an Evergreen IT environment where applications and the environment they live in are changing all the time, app packaging becomes a continuous process rather than a one-off occurrence. So, wouldn’t it be nice if your product owners could get an automated email asking them to test a new app build once it becomes available? This way, your team can build a repeatable packaging and testing process!
Last, but not least, you will want to look at the reputation, customer history, financial stability and support liability of the software vendor you are going with. Doing your due diligence can prevent you from buying a solution from a vendor who isn’t going to be around in a year from now and won’t be able to support the product or bring new innovations and updates to deliver return on your investment.
Choosing the right MSI packaging tool for your enterprise-wide needs doesn’t have to be difficult — but it does take significant consideration. In essence, you will want to make sure that your investment is protected by purchasing a solution that allows you to automate most of the packaging process, integrates with your existing environment, supports established and emerging industry standards and technology platforms, as well as makes the packaging process as easy and flexible as possible.