How To Create MSI Auto-Installers For VBA Add-ins
I’ve had quite a few IT administrators request that I provide an MSI Installer file (often referred to as a Windows Installer or Microsoft Installer) to assist them in deploying an Excel add-in their company has purchased to their end-users.
With my limited knowledge of anything coding or IT-related outside of VBA, I had always been intimidated to build such a program. Luckily, with a bit of research, there are many programs out there that build these MSI Installer programs for you with a few clicks of the mouse. While many of these programs can be quite costly, they may be financially worth the investment to score a big sale with a large company.
In this article, I’m going to walk you through the steps on how to build an MSI installer file for an Excel add-in using a program called Advanced Installer. Now there are many options out there in terms of software, however, Advanced Installer appeared to be one of the best players in this space while I was researching. They also offer a free trial, so if you are only needing to make an installer once, this could be a high-quality, free way to get your installer built.
Here are the steps I took to create my very first MSI Installer for one of my VBA add-ins that I sell here on the website.
Office Add-in Project Wizard
Advanced Installer has various project wizards you can launch depending on your desired project type. This is a great way to quickly get the initial project setup without starting from scratch.
Since I am creating an installer for an Office Add-in, I started off by running through the Office Add-in project wizard.
- Click Add-ins
- Select Office Add-ins
- Click Create Project button in the lower right corner
Once you launch the wizard, you are prompted to enter your product name and your company name. These will be values that are displayed throughout your install wizard in various forms and are also referenced with the variables [ProductName] and [CompanyName].
Next, you can choose how you would like your users to install your software. In most cases, you are going to either select MSI or EXE.
I chose an MSI setup since my desired installation package is going to be used by IT administrators at large companies to install my products across multiple computers at once. Many IT professionals will utilize a software such as Microsoft’s System Center Configuration Manager(SCCM) to perform these mass installs and they work much better with MSI files than EXE. You’ll need to decide which route you’d like to go (or you could build both!).
The next window will ask you where you would like to save the project file and which folder location you would like to output your MSI/EXE installer file.
- Project File - A .AIP file that you can open in the future through Advanced Installer to modify your installer package setup
- Output Folder - Where the final installer file will be saved to
Next, choose to deploy a Native Office Add-in and ensure the file path points to the add-in file you wish to deploy (install) on your end-users PC. Once finished, click the Next button.
In the final stages of the Wizard, you can choose some details concerning which Office version and program you are targeting. I stick with Office 2016 as I believe that is likely the earliest version of Office folks in the corporate world might still be using. However, I’m not really sure if the version value really impacts anything for how basic our installer’s functionality is.
Finally, check the Build the project now checkbox and click the Finish button. This will create the initial setup of your installer and generate a foundation for your end file.
Modifying Installer Product Details
I highly recommend filling out the form under Product Information >> Product Details.
This form allows you to enter some basic information concerning your product and also include links to help and support webpages.
You can also choose to allow your users to remove your add-in via the Windows Control panel (which is a nice feature you don’t get when you install an Office Add-in file manually).
Determining Installation File Location
Probably one of the most important steps is telling your installer where to actually save your add-in file to.
To do this, you will need to navigate to Package Definition >> Install Parameters.
Within that page, there will be a path you can set for the Application Folder. You will need to ensure this value is set to: [AppDataFolder]\Microsoft\Addins
This will save your add-in file to the default add-in folder that Microsoft uses for Office.
There are a variety of other settings on this page that I don’t typically mess with.
Changing The Appearance Of Your Installer
Advanced Installer offers you a lot of ways to customize the look and feel of your installer wizard. There are tons of different preset themes you can use along with the ability to further customize text and color.
I typically just pick a theme and call it a day. Honestly, I don’t pay much attention to the look of installation wizards when I use them, so I tend not to carry too much about the way my product wizards look (I’ve got more important things to care about).
I would only recommend that you have a final appearance that looks relatively modern. If you have something that looks like it’s from the 1990s, you might scare your end users into thinking you're having them install some sort of malware.
Building Your Install Package
Once you have modified your install package to your liking, you can create the final MSI or EXE file by clicking the Build button on the Home Tab. This will create the installer file in the output folder your selected while working through the Setup Wizard.
Once built, I would recommend you running the installer and ensuring it sets your add-in up the way you would expect.
If you need to tweak your settings further, you can always go back into the Advanced Installer application, change your setup, and then rebuild again.
I Hope This Helped!
Hopefully, I was able to explain how you can use Advanced Installer to create either an MSI or EXE installer for your Microsoft Excel Add-in. If you have any questions about this technique or suggestions on how to improve it, please let me know in the comments section below.
After 10+ years of creating macros and developing add-ins, I've compiled all the hacks I wish I had known years ago!
How To Add A Center Across Selection Button To Excel's Home Ribbon Tab
Why Center Across? I am a huge advocate for using the Excel functionality of Center Across Selection instead of Merge...
Refresh Ribbon UI In Your Custom Excel Add-in
What This VBA Code Does There may be times when you need to refresh the user interface (UI) of your...
Chris is a finance professional and Excel MVP recognized by Microsoft since 2016. With his expertise, he founded TheSpreadsheetGuru blog to help fellow Excel users, where he shares his vast creative solutions & expertise. In addition, he has developed over 7 widely-used Excel Add-ins that have been embraced by individuals and companies worldwide.