Inno Setup Explained

Inno Setup
Programming Language:Delphi, Pascal
Developer:Jordan Russell’s Software
Latest Release Version:6.7.1
Operating System:Microsoft Windows
Genre:Setup creator
License:Inno Setup License[1]

Inno Setup is a free and open-source script-driven installation system[2] created in Delphi by Jordan Russell. The first version was released in 1997.

History

Since Jordan Russell wasn't satisfied with InstallShield Express, which he had received upon purchase of Borland Delphi, he decided to make his own installer.[3] The first public version was 1.09.

To make an installation package with version 1.09, an "ISS.TXT" file needed to be created in the installation directory. In the file, the user needed to supply variables and values, which are still used in Inno Setup today. These variables served as the configuration of the installation package, but many other features could not be changed. The installation compiler had no editor and was more of a shell to compile scripts.

Inno Setup grew popular due to being free for both commercial and non-commercial use.[4] Starting with version 6.5.0, the developers have requested that commercial users purchase a license, although this is not strictly required under the terms of the project's open-source license.[5] Since Inno Setup was based around scripting, fans of Inno Setup started ISTool and ScriptMaker to aid in visual and simpler ways to make installations for Inno Setup.

Inno Setup has won many awards, including the Shareware Industry Awards three times in a row from 2002 to 2004.[6]

Many people have taken Inno Setup source code and used it to develop third-party versions of Inno Setup.[7] An example is My Inno Setup Extensions by Martijn Laan, which was incorporated into Inno Setup in June 2003.[8]

Features

Key features

Vulnerabilities

Due to the well-known weaknesses CWE-73,[11] CWE-378,[12] CWE-426[13] and CWE-427[14] all versions of Inno Setup are vulnerable to (at least) CAPEC-13[15] and CAPEC-471.[16]

See also

External links

Notes and References

  1. Web site: Inno Setup License . 7 January 2016 . JRSoftware.org .
  2. Web site: Thornton . Bob . Inno Setup 6.0.3 - Developer & Programming - Downloads . Tech Advisor . 21 January 2020.
  3. Web site: Inno Setup . jrsoftware.org // Jordan Russell's Software . 6 April 2001 . https://web.archive.org/web/20010406050529/http://jrsoftware.org/isinfo.htm . 6 April 2001 . live . 21 January 2020.
  4. Book: Thorn, A. . Cross Platform Game Development . Jones & Bartlett Learning . 2009 . 978-0-7637-8281-8 . 21 January 2020 . 359.
  5. Web site: Inno Setup Commercial Licenses . 2025-11-01 . jrsoftware.org.
  6. Web site: L'association d'un type de fichier avec un exécutable .NET . Blog de Roger MIOT . 17 October 2012 . fr . 21 January 2020 . https://web.archive.org/web/20180717194626/https://www.rogermiot.com/2013/05/lassociation-dun-type-de-fichier-avec-un-executable-net.html . 17 July 2018.
  7. Web site: Inno Setup Third-Party Files . jrsoftware.org // Jordan Russell's Software . 21 January 2020.
  8. Web site: Inno Setup 4.0 Revision History . jrsoftware.org // Jordan Russell's Software . 9 January 2004 . 21 January 2020.
  9. Web site: About Inno Setup. JRSoftware.org.
  10. Web site: Inno Setup change log . JRSoftware.org . 18 January 2010.
  11. Web site: CWE-73: External Control of File Name or Path.
  12. Web site: CWE-379: Creation of Temporary File in Directory with Incorrect Permissions.
  13. Web site: CWE-426: Untrusted Search Path.
  14. Web site: CWE-427: Uncontrolled Search Path Element.
  15. Web site: CAPEC-13: Subverting Environment Variable Values.
  16. Web site: CAPEC-471: Search Order Hijacking.