About

Quinst - is a package installer which reads arguments from the command line or a batch file, and then packs all installable data into a single full featured user-friendly GUI installer.

It can be used not only to install programs, but for any other kind of code or data.

All you need to create a package is:

  1. Files to be installed.
  2. Two GIF files - one for logotype and one for wizard header.
  3. Optional license text file. If not specified, the license page will not appear at all.
  4. A short package definition file where you must define all noted above.

On the command line you can specify the source path, destination path and the name of package definition file. Both - the command line, and the package file - can be easily placed into a single batch file to simplify packing process. An example of such a batch file you can view here.

Then, to create a new package, you just need to launch that batch file, and your work will be done automaticly, saving your time and preventing you from errors. Using this batch file you can re-pack your packages as frequently as you want, so keeping your destibutive always up to date.

Download files

Release Version Archive Size Licence
06.06.2006 Quinst 1.1 quinst_setup.zip 183 Kb FREE
20.09.2007 Sources quinst_src.zip 120 Kb MIT License

The package contains the following files:

  • quinst.exe - The installer itself
  • pack.bat - Example of package batch file
  • index.htm - Help file
  • license.txt - License text
  • images/setup_logo.gif - Example of logo image
  • images/setup_header.gif - Example of header image

Screen shots

There are four screen shots here of all pages of quick installer. Of course, the logo and header images can be easily replaced by any other, as well as the text of license and other product specific text.

Page 1. Welcome Page 2. License
Page 3. Path to install Page 4. Final

How to use

The installer itself does not require any installation. It works like a command line utility that is always ready to be launched from any place on the disk.

It understands the following arguments:

-SILENT    - forces quinst not to show a message box when an error occurs.
          In either case all messages always written into log file.

-PACK:fname - tells the name of batch filename.
       The batch file is parsed starting from the first
       occurance of '#pack' string in the specified file.

-SOURCE:path - where to read package and GIF files.

-OUT:fname   - where to write resulting executable GUI installer.

To create a new package you must first create a batch file with installation statements for installer. The syntax of such a file is very simple and intuitively clear. There are only 7 different statements: set, local, global, menu, desk, file, temp.

Statements

Syntax Comments
set symbol = value ; Declares a new string constant with name symbol and assigns to it the specified value value.
local name, value ; In the system registry creates a key with specified name and string value. The key is placed into the local (HKEY_CURRENT_USER) registry path.
global name, value ; In the system registry creates a key with specified name and string value. The key is placed inti the global (HKEY_LOCAL_MACHINE) registry path.
menu path, menu_name ; Adds the specified menu title menu_name to the application's start up menu and links it to the specified path path, which will be activated when the user selects it.
desk path, title ; Creates a desktop icon and links it to the specified path. Its icon image is found automaticly by Windows, and it depends to the type of the file under the path.
file source [, destination] ; Adds the specified file into the package and unpacks it during installation.
temp destination ; Does nothing during installation, but, when uninstalling, deletes the specified file.

All statements must end with semicolon. To comment the line use # sign and then type your comment text.

Variables

You can define your variables and then use them either as parameters of statements, or in values of other variables. All variables are assigned using set statement. You can assign a variable any string within quotes or a value of word.

The name of any variable can be inserted into definition of value or parameter. Installer will replace their names (which begin with $ dolar sign) with their values.

The installer itself has several predefined variables, some of them are optional, but others are required. See the table below.

Name Type Purpose
Installation attributes specified by you
$COMPANY string Company name.
$PRODUCT string Product name. It will appear in all realated texts of wizard pages.
$REGKEY string The name of basic registry key under which all local and global variables will be saved.
$FOLDER string Name of folder to which to install the program by default. Only name without path.
Resource files specified by you
$LICENSE file nameSpesifies the file with license text to be used. If this variable is not set, then the license page will not appear at all.
$LOGO file name GIF file which must be used as the logo image. The logo image shown at left side of the first and last pages.
$HEADERfile name GIF file which must be used as the header image. The header image shown at the top of some pages.
Installation variables set by installer
$PATH string The path where installation is made.
$DATE string The date when installation is made.
$TIME string The time when installation is made.

Examples

Here is an example of a package creation batch file. When run, it launches the quinst.exe, and passes to it the name of the batch file itself, plus additional parameters, which specify destination path, source path, and force the compiler to show a message box on any error during compilation.

@quinst.exe -PACK:"%0" -SOURCE=. -OUT=c:\setup.exe
@exit

#pack
	set $COMPANY = "www.my-site.com";
	set $PRODUCT = "My Program 1.1";
	set $REGKEY = "My Program";
	set $FOLDER = "SomeProgramFolder";	# Name of the default program folder
	set $LOGO = setup_logo.gif;	# Add your logo image  here
	set $HEADER = setup_header.gif;	# Add your header image here
	set $LICENSE = license.txt;	# Add your license here

# Define the files and links
	desk $PRODUCT, program.exe;	# Add program.exe to the desktop menu
	menu "Help", index.htm;		# Add index.htm to the main menu
	menu $PRODUCT, program.exe;	# Add program.exe to the main menu
	file program.exe;		# Add file program.exe to our package
	file lib1.dll;			# .. 
	file lib2.dll;			# ..
	file lib3.dll;
	file lib4.dll;
	file index.htm;
	file $LICENSE;
	temp program.log;	# Remove temporary file after deintstallation

All our products packed with Quinst.

Copyright (c) Sapunov Vladimir 2006. All rights reserved.
E-Mail: vladimir@fyzor.com