Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create Inno Setup installer using Jenkins without preinstalling on agents

I want to add Inno Setup to my build, however, the build runs on Jenkins with a lot of agents on different machines.

I would rather that my build was self contained and didn't require me to install items on each agent in order to build it.

Can you run Inno Setup without installing it?
e.g. can I just copy the install directory to a sub-dirrectory of my project and run the iscc.exe on the build agent without registering any dlls etc?

Is putting it in the project a bad idea?
e.g. would it be better to zip up the install directory and host it in nexus and download extract it as part of the build?

What are the minimum files I need to run iscc.exe?

like image 452
opticyclic Avatar asked Aug 30 '16 16:08

opticyclic


People also ask

How do I make an inno file executable?

Go to Menu, Project, then Compile to compile and create the setup file. This will create a complete installer. Run the Setup and your application will be installed correctly. Innosetup offers an awesome alternative to create great looking Installers for free.

Is Inno Setup free?

Inno Setup is a free installer for Windows programs by Jordan Russell and Martijn Laan.

Is Inno Setup open source?

Inno Setup grew popular due to being free and open source; free for both commercial and non-commercial use, many software companies switched to the tool.

Does Inno Setup work on Linux?

You're in luck: It's possible to run Inno Setup anywhere that Docker runs (including Linux and macOS), and even have a passable experience writing your setup script.


1 Answers

Yes, you can just copy the Inno Setup installation folder anywhere you want and run it from there. It will just work. Inno Setup command-line compiler does not depend on any registry entries or any other external configuration or registration.

You need these files:

  • ISCC.exe, ISCmplr.dll, ISPP.dll, ISPPBuiltins.iss, Setup.e32, SetupLdr.e32, Default.isl
  • is*.dll/is*.exe for the compression algorithm you are using (the Compression directive); the islzma*.exe are used when the LZMAUseSeparateProcess is enabled; zip and none algorithms do not require any dll.
  • WizModern*Image*.bmp, unless you use your custom images.
  • Languages/*.isl for the languages/translations you are using.

It does no harm, if you just copy over whole Inno Setup installation folder. Though, there's no point copying the uninstaller files (unins*.*).

like image 115
Martin Prikryl Avatar answered Oct 04 '22 15:10

Martin Prikryl