Help \ Prerequisites

On the General \ Prerequisites page you can specify prerequisites (3-rd party software or features) that must be installed or enabled on the user's computer in order to properly run your application.

If the required prerequisite is not installed, the setup program will prompt to install it before installation.

Actual Installer has the following predefined prerequisites:

Just select the required prerequisite and the minimum version that the user must have installed on their computer.

Then click Prerequisite links and specify a command to install the prerequisite. This command will be executed if the prerequisite is not installed. You can specify an URL (a web page, where the user can download it) or a Setup File (will be included in the setup program).

If specify the URL, it will be opened in the default browser.

If specify the Setup File (Redistributable package), it will be included in the setup temporary folder <SetupTempDir> (files added to this folder are available before installation). The setup program will launch it and wait until the prerequisite is installed and then continue the installation. The link will look like this:

<SetupTempDir>\RedistPackage.exe

Also, it is possible to make the setup program to download the redistributable package from Internet, and then launch it. This can be done using Downloader (available in the Pro and Pro+ editions). To make it, click ... and specify the Downloader.exe file which is located in the Actual Installer folder (by default "C:\Program Files (x86)\Actual Installer\Downloader.exe"). Then specify the following in the prerequisite link field:

<SetupTempDir>\Downloader.exe /S "URLofPrereqFile" /L /W

To install the prerequisite silently, add a command-line parameter for the silent installation. See an example for SQL Server 2017.

Custom Prerequisites

Actual Installer also allows you to add custom software prerequisites. Just click the "Add" button in the "Additional Prerequisites" section.

The following Conditions are available:

1. File exists
2. File doesn't exist
3. Folder exists
4. Folder doesn't exist
5. File Version greater or equal
6. File Version less or equal
7. Variable greater or equal
8. Variable less or equal
9. Variable contains
10. Variable doesn't contain
11. Registry Key exists
12. Registry Key doesn't exist
13. Registry Value exists
14. Registry Value doesn't exist
15. Registry Value contains
16. Registry Value doesn't contain
17. Registry Value greater or equal
18. Registry Value less or equal
19. MAXREGKEY greater or equal
20. MAXREGVAL greater or equal
21. File contains
22. File doesn't contain

For Registry Conditions: short root keys are supported HKCU=HKEY_CURRENT_USER, HKLM=HKEY_LOCAL_MACHINE.
Use HKEY_DEFAULT rootkey (short name HKDE) to replace it with HKEY_CURRENT_USER if the installation is for current user; or with HKEY_LOCAL_MACHINE if the installation is for All Users.
To use specific bitnees of Registry, add 32 or 64 at the beginning of registry key (e.g. 32HKLM\... or 64HKLM\...)
MAXREGKEY retrieves the maximum number/version of subkey names from the specified registry key (e.g. if a Registry Key has 2 subkeys - 1.0 and 2.0, then MAXREGKEY returns 2.0) More info;
MAXREGVAL retrieves the maximum number/version of registry values from the specified registry key;

Here you can find settings for common software prerequisites:



.NET

Example: how to require a minimum version 7.0 of .NET 64-bit:

Name: 		.NET x64
Command: 	https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-7.0.16-windows-x64-installer
OS: 		64-bit
Condition: 	19. MAXREGKEY greater or equal
Object: 	32HKEY_LOCAL_MACHINE\SOFTWARE\dotnet\Setup\InstalledVersions\x64\sharedfx\Microsoft.WindowsDesktop.App
Value: 	7.0

Example: how to require a minimum version 7.0 of .NET 32-bit:

Name: 		.NET x86
Command: 	https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-7.0.16-windows-x86-installer
OS: 		32-bit
Condition: 	19. MAXREGKEY greater or equal
Object: 	32HKEY_LOCAL_MACHINE\SOFTWARE\dotnet\Setup\InstalledVersions\x86\sharedfx\Microsoft.WindowsDesktop.App
Value: 	7.0

ASP.NET Core

Example: how to require a minimum version 6.0 of ASP.NET Core:

Name: 		ASP.NET Core
Command: 	https://dotnet.microsoft.com/download/dotnet/6.0
OS: 		Any
Condition: 	19. MAXREGKEY greater or equal
Object: 	HKLM\SOFTWARE\Microsoft\ASP.NET Core\Shared Framework
Value: 	6.0

Java (JRE)

If you application requires Java (Java Runtime Environment) version 9 and higher, then use the following settings in the Additional Prerequisites list:

Name: 		Java (JRE)
Command: 	https://www.java.com/en/download/
OS: 		64-bit
Condition: 	Registry Value greater or equal
Object: 	HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JRE\CurrentVersion
Value: 	9.0

Adobe AIR

To ensure that on user's computer Adobe AIR runtime installed use the following settings in the Additional Prerequisites list:

Name: 		Adobe AIR
Command: 	https://get.adobe.com/air/
OS: 		Any
Condition: 	File Version greater or equal
Object: 	<CommonFiles>\Adobe AIR\Versions\1.0\Adobe AIR.dll
Value: 	30.0

Crystal Reports

How to include Crystal Reports

SQL Server Reporting Services

To detect that the SQL Server Reporting Services is installed on user's computer add the following on the System \ Variables:

Variable: 	<SSRS>
Bitness: 	for 64 bit SQL Server select 64-bit
Registry Key: 	HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\SSRS\MSSQLServer\CurrentVersion
Value Name: 	CurrentVersion
Value Type: 	STRING
Default Value: 	0

Variable <SSRS> will contain SQL Server version under which is installed the Reporting Services. Or 0 if Reporting Services is not installed.
To check this value go to Installation \ Prerequisites \ Additional Prerequisites and click Add:

Name: 		SQL Server 2017 Reporting Services
Command: 	https://www.microsoft.com/en-us/download/details.aspx?id=55252
OS: 		Any
Condition: 	Variable greater or equal
Object: 	<SSRS>
Value: 	14.0

14.0 is a version number for SQL Server 2017.


DirectX

To get DirectX version, it is recommended to check version number of the following file: %windir%\System32\dxdiag.exe
DirectX 10 has version number 6.00.6000.16386
DirectX 11 - 6.01.7600.16385
DirectX 11.1 - 6.02.9200.16384
DirectX 11.2 - 6.03.9600.16384
DirectX 12 - 10.00.10240.16384

Name: 		DirectX 12
Command: 	https://support.microsoft.com/en-us/kb/179113
OS: 		Any
Condition: 	File Version greater or equal
Object: 	<SystemDir>\dxdiag.exe
Value: 	10.0

Adobe Flash Player

Name: 		Adobe Flash Player
Command: 	http://get.adobe.com/flashplayer/
OS: 		Any
Condition: 	Folder exists
Object: 	<SystemDir>\Macromed\Flash

Microsoft Office

To get Microsoft Office version, we read version number of the "Winword.exe" file.

For Office 2016, the version number of "Winword.exe" file is 16.x.x.x

First, we need to read a path to winword.exe file to a variable. Go to System \ Variables and add the following:

Variable: 	<WinWordPath>
Bitness: 	Default
Registry Key: 	HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Winword.exe
Value Name: 	
Value Type: 	REG_SZ
Default Value: 	

Now the variable <WinWordPath> contains a full path to winword.exe file.

Then go to General \ Prerequisites \ Additional Prerequisites and add the following:

Name: 		Microsoft Office 2016
Command: 	http://office.microsoft.com/en-us/try
OS: 		Any
Condition: 	File Version Greater or Equal
Object: 	<WinWordPath>
Value: 	16.0

Here is a list of Microsoft Office versions and corresponding version numbers of winword.exe file:

Office XP		10.0
Office 2003	11.0
Office 2007	12.0
Office 2010	14.0
Office 2013	15.0
Office 2016	16.0
Office 2019	16.0
Office 2021	16.0

How to determine the location of WinWord.exe using Actual Installer?

Microsoft Access

If you want to distribute a Microsoft Access application you need to ensure that users have the full version of Microsoft Access (or redistributable program called Microsoft Access Runtime) installed on their computers. If MS Access is not installed, the setup program should install the Access runtime.

To determine if Microsoft Access is installed and get its version, we read version number of the "MSACCESS.EXE" file.

The path to MSACCESS.EXE is stored in the Registry under the key (Default value):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSACCESS.EXE

Go to System \ Variables and add:

Variable: 	<AccessPath>
Bitness: 	Default
Registry Key: 	HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSACCESS.EXE
Value Name: 	
Value Type: 	REG_SZ
Default Value: 	

Variable <AccessPath> will contain a full path to the MSACCESS.EXE file. Or empty, if it is not installed.

Now we need to check the file version of the MSACCESS.EXE file. Here is a list of Microsoft Access versions and corresponding version numbers of MSACCESS.EXE:

Access 2007	12.0
Access 2010	14.0
Access 2013	15.0
Access 2016	16.0
Access 2019	16.0

Here is an example how to check and require Microsoft Access 2010 version or higher. Go to General \ Prerequisites \ Additional Prerequisites and add the following:

Name: 		Microsoft Access
Command: 	https://www.microsoft.com/en-us/download/details.aspx?id=10910
OS: 		Any
Condition: 	5. File Version Greater or Equal
Object: 	<AccessPath>
Value: 	14.0

Microsoft Visual C++ Runtime

You can easily specify the required Microsoft Visual C++ Runtime version on the Prerequisites page.

If you need to check some settings of Microsoft Visual C++ Redistributable then use the Additional Prerequisites option.

Here is an example how to check and require Microsoft Visual C++ Redistributable version 2022 or newer. Go to General \ Prerequisites \ Additional Prerequisites and add the following:

Name: 		Microsoft Visual C++ Redistributable
Command: 	https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170
OS: 		32-bit
Condition: 	Registry Value greater or equal
Object: 	HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\Version
Value: 	14.3
BACK TO TOP