Inno Setup vs Advanced Installer: A Comparison in Package Creation
Inno Setup is a free open-source script-driven installer creator that was released in 1997. Inno Setup has some similarities to WiX Toolset, like not having a GUI when it comes to package creation and that it's dependent on code.
In this article, we'll put Inno Setup and Advanced Installer side by side to see how each handles package creation.
Inno Setup: A Quick Overview
Inno Setup, a free and open-source script-driven installer creator, has been serving the software community since its release in 1997. While similar to WiX Toolset in terms of not providing a GUI for package creation and relying on code, Inno Setup offers unique functionalities.
Supporting Windows Vista and later editions, Inno Setup enables the creation of installers for multiple platforms, along with uninstall capabilities. It also facilitates the registration of DLL/OCX packages and performs standard operations essential for package creators.
However, Inno Setup has certain limitations. It only generates a single EXE file for program installation, and it lacks support for exporting an MSI file.
Inno Setup scripts are defined into sections and each section controls a different aspect of the installation.
The two different main types of sections are [Setup] where you define your standard installer values and [Files] in which the entries are divided into parameters. You can define [Languages], [Icons] and even [Run] sequences.
If you want to run additional code using Inno Setup like you would do with Custom Actions in MSI, you can use the [Code] section – but it only supports Pascal.
Looking at the code above, you can see that we create an MSI package containing a single EXE file, which executes after installation completion.
Additionally, we will specify that a shortcut to the EXE file should appear in the Start Menu:
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Compiling the above code gets us our installer exe file. If we double click it we are presented with a simple installer.
How does Advanced Installer work?
Unlike Inno Setup, Advanced Installer offers a powerful and intuitive GUI, saving considerable time that would otherwise be spent on reading extensive documentation.
Advanced Installer supports multiple installation output formats, including:
- MSI,
- EXE,
- MSIX,
- APPX and APP-V.
Apart from that, Advanced Installer also offers a simple wizard that allows you to import Inno Setup Scripts and convert them into any installation type.
Let's import in Advanced Installer what we did with Inno Setup and set the output as an MSI.
1. In the Start Page, navigate to Import and select Inno Setup Script.
2. In the Start Page, click on MSI Installer and double-click Installer Project.
3. Once the project is created, input our product details as we did with Inno Setup.
4. Navigate to the Files and Folders page, then select Program Files, and add the executable in the required location.
5. To create a shortcut, right-click the added file and select New Shortcut To > Installed File. You can leave all the details as default and click OK. The shortcut will appear under the Shortcuts Page.
6. With all the necessary configurations in place, click on Build in the upper left corner toautomatically generate the MSI package (the package will be validated against best practices by default, ensuring consistency and quality).
Ready to explore the full potential of Advanced Installer? Sign up for a 30-Day Free Trial Now!
Additional Benefits of Advanced Installer
Apart from what we did with Advanced Installer, keep in mind that aside from manipulating files and shortcuts, you can also manipulate:
- Registry
- File Associations
- COM Interfaces
- Environment Variables
- Scheduled Tasks
- Firewall
- Users and Groups
- IIS
- ODBC
- SQL Databases configurations
- Assemblies
- Drivers
- Services
- And much more, accessible through Advanced Installer's GUI interface.
Furthermore, Advanced Installer supports the generation of multiple types of installers from a single project. If you require both MSI and EXE outputs, simply configure the settings accordingly under the Builds Page.
Digital Signature in Advanced Installer
With the introduction of MSIX and Smart App Control, and the increasing security risks, digitally signing your MSI packages is mandatory for independent software vendors (ISVs).
Advanced Installer simplifies the process of digitally signing packages by allowing you to use certificates from various sources, including:
- Your local disk,
- Certificate store,
- Azure Key Vault,
- or Device Guard Signing.
Starting from version 19.7, Advanced Installer signs all binary DLLs included in the customer setup package, guaranteeing compatibility with SAC standards.
By automating the signing process for binary files, Advanced Installer relieves you from the burden of individually signing custom actions.
We recommend to include only digitally signed files in your setup package, which involves signing your own custom actions using your certificate.
Conclusion
Inno Setup and Advanced Installer share some similarities, but they also exhibit distinct strengths and limitations in package creation. Inno Setup offers a script-driven approach with notable flexibility, while Advanced Installer provides a comprehensive suite of features tailored to the needs of IT professionals and developers alike. Advanced Installer further facilitates integration with Visual Studio and Azure DevOps for developers, and its Repackager minimizes noise and produces clean repackaging projects.
If you're interested in exploring Advanced Installer at no cost, try out the Advanced Installer FREE edition.
In summary, by considering the specific requirements of your software projects, you can make an informed decision about whether Inno Setup or Advanced Installer is the ideal choice for your package creation needs.