In this article, you will see installation, usage, integration, details, and dependencies of Inno Setup Dependency Installer.
Introduction
Inno Setup Dependency Installer can download and install any dependency such as .NET, Visual C++ or SQL Server during your application's installation. In addition, it is easy to add your own dependencies as well.
Installation and Usage
- Download and install Inno Setup 6.2+.
- Download the script from here or from the Github repository.
- Open the extracted ExampleSetup.iss file.
- Comment out dependency function calls inside
InitializeSetup
function to disable installing them:
- Modify other sections like
[Setup] [Files] [Icons]
as necessary. - Build the setup using Inno Setup compiler.
Integration
You can also just include CodeDependencies.iss file into your setup and call the desired Dependency_Add
functions (some may need defining their exe file path before the include
):
#define public Dependency_Path_NetCoreCheck "dependencies\"
#include "CodeDependencies.iss"
[Setup]
; ...
[Code]
function InitializeSetup: Boolean;
begin
// add the dependencies you need
Dependency_AddDotNet70;
// ...
Result := True;
end;
Details
You have two ways to distribute the dependency installers. By default, most dependencies will be downloaded from the official website. Another way is to pack the dependency into a single executable setup like so:
-
Include the dependency setup file by defining the source:
Source: "dxwebsetup.exe"; Flags: dontcopy noencryption
-
Call ExtractTemporaryFile()
before the corresponding Dependency_Add
function:
ExtractTemporaryFile('dxwebsetup.exe');
The dependencies are installed based on the system architecture. If you want to install 32-bit dependencies on a 64-bit system, you can force 32-bit mode like so:
Dependency_ForceX86 := True;
Dependency_AddVC2013;
Dependency_ForceX86 := False;
If you only deploy 32-bit binaries and dependencies, you can also instead just not define ArchitecturesInstallIn64BitMode in [Setup]
.
Dependencies
- .NET
- .NET Framework 3.5 Service Pack 1
- .NET Framework 4.0
- .NET Framework 4.5.2
- .NET Framework 4.6.2
- .NET Framework 4.7.2
- .NET Framework 4.8.1
- .NET Core 3.1 (Runtime, ASP.NET, Desktop)
- .NET 5.0 (Runtime, ASP.NET, Desktop)
- .NET 6.0 (Runtime, ASP.NET, Desktop)
- .NET 7.0 (Runtime, ASP.NET, Desktop)
- C++
- Visual C++ 2005 Service Pack 1 Redistributable
- Visual C++ 2008 Service Pack 1 Redistributable
- Visual C++ 2010 Service Pack 1 Redistributable
- Visual C++ 2012 Update 4 Redistributable
- Visual C++ 2013 Update 5 Redistributable
- Visual C++ 2015-2022 Redistributable
- SQL
- SQL Server 2008 R2 Service Pack 2 Express
- SQL Server 2012 Service Pack 4 Express
- SQL Server 2014 Service Pack 3 Express
- SQL Server 2016 Service Pack 3 Express
- SQL Server 2017 Express
- SQL Server 2019 Express
- SQL Server 2022 Express
- Access
- Access Database Engine 2010
- Access Database Engine 2016
- DirectX End-User Runtime
- WebView2 Runtime
Credits
Thanks to the community for sharing many fixes and improvements. To contribute, please create a pull request.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.