Inno Setup vs Advanced Installer: A Comparison in Package Creation

Written by Alex Marin · July 13th, 2023

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 packaging tool

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.

ImportantIf 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.

Inno Setup installer exe

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.

Import Inno Setup Project in Advanced Installer

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.

Advanced Installer Product Details

4. Navigate to the Files and Folders page, then select Program Files, and add the executable in the required location.

Advanced Installer Files and Folders

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.

Advanced Installer Shortcuts view

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).

Advanced Installer Build Project

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:

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.

TipWe 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.

Written by
See author's page
Alex Marin

Application Packaging and SCCM Deployments specialist, solutions finder, Technical Writer at Advanced Installer.

Comments: