Contents

Disclaimer - Agreement - Registration

Overview

Operation

Programming

[control]

[components]

[directories]

[<component name>]

[text]

[groups]

[run]

Message Boxes


Disclaimer
Disclaimer - Agreement - Registration

SLS-SETUP(TM)

Copyright (c) 1993,1994 by Stephen Sama

All rights reserved

Any user of the SLS-SETUP program must accept this disclaimer of warranty :

THIS SOFTWARE AND MANUAL ARE SOLD "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED.  BECAUSEOF THE VARIOUS HARDWARE AND SOFTWARE ENVIRONMENTS INTO WHICH THIS PROGRAM MAY BE PUT, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.  GOOD DATA PROCESSING PROCEDURE DICTATES THAT ANY PROGRAM BE THOROUGHLY TESTED WITH NON-CRITICAL DATA BEFORE RELYING ON IT. IF YOU USE SLS-SETUP, YOU ASSUME EXCLUSIVE RESPONSIBILITY AND LIABILITY FOR ANY LOSS OR DAMAGE DIRECTLY OR INDIRECTLY ARISING OUT OF THE USE OF THE PROGRAM. THE SELLER ASSUMES NO LIABILITY FOR ANY DAMAGES, INDIRECT, CONSEQUENTIAL, OR INCIDENTAL WHICH MAY RESULT FROM THE USE OF SLS-SETUP.  THE USER MUST ASSUME THE ENTIRE RISK OF USING THE PROGRAM. ANY LIABILITY OF THE SELLER WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF PURCHASE PRICE.

SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR

CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT

APPLY TO YOU. THE DISCLAIMER/AGREEMENT SHALL BE CONSTRUED, INTERPRETED AND GOVERNED BY THE LAWS OF THE STATE OF NEW YORK.

SLS-SETUP is a "SHAREWARE program" and is provided at no charge to the user for evaluation. Feel free to share it with your friends, but please do not give it away altered or as part of another system.  The essence of "user-supported" software is to provide personal computer users with quality software without high prices, and, at the same time, provide incentive for programmers to continue to develop new products.

Any user of the SLS-SETUP program must register and pay for their copy within 30 days of first use, or their license will be withdrawn.

The $25 registration fee will license you, the user, to one copy of all distribution files, for use for product development purposes only, on any one computer at any one time.  You must treat this software just like a book.  For example, this software may be used by any number of people, under your license, and may be freely moved from one computer location to another, so long as there is no possibility of it being used at one location while it's being used at another.  This would be similar to how a book cannot be read by more than one person at the same time.

The licensed user may distribute the SLSSETUP.EXE program alone (under any name) to anyone, in any quantity, for use as the installation program for a software product owned and distributed by the licensed user.

Anyone distributing the SLS-SETUP program for any kind of remuneration should follow my distribution policy (see file VENDOR.DOC).

You are encouraged to pass a copy of the SLS-SETUP program along to your friends for evaluation. Please encourage them to register their copy if they find out that they can use it.

Submit your $25.00 registration fee to :

Stephen Sama

4006 Berrywood Drive

Seaford, New York  11783

Compuserve : 73313,2540


Overview

The SLS-SETUP windows installation/setup system provides a quick way to prepare an installation disk for royalty-free distribution with your windows product. A simple visually appealing interface is presented to the user which can be heavily customized to individual preference. Windows 3.1 is required.

This windows program installation package is complete. There are no "trick" screens and the program resources (dialog box templates, icons, etc.) are not hidden in special binary files. Any windows resource editor, as comes with most windows code development packages, can be used to customize these resources. All program resources are contained in the install program ".EXE" file which has a distribution copy name of SLSSETUP.EXE.

The install program is configured entirely by the contents of a single text file. This file must have an ".INI" name extension. The first part of the file name must be the same as that of the installation program itself (which can have any name). If the install program is named SETUP.EXE then the configuration text file must be SETUP.INI.

If the command line to run the install program has a parameter of "/L" a logging file will be created. This text file will record a trace of activity during the installation process useful for debugging. The file will have the same name as the install program and the extension ".LOG". If the install program is named SETUP.EXE then the logging file will be SETUP.LOG.


Operation

As the install program starts up an optional blue "dithered" background is displayed. An optional overlaid logo contained in a standard ".BMP" file is also displayed.

A centered "main" dialog box presents the user with choices for the source (installation) disk drive containing the files to install and the target (destination) disk drive where the source drive files are copied to. The user has three buttons available, one to quit ("Exit"), one to proceed ("Install"), and one to customize the installation ("Options...").

The main dialog "Options..." button brings up an "options" dialog box. The user selects among named file groups (or "components") to install from a list box. Component sizes are also shown in the list box. Available target drive disk space and current required target drive disk space are shown at the bottom of the dialog box. By default, at first, all components are selected. The "Remove all" button allows for quick setup when most options are not to be selected. The "Select all" button resets to the default selection of every component. The "OK" button returns to the main dialog box with the current selections in effect. The "Cancel" button selects all components and then returns to the main dialog box.

The main dialog "Install" button brings up the "copying" dialog box. The installation proceeds by copying the various selected component file groups to the destination drive. Percentage completion is displayed in a horizontal "meter" control. The current file component, source file name and destination file name are also updated as files are copied. Message boxes may appear, if programmed, to ask for a new disk, abort some part of the installation, or to simply keep the user informed.


Programming

The install program configuration file is structured like the typical windows ".INI" file. It is subdivided into "sections" by section heading names enclosed in square brackets "[ ]". Most sections can recur at multiple points in the configuration file. Each section contains text lines of the form:

KeyName=Value1,Value2,...ValueN

Here KeyName is a "key name" string identifier and the items Value1, Value2,...ValueN are any number of "key parameter" strings separated by commas, as appropriate to a given key name. Almost all install program behavior is controlled by assigning appropriate key parameters to key names.

Remark statements can be placed anywhere in the configuration file by preceding them with a semi-colon character (";"). Blank lines are also permitted.

In this manual the descriptions of sections, key names and their parameters occur in the same order that the sections should have in the configuration file. The topic title for sections is the same as the proper section heading text line in a configuration file.

Character strings are indicated either by an identifying name enclosed in arrow brackets "< >", or by the actual string required. Optional parameters are enclosed in curly brackets "{ }".

Never use a drive specifier in any file name or any file path name. Disk drives are always selected by the user.


Control
[control]

This section is read as the install program starts up. It should be the first section in the configuration file. All entries are optional.

MainCaption=<main window caption>

The main window of the install program will have the title given by <main window caption>. The main window may or may not be visible depending on the "Screen=" settings ( see below).

InstallCaption=<main dialog caption>

The main install program dialog box will have the title given by <main dialog caption>.

OptionsCaption=<options dialog caption>

The install program options dialog box will have the title given by <options dialog caption>.

CopyingCaption=<copying dialog caption>

The install program file copying dialog box will have the title given by <copying dialog caption>.

Screen={NODITHER},{NOBITMAP},{NOBACKGROUND}

The install program paints a blue "dithered" background by default. Use the NODITHER parameter to disable this. The background area will then be white.

The install program also overlays the background with a bitmap taken from a file with the same name as the install program and the extension ".BMP". This should be an non-compressed windows bitmap file. Normally, the bitmap would display a logo. The logo lettering should be black on a white background. The install program will display the logo at the top of a dithered background screen as white letters with a black shadow. If NODITHER was used, the logo will be displayed without modification. The NOBITMAP parameter is used to disable bitmap display.

If NODITHER and NOBITMAP are used together, a captioned full-screen window will be displayed behind all dialog boxes. If, with NODITHER and NOBITMAP, the NOBACKGROUND parameter is used, all dialog boxes will appear over the desktop without a painted background and without a visible parent window.


Components
[components]

This section is read as the install program starts up. It should come right after the [control] section in the configuration file. It is used to identify separate "component" groups of files by size and by a component name. Each file group is considered an optional component of the file-copying part of the installation process. Every key string line entry is of the following form:

<number>=<size>,<component name>

The <number> key string is an integer number that should start at 1 and increment on each following line in the component section.

The <component name> parameter can be any appropriate name for the file group. The <component name> should not be the same as any of the pre-defined section names. The <component name> parameters will themselves be used as section names and will appear in the file copying dialog box list box.

The <size> parameter should be a number equal to the total size in bytes of the files in the component group.


Directory
[directories]

This section is used to create directories on the target disk.

MkDir=<directory name>

The directory named <directory name> is created, if it does not already exist. A trailing backslash must be included.


Component_Name
[<component name>]

This section (of which there may be many) contains the specification of a group of files to install. The <component name> section name must have been previously established by a parameter in the [components] section. Every key string line entry is of the following form:

<destination>=<source>

The <destination> parameter can be either a file directory name or a fully qualified file name. If <destination> is a directory name it must end with a backslash "\" character. The <source> parameter must be a fully qualified file name.

If <destination> is a file name, then <source> should also be a file name. These fully qualified file names will direct the install program to copy the <source> file from its directory on the installation disk to the <destination> directory and file name on the target disk.

If <destination> is a directory name, then the <source> may be a file name using the usual DOS wildcard characters "*" and/or "?". The install program will then copy the mask-specified set of files from the installation disk to the <destination> directory on the target disk.

Any number of key string lines may be contained in a [<component name>] section.

There must not be a drive specifier in <destination> or <source> (they are user selected).

Files compressed with the Microsoft COMPRESS.EXE utility (which uses an LZ compression algorithm) will be automatically uncompressed as they are copied to the destination drive.

A [<component name>] section should only be declared once in a configuration file.


Text
[text]

This section allows modification of text files on the target disk. Additions and deletions may be made to ".INI" files or to other text files like AUTOEXEC.BAT.

Add=<file name>,<text line>

Delete=<file name>,<text line>

These key strings add or delete, repectively, the <text line> line string from the text file named <file name>. The delete form is case-sensitive. A string will not be added to a file if it already exists in the file.

WriteMyINI=<section name>,{<key name>},{<values>},<file name>

This key string creates a standard windows ".INI" file format section named <section name> (if it does not already exist) in the file named <file name> on the target disk. A "<key name>=<values>" key line is added to the section. If <values> is omitted, the key line is deleted. If <key name> is omitted, the entire <section name> section is deleted.

WriteWININI=<section name>,{<key name>},{<values>}

This key string creates a standard ".INI" file format section named <section name> (if it does not already exist) in the current windows WIN.INI file on the target disk. A "<key name>=<values>" key line is added to the section. If <values> is omitted, the key line is deleted. If <key name> is omitted, the entire <section name> section is deleted.


Groups
[groups]

This section creates Program Manager groups and adds icons to groups.

AddGroup=<group name>

This key line creates a program group named <group name> if it does not already exist.

DeleteIcon=<group name>,<icon name>

This key line attempts to delete an icon named <icon name> from the program group named <group name>.

AddIcon=<group name>,<app name>,<icon name>,{<icon file>},{<icon index>}, <path name>

This key line adds a new icon named <icon name> to the <group name> program group. The <app name> parameter is the executable application file command line (including parameters, if any) to be run by the icon. The path to the executable is given by <path name>. The <icon file> is an optional fully qualified file name for the file containing the icon. By default this is otherwise taken from the <app name> file. The <icon index> integer is an optional displacement to the icon in its source file (starting from zero). If not used, the first icon is taken.


Run
[run]

This section allows external programs to be run. It normally would be at the end of the configuration file. The windows NOTEPAD.EXE program could be run to display a README file, or a custom installation program could be run from this section.

WinExec=<command line>,<display code>

This key line executes the DOS-like command line given by the <command line> parameter. Parameters to a program are also given in this parameter. The <display code> integer parameter determines how the program window will appear. For a 0 (zero), the program displays normally. For a 1 it is minimized (to an icon). For a 2 it is maximized.


Message_Boxes
Message Boxes

There are certain key lines that produce message boxes for user interaction. They are usable in most any section of the configuration file.

YesNoBox=<title>,<message>

This key line will cause a message box to display with the title <title> and the message given by <message>. The user must respond with the Yes and No buttons in the message box. An answer of "no" causes the current section to abort. No other lines in the current section will be processed. Remember that sections can be redeclared, so that a "section" can be divided into many optional ones that each begin with a YesNoBox key line.

OKBox=<title>,<message>

This key line will cause a message box to display with the title <title> and the message given by <message>. The user simply selects the OK button to resume installation. This is intended for simple reminder messages to the user.

DiskBox=<label>,<title>,<message>

This key line will cause a message box to display with the title <title> and the message given by <message>. It is intended that the user insert a new installation disk and select the OK button to resume installation. The DOS label on the installation disk must match <label>. If there is no match, the same message box appears, except that it will now have a Retry and Cancel button. Selecting Cancel will abort the installation. Use upper case characters for <label>.

AbortBox=<title>,<message>

This key line applies to the message box displayed if the Cancel button is pressed during the file copying part of an installation. The message box will display with the title <title> and the message given by <message>. The user simply selects the OK button and the installation program quits.