Questions tagged [inno-setup]

Inno Setup is a tool to create setup programs with an embedded Pascal-derived scripting language.

Inno Setup is a freeware tool to create setup programs (installers) for the Windows platform, either as a single executable or multiple-disk, featuring the standard Windows 2000/XP-style wizard interface and capable to install on all versions of Windows released from 2000: Windows 10, Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP, Windows Server 2003, and Windows 2000 (No service packs are required.)

Installation of 64-bit applications on the 64-bit editions of Windows is also possible, on x64 and Itanium architectures.

The setup program is created with a simple text script, containing some pre-defined sections, [Setup], [Files], [Registry], etc.

Setup functionality can be customized in the [Code] section, writing routines.

The tool is written in Delphi 5/2009 and full source code is available.

Other features of Inno Setup:

  • Customizable setup types, e.g. Full, Minimal, Custom.
  • Complete uninstall capabilities.
  • Includes integrated support for "deflate", bzip2, and 7-Zip LZMA/LZMA2 file compression.
  • The installer has the ability to compare file version info, replace in-use files, use shared file counting, register DLL/OCX's and type libraries, and install fonts.
  • Creation of shortcuts anywhere, including in the Start Menu and on the desktop.
  • Creation of registry and .INI entries.
  • Running other programs before, during or after install.
  • Support for multilingual installs, including right-to-left language support.
  • Support for passworded and encrypted installs.
  • Support for digitally signed installs and uninstalls.
  • Silent install and uninstall.
  • Unicode installs.
  • Integrated Pascal scripting engine option for advanced run-time install and uninstall customization.
  • May be used free of charge even in commercial applications.

Inno Setup supports usage of Third-Party Files for additional features like download files as part of your installation.

Detailed documentation is available, both online and offline.

4809 questions
18
votes
1 answer

Set Windows file version for a setup file created by Inno Setup

I would like to ask if it is possible to set the "Version Number" that will be shown when I right-click the setup file in Windows and then select "Properties" and then "Details" (or "Version"). Currently it always shows "0.0.0.0" for my files. Can…
tmighty
  • 10,734
  • 21
  • 104
  • 218
18
votes
1 answer

Inno Setup - properly stop service before file copy

Our installation process includes a Windows Service which is installed if our software is configured to be installed as a server (vs. a client installation). I added a service library to be able to manage the services, then in the files, I added…
Jerry Dodge
  • 26,858
  • 31
  • 155
  • 327
18
votes
1 answer

Inno Setup: How to pass variable from [Code] to [Run] (or other section)

How can I pass a variable from [Code] section to parameters in [Run] section in Inno Setup? Basically, I want to do the following. Get and save user input to a variable in a procedure InitializeWizard. Pass the user input to an executable in [Run]…
wcc
  • 183
  • 1
  • 1
  • 4
18
votes
2 answers

How to detect old installation and offer removal?

How do I detect whether the user already installed the software and if so, how to offer the possibility of removing the old version? I have written some lines to check that. Is that correct for now? If this is correct, then how can I let the user…
Exa
  • 4,020
  • 7
  • 43
  • 60
18
votes
3 answers

CustomPage for Serial Number in Inno Setup

How to create CustomPage in Inno Setup with Edit Boxes for Serial Number? E.g. 6x5chars or 7x5chars? Script should check if all boxes are filled before Next button become available. It would be also good if there could be Copy/Paste function…
RobeN
  • 5,346
  • 1
  • 33
  • 50
17
votes
1 answer

In Inno Setup Scripting (Pascal), how do you set a global variable's initial value?

(I'm pursuing Inno Setup scripting, but my understanding is that the [Code] section uses Pascal syntax, or a close approximation. I know zero about Pascal or its standard conventions, so apologies in advance for my ignorance.) When defining a…
Syndog
  • 1,531
  • 4
  • 19
  • 27
17
votes
1 answer

Inno Setup Rename File during packing

I am trying to figure out how to rename a file in the file section while building the setup file. I want to include a Local.config file but extract it as Local.config.tmp I can't figure out why Inno Setup keeps creating folders instead of renaming…
Max Alexander
  • 5,471
  • 6
  • 38
  • 52
17
votes
5 answers

How do you pass in parameters to the Inno Setup command line compiler?

It was suggested in the IS newsgroup to use /D= but using the iscc.exe that came with version 5.2.3 I get an "Unknown option:" error. Then in the script, how do you use the value of the command line parameter?
AlanKley
  • 4,592
  • 8
  • 40
  • 53
17
votes
2 answers

Convert Boolean to String with Inno Setup

What is the easiest way to convert a Boolean value into a String in an Inno Setup Pascal script? This trivial task that should be completely implicit seems to require a full-blown if/else construction. function IsDowngradeUninstall: Boolean; begin …
ygoe
  • 18,655
  • 23
  • 113
  • 210
17
votes
3 answers

Inno Setup Invalid Bitmap Image

I'm trying to replace the sidebar image on the start page of my installer. I keep getting the error 'Bitmap image is not valid'. The specs match the default Inno Setup installer sidebar .bmp exactly. The image I'm trying to use has dimensions of 164…
ph1ash
  • 371
  • 3
  • 13
16
votes
5 answers

How to check with Inno Setup, if a process is running at a Windows 2008 R2 64bit?

I've read the following post. My Code looks exactly the same, but does not work: Inno Setup Checking for running process I copied the example from http://www.vincenzo.net/isxkb/index.php?title=PSVince But the example doesn't work either, even if I…
Christian Kuetbach
  • 15,850
  • 5
  • 43
  • 79
16
votes
4 answers

How to Add Outbound Windows Firewall Exception?

I need to open up the Windows Firewall for outbound connections for an application I'm writing. The best answers I've been able to locate are…
Ryan Smyth
  • 321
  • 2
  • 3
  • 11
16
votes
6 answers

Exit from Inno Setup installation from [Code]

Is it possible to exit the installation from a function in the [Code] section of an installer created with Inno Setup? I'm not interested in setting the exit code, what I want to do is perform a custom check for a requirement, and exit the…
Matheus
  • 161
  • 1
  • 1
  • 3
16
votes
1 answer

How to add publisher for setup

When we create a install program and we run it under windows 7 or vista , we see a Unknown for publisher in User Account control info , how we can change it ?
Ata
  • 12,126
  • 19
  • 63
  • 97
16
votes
5 answers

Automated-build version number with WiX, Inno Setup, and VS2008

Basically what I need is an automated way to update the product version number in WiX (3.0 with Votive etc), and then get that version number into an Inno Setup "bootstrapper" I pretty much have the process mostly automated, however version numbers…
Davy8
  • 30,868
  • 25
  • 115
  • 173