EuSetup
EuSetup (© 2017-2020 Helmut Jakoby)

Introduction

EuSetup is a simple installation program that evaluates an INI file for its actions.

EuSetup is based on copy and modify files. It is assumed that all files are located in the working directory or subdirectory of EuSetup.

It is possible to expand EuSetup by means of plugins, e.g. to get files from a URL, or to unpack before, etc. For developers there is a template to develop own plugins.

What is to be done is determined from a text file (e.g., "setup.ini"). An alternative filename can be passed. It controls almost everything about this INI file; therefore the possible entries are explained in detail in the chapter EuSetup.ini.

How is EuSetup used

EuSetup is quite easy to use. It is best to have a directory (eg: 'C:/InstallProjects/MyFirstInstallProject'), where all files to be installed, possibly in further subdirectories, are available. If EuSetup is installed, call EuSetup and install EuSetup in the directory of the directory to be installed (in our example then in 'C:/InstallProjects'). An EuSetup.ini to be adapted can be found in the created directory 'EuSetupStuff' ( in our example in 'C:/InstallProjects/EuSetupStuff').

If there are several projects to install in the directory 'C:/InstallProjekte', it is a good idea to create individual control files with a unique name for each project, e.g. rename the file 'EuSetup.ini' to 'MyFirstInstallProject .ini' and call EuSetup via a batch file as follows:

start EuSetup.exe MyFirstInstallProject.ini

In this form any number of installation projects can be created in the dirctory 'C:/InstallProjects'.

Below is a minimalist, executable example of a configuration file. The file "test.txt" is copied to the target directory by means of the plugin EuSetup. The target directory is created, if not already available.

[Setup]
WindowTitle=Setup for my program
DefaultInstallDir=D:/
DefaultTargetDir=MyProject
DefaultLanguage=english|en
[Plugins]
size=5
1\Plugin=copy_file|EuSetupCopyFiles
[Work]
size=1
1\Work=copy_file|texts/Test.txt|%TargetDir%

The following procedure results from the configuration file:

Structure of the EuSetup ini-file

Basics of the INI file

INI files are somewhat stale, but for a human being easy to understand and change. An INI file for EuSetup is a text file, at best UTF8 format (otherwise, special characters are not displayed correctly and recognized!).

INI files for EuSetup are divided into sections (the lines in square brackets, such as [section name]). Under these, clear keys with value assignments are arranged. Comments are with a leading '#' or ';' characterized.

Further information can be found at https://en.wikipedia.org/wiki/INI_file.

Multilingualism

EuSetup is in the basic setting German-speaking. There is the possibility to support other languages. The English language is supported. In principle, keys, which are German-language in the basic setting, are expanded by a country code. These are supported when multilingualism is set (see also DefaultLanguage= and [KnownLanguages]).

License

EuSetup is free software:

GNU Lesser General Public License Usage
You can redistribute the programm and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
Please review the following information to ensure the GNU Lesser General Public License version 3 requirements will be met: https://www.gnu.org/licenses/lgpl-3.0.html.

GNU General Public License Usage
Alternatively, you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
Please review the following information to ensure the GNU Lesser General Public License version 3 requirements will be met: https://www.gnu.org/licenses/lgpl-3.0.html.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.