home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CICA 1995 May
/
cica_0595_4.zip
/
cica_0595_4
/
UTIL
/
C_INST24
/
INSTALL.TXT
< prev
next >
Wrap
Text File
|
1994-10-25
|
29KB
|
745 lines
CHIEF'S GENERIC INSTALL for WINDOWS v2.40
-----------------------------------------
(c) 1994, Dr. Abimbola A. Olowofoyeku (The African Chief)
----------------------------------------------------------
Files in the package
--------------------
1. INSTALL.EXE (Windows install executable)
2. WINSTALL.HLP (basic help file for the installer)
3. SETUP.EXE (OPTIONAL small loader for INSTALL.EXE)
4. SAMPLExx.INF (sample INF files for WINSTALL.INF)
5. INSTALL.TXT (this file)
What is CHIEF'S GENERIC INSTALL?
--------------------------------
Chief's Generic Install (hereinafter referred to as "Install") is a
generic program for installation of Windows applications.
Install is an "off-the-shelf" installation suite. The program will
copy files from floppy disks (or a directory on a hard disk) to the
destination directory. If the files are compressed with Microsoft's
COMPRESS.EXE they will be decompressed automatically.In this respect
Install uses the routines in LZEXPAND.DLL. If the files are not
compressed, they will simply be copied.
-----
NOTE:
-----
The main executable is INSTALL.EXE - and that is all that needs to
be run. I have supplied SETUP.EXE as an optional loader. All it does
is to;
[a] display a "initializing install ..." message
[b] copy the necessary Install files (INSTALL.EXE, WINSTALL.INF,
WINSTALL.HLP) to the TEMP directory.
For these purposes, these 3 files may be compressed on the
install disks - but they must retain their real names (as
above) - except INSTALL.EXE, which if compressed with the -r
option, can be called "INSTALL.EX_" (the original name will
be restored by SETUP.EXE)
[c] load the copy of INSTALL.EXE from the TEMP directory, with the
parameters necessary for it to work properly if run in this
way
Is this useful? "Not really" is the answer. It may help to speed up
loading if the user is using a slow floppy disk (or if INSTALL.EXE gets
bigger than it is now) - but at the moment, it does not really speed up
things. It may help in cases where there are many floppy disks, and
system memory is low (in case Windows needs to read some parts of
INSTALL.EXE again from disk). This will rarely (if ever) occur -
because the code segment in INSTALL.EXE is PERMANENT (not discardable).
So - SETUP.EXE is here only for future purposes - and for people who
prefer to type "A:SETUP" instead of "A:INSTALL".
---------------------
---------------------
Using Chief's Install
---------------------
---------------------
I have tried to make Install as easy to use as possible. You only
need to take the following steps;
1. Create your installation disk set by placing your application's
files on them (up to 20 installation disks are supported).
2. You may or may not compress the files with COMPRESS.EXE (it is
immaterial whether you do so or not). If files are compressed
and an underscore is used in the compressed file names, these
names will only be converted to the original file names if
they were compressed with the -r option.
3. Create an installation information file in ASCII format, using a
text editor. The file should be called WINSTALL.INF, and should be
in the format described below.
4. Run the Install program.
That's it folks!
Restrictions/Features
---------------------
1. You can only install into any combination of the following;
(a) ONE destination directory, and up to 20 subdirectories
under it
(b) the Windows directory
(c) the Windows SYSTEM directory
(d) the TEMP directory
2. Only a maximum of 20 installation disks are supported. Install will
prompt for the disks as they are required.
3. Install will optionally offer to put the destination directory
into the "PATH" statement in AUTOEXEC.BAT
4. Install will optionally create a Program Manager group file, and
icons for any supplied file(s) - .EXEs, README files, etc.
5. Install will optionally run any supplied program(s) during the
installation, as part of the installation process.
6. Install will optionally run any supplied program(s) immediately after
the installation is complete
7. The stipulated format of the WINSTALL.INF file must be followed
strictly.
8. Install allows you to supply on-line for the installation.
You have to create a Windows help file called WINSTALL.HLP. This
help file can be accessed by clicking on the "HELP" button. A simple
one is supplied. You can either use that, or create your own.
If no WINSTALL.HLP file is found in the path, then the "HELP"
button is removed from the Install window.
9. Install will check whether there is sufficient space on the target
drive - based on information which you supply as to how much disk
space your application requires.
If you need extra temporary disk space for the installation, Install
can check for this also.
10. Install will make entries in any INI (or other) file(s) specified
by you. Up to 20 entries can be made. Do NOT use this feature to
insert an entry which may already exist - the old entry will be
deleted and replaced by the new one (e.g., do NOT use it for
"DEVICE=" lines in SYSTEM.INI
The format of WINSTALL.INF
--------------------------
WINSTALL.INF is the configuration file for the installation. You need
to follow the instructions on this file carefully, otherwise, Install
will not work correctly. The best thing is to edit the sample files
which I have provided. They contain sufficient comments for you to
understand them. WINSTALL.INF is a standard ASCII file, in the
following format;
1. Any line beginning with a ";", or "[" or "REM" is ignored
2. Empty lines are ignored
e.g., these lines will be ignored
[This line will be ignored]
; So will this line
REM so will the one just above me, and me as well!
3. Each line must not contain more than 220 characters
4. There are RESERVED WORDS for each valid entry - as follows;
--------------
$TITLE : your program's title
$TARGET : the default target directory
$SPACE : the amount disk space needed for the install
$SWAP-SPACE : any temporary swap space needed for the install
$DISK : 1-20 = the installation disks and their contents
$DEST : points to the target directory chosen by the user
$WINDIR : points to the Windows directory
$SYSDIR : points to the Windows SYSTEM directory
$TEMPDIR : points to the TEMP directory
$INI : text file(s) to write entries into
$GROUP : title of the Program Manager group
$ICON : file(s) to create Program Manager icons for
$PRE-EXEC : program(s) to run DURING the installation
$EXEC : program(s) to run AFTER the installation
$CLEANUP : file(s) to be deleted AFTER the installation
$WINDOW : whether INSTALL should start MAXIMIZEd or not
$WINDOW-BACKGROUND : to change the background color of the window
$TEXT-BACKGROUND : to change the background color of the text
$SETCHECKBOX : to automatically set the checkbox for creation
of Program Manager group
$NO-END-DIALOG : to disable the final "installation completed" dialog.
$NO-PATH-DIALOG: to disable dialog to update AUTOEXEC.BAT
RESERVED WORD
*************
$DISK
-----
You use this reserved word to specify the disk(s) in the installation
set, and the file(s) which should be copied from them. Each file name
or file specification should be separated from the next one by a
semi-colon.
You can use the wildcard character "*" in this regard. The format for
specifying the disk(s) is this;
$DISK n = <filenames(s)>
where:
n = numbers from 1 to 20
<filename(s)> = the file specifications
the easiest thing to do would be to just specify "*.*" - to
copy all the files - but you can be more specific
EXAMPLES:
$DISK 1 = *.*
$DISK 2 = *.DLL;*.HLP;*.DRV;WS*.*;EXPAND.EXE;COMPRESS.EXE;README.TXT
$DISK 3 = HELP.DOC;*.FFF
* If you specify a file that does not exist on the disk, it will just
be ignored.
* A maximum of 30 file specifications is allowed on each "$disk" line -
but note that each line cannot be longer than 220 characters in total.
* Compressed files with underscores in the filename will have the
filenames expanded into the name of the original files only if
the original files were compressed with the -r option
* NOTE: *
---------
* It is advisable (but not necessary) to use underscores in compressed
file names. This is only for the (cosmetic) purpose of enabling Install
to differentiate between compressed and uncompressed files when
displaying date and size of existing files concerning which the user
is being prompted for over-write permission.
If a compressed file can be identified in this way, Install will not
display the size of the compressed file in such cases, since it might
confuse the user. If the compressed file name is the same as that of
the original file, then Install cannot make this type of distinction.
RESERVED WORD
*************
$TITLE
------
This us used to specify the name or title of your application. This is
what will appear in the title of the installation program's window -
You can have only ONE such line.
- e.g.;
$TITLE=Great Program v1.20
RESERVED WORD
*************
$SPACE
------
Use this to specify the amount of disk space needed for the installation.
The amount should be in BYTES and should only contain whole numbers (no
spaces, no letters, and no decimals).
This information is used by Install to warn the users of the amount
of space that they need to have free on their disks, and to show the
progress of the installation in the "percentage meter". Install will
check to see that the specified amount of space exists on the
target drive before installation begins. If there is insufficient
space, Install will abort with an error message.
There is no need for the number to correspond exactly with the actual
required number of bytes - a difference of up to 2% of the size of
your application (plus or minus) is allowed, and such differences will
be catered for automatically. In fact, it is always good to add about
1% to the actual disk space needed - because of the vagaries of disk
cluster sizes, it may be wise to over-estimate the disk space needed
(a little bit of trial and error is in order here).
You can have only ONE such line.
e.g.,
$SPACE=2002003
$SWAP-SPACE
-----------
Use this to specify the amount of any temporary swap disk space
needed for the installation. The amount should be in BYTES and
should only contain whole numbers (no spaces, no letters, and
no decimals).
This information is used by Install to warn the users of the amount
of space that they need to have free on their disks - bit it does not
show in the "percentage meter".
You can have only ONE such line.
e.g.,
$SWAP-SPACE=0
RESERVED WORD
*************
$TARGET
-------
This is used to specify the name of the DEFAULT target directory for the
installation. The user will be able to change this at run time.
- e.g.,
$TARGET=C:\MYPROGRAM
If the target directory does not exist Install will create it - but
note that it will not create directories recursively.
You can have only ONE such line.
Other Directories
-----------------
By default, ALL the files will be installed into whatever is the target
directory chosen by the user. You can however specify that certain files
should be installed into subdirectories UNDER THE TARGET DIRECTORY TREE,
or into the WINDOWS DIRECTORY, or into the WINDOWS SYSTEM DIRETORY, or
into the TEMP DIRECTORY.
To use this, you use the $DEST, $WINDIR, $SYSDIR, $TEMPDIR reserved words.
RESERVED WORD
*************
$DEST
-----
[i] Where ever this appears at the beginning of a line, the following take place;
(a) "$DEST" is replaced with the target directory selected by the
user. For example, entry of "$DEST\BIN=PROG.EXE", if the user
installed to "C:\NEWPROG", becomes "C:\NEWPROG\BIN=PROG.EXE"
(b) anything after the "=" sign is taken as the file(s) to be installed into
that directory (instead of into the target directory). There can be up to
14 file names, each separated by a semi-colon (NO wildcards are allowed
here!).
The sub directories will be created when necessary - but note that the order in which
they are specified may be important - if there are deep levels of nesting, the ones
higher up the tree must be specified first.
You can have up to 20 such lines.
[ii] Where ever this appears elsewhere in a line, the "$DEST" is replaced with
the target directory selected by the user. This use of the $DEST reserved
word is only useful in the "$ICON", "$INI", and "$EXEC" lines.
RESERVED WORD
*************
$WINDIR
-------
[i] Whenever this appears at the beginning of a line, the files on that line are
installed to the Windows directory (instead of the target directory).
There can be up to 14 file names, each separated by a semi-colon (no wildcards
are allowed here).
You can have only ONE such line.
[ii] Where ever this appears elsewhere in a line, the "$WINDIR" is replaced with
the Windows directory. This use of the $WINDIR reserved word is only useful in
the "$ICON", "$INI", and "$EXEC" lines.
RESERVED WORD
*************
$SYSDIR
-------
[i] Whenever this appears at the beginning of a line, the files on that line are
installed to the Windows SYSTEM directory (instead of the target directory).
There can be up to 14 file names, each separated by a semi-colon (no wildcards
are allowed here).
You can have only ONE such line.
[ii] Where ever this appears elsewhere in a line, the "$SYSDIR" is replaced with
the Windows SYSTEM directory. This use of the $SYSDIR reserved word is only
useful in the "$ICON", and "$EXEC" lines.
RESERVED WORD
*************
$TEMPDIR
--------
[i] Whenever this appears at the beginning of a line, the files on that line are
installed to the TEMP directory (instead of the target directory).
There can be up to 14 file names, each separated by a semi-colon (no wildcards
are allowed here).
You can have only ONE such line.
[ii] Where ever this appears elsewhere in a line, the "$TEMPDIR" is replaced with
the TEMP directory. This use of the $TEMPDIR reserved word is only useful in
the "$INI", and "$EXEC" lines.
RESERVED WORD
*************
$INI
----
This is used to specify any ASCII files that configuration information
should be written into. Normally, these will be INI files of some sort,
but they can be any file, as long as it is in ASCII format.
You have have up to 20 "$INI" lines - and each line MUST be in the format
prescribed below;
* each line must contain 4 entries - each separated with a semi-colon
[a] the first entry is the NAME of the file to be written to - a full
path must be supplied - otherwise, the file is presumed to be in
the WINDOWS directory. You can use "$DEST" here, to specify files
in the directory tree of the target directory.
If the file does not exist, it is created.
[b] the second entry is the title of the section ("Application name"
in Windows API speak) that should contain the entry.
[c] the third entry is the name of the entry you wish to make ("Keyname"
in Windows API speak)
[d] the fourth entry is the string that you wish to associate with the
entry.
- e.g.,
$INI=C:\AUTOEXEC.BAT;MYPROG;SET PROGDIR;$DEST
$INI=$DEST\MYPROG.INI;CONFIG;STARTUP;PROG.EXE /FE=XDS.XCL
$INI=WIN.INI;EXTENSIONS;GFD;$DEST\BIN\GFD2.EXE ^.GFD
RESERVED WORD
*************
$GROUP
------
This is used to specify the name of the Program Manager Group
in which the icons will be created. This can be the name of an
existing group (e.g., "Accessories", "Main", etc.) in which case,
the items will just be added to the ones already in that group.
However, you may specify a completely new group. If this does not
exist, it will be created (e.g., "MyProgram").
You can have only ONE such line.
RESERVED WORD
*************
$ICON
-----
This is used to specify the names of the files for which you want
Program Manager icons to be created. There can be a maximum of 12 icons.
Each $ICON line should contain only ONE entry. This is the name of the
file to create an icon for (this could be a program file plus a
parameter or any other file). This should be followed by a semi-colon,
and after the semi-colon, the title that Program Manager should give to
the icon.
Each name should be separated by a semi-colon. You can put them all
one one "$ICON" line - or you can have up to 12 "$ICON" lines.
e.g.,
$ICON=MYMAIN.EXE;Cool Prog v1.20
$ICON=WINHELP.EXE MYPROG.HLP;My help file
$ICON=NOTEPAD.EXE ORDER.FRM;Order Form
$ICON=NOTEPAD.EXE REGISTER.TXT;Registration documentation
$ICON=NOTEPAD.EXE README.TXT;Readme file
RESERVED WORD
*************
$EXEC
-----
This line is optional. It specifies the name(s) of any program(s) that
should be run immediately after the installation is completed (with any
optional parameters to be passed to the programs). You can have only ONE
such line.
- e..g.,
$EXEC=CONFIG.EXE
You can put as many as 5 programs on this line. In such cases, each
one must be terminated by a semi-colon
- e.g.,
$EXEC=CONFIG.EXE /DIR=C:\TEMP; MYPROG1.EXE; MYPROG2.EXE /NEW
In the above example, there are 3 programs to be run. The first
and the third are run with parameters, while the second one has no
parameter.
$PRE-EXEC
---------
This line is optional. It specifies the name(s) of any program(s) that
should be run during the installation, as part of the installation
process. These programs will be run immediately after the files have
been copied from the disks. Install will try to wait for these programs
to terminate, before continuing. Such attempted waiting will work for
Windows programs, but will fail if used to run DOS programs under OS/2.
- e..g.,
$PRE-EXEC=EXPAND.EXE $DEST\REE.BIN
$CLEANUP
-------
This is optional. It specifies the name(s) of any temporary files(s)
that should be deleted after the installation. Such deletions (if any)
will be done immediately after any $PRE-EXEC lines have executed
and returned. If there is no $PRE-EXEC line, then the deletions will
be done after the $INI lines have been processed. If there are no
$INI lines, then the deletions will be immediatelt after the $DISK
lines have been processed.
If the specified files do not exist, they are simply ignored.
There can be up to 20 $CLEANUP lines. Each line should contain only
ONE entry. The only other reserved words permissible on these lines
are $DEST and $TEMPDIR. I will *never* add $WINDIR or $SYSDIR to this
list, because I can see no reason why one would want to delete files
from people's Windows or SYSTEM directories.
Use this reserved word with care. I accept no responsibility for any
problems caused by using it.
- e..g.,
$CLEANUP=$TEMPDIR\4EDE6.$$$
$CLEANUP=$TEMPDIR\54DE6.$$$
$CLEANUP=$DEST\TEMPFIL.INI
The $TEMPDIR can be used here with the Install program files in cases
where you choose to use SETUP.EXE as a loader - e.g.,
$CLEANUP=$TEMPDIR\INSTALL.EXE
$CLEANUP=$TEMPDIR\WINSTALL.INF
$CLEANUP=$TEMPDIR\WINSTALL.HLP
This way, Install can cleanup the files which have been copied by
SETUP.EXE to the TEMP directory.
RESERVED WORD
*************
$WINDOW
-------
This line is optional. It should specify whether you want Install to
start up maximized or not. If the entry here is "MAXIMIZE" then Install
will start maximized - otherwise it will just start normally.
You can have only ONE such line.
RESERVED WORD
*************
$NO-END-DIALOG
--------------
This line is optional, and is not very useful. All it does is to
suppress the final dialogs which inform the user about whether the
installation was successful or not, and that the installation is
completed. The default behaviour of Install is to present these
dialogs to the user. Use this reserved word to disable that feature.
If this feature is used, the warning dialog that comes up if the size
of the files actually installed is less than 98% of the size stated in
the $SPACE reserved word is also disabled.
This line takes no parameter.
RESERVED WORD
*************
$NO-PATH-DIALOG
---------------
This line is optional. It disables the dialog box which asks the
user whether the target directory should be added to the PATH
statement in AUTOEXEC.BAT. The default behaviour is to present this
dialog. Use this reserved word to disable that feature.
This line takes no parameter.
RESERVED WORD
*************
$SETCHECKBOX
------------
This line is optional. It automatically checks the checkbox titled
"click here to create Program Manager item".
This line takes no parameter.
RESERVED WORD
*************
$WINDOW-BACKGROUND
------------------
This line is optional. It can be used to set the background color
of the main window of the Installer. The default is to have a white
background. Because the background is a Windows brush handle, the
only valid values for this setting are 0,1,2,3, or 4
0 = White
1 = Light Grey
2 = Grey
3 = Dark Grey
4 = Black
If you use this to change the window background, be sure to also set
the $TEXT-BACKGROUND (below) to an appropriate setting. For example,
if this setting is 1 (light grey) then the text background should be
set to 192,192,192 (so that the window and text backgrounds should
match).
e.g.,
$WINDOW-BACKGROUND=1
$TEXT-BACKGROUND=192,192,192
$WINDOW-BACKGROUND=2
$TEXT-BACKGROUND=128,128,128
RESERVED WORD
*************
$TEXT-BACKGROUND
----------------
This line is optional. It can be used to set the background color
of the text in the main window of the Installer. The default is to
have a white background.
The color used here can either be;
[a] one long integer value (you can use hexadecimal values in
Pascal notation) - see below for explanation
or
[b] three values represent RGB (red, green, blue) values.
If using RGB values, they should be separated by commas, or
semi-colons (e.g: 128,128,128 - for a dark gray background)
If using a hexadecimal value (those that begin with $00 and then
are followed by SIX values). The SIX values here represent
Blue, Green, Red - or reversed RGB. In this respect, "FF" turns the
color to full intensity, "00" turns it off, and any other value
varies the intensity.
Note that the color that results from any value depends on the
display driver of the user (particularly the number of colors).
For a 256 color setup, you can use the following values;
White : $00FFFFFF
White : 255,255,255
Black : $00000000
Black : 0,0,0
DarkGray : $00808080
DarkGray : 128,128,128
Red : $000000FF
Red : $255,0,0
Blue : $00FF0000
Blue : 0,0,255
DarkRed : 128,0,0
DarkRed : $00000080
DarkPurple : 128,128,240
DarkBlue : 0,0,150
Purple : 200,0,200
Light Cyan : $00FFFF00
Green : $0000FF00
Yellow : $0000FFFF
Magena : $00FF00FF
LighGray : $006F9FFF
Gray : $006688FF
e.g.,
$TEXT-BACKGROUND=128,128,128
$TEXT-BACKGROUND=$00FFFFFF
//////////////////////////////////////////////
LICENSE
-------
Chief's Install is released as "ChiefWare". This means that you may use
and supply it as the installation routine for any of your applications,
as long as;
[1] You offer me, by e-mail, a (registered) copy of your application,
and, if I am interested in it, you send me a free copy. This point
only applies to shareware and freeware applications
OR, if your application is a commercial one,
You send me a nice and unique postcard from your area
[2] My name does NOT appear ANYWHERE in your application's
documentation - I am not interested in answering any questions
from any of your customers.
You may also distribute it freely - as long as;
[1] ALL the files which I have supplied are included, and
[2] NO ATTEMPT is made to modify or alter ANYTHING in any of the files.
[3] You do not charge ANYTHING for distributing this package (disk
vendors may charge a reasonable fee, not exceeding $5 (US) for
media and duplication).
Please note the disclaimers below.
DISCLAIMER
----------
I do NOT warantee ANYTHING concerning any of the programs which
make up Chief's Install. I accept NO RESPONSIBILITY for ANY LOSS
OR DAMAGE of ANY kind, including, but not limited to, losses of a
physical, mental, social, financial, marital, or of whatever nature,
resulting from the use, or the purported use of Chief's Install,
for any purpose whatsoever. You use Chief's Install ENTIRELY AT YOUR
OWN RISK, and you supply it to your customers or acquaintances
ENTIRELY AT YOUR OWN RISK.
If these terms are not acceptable to you, then please DELETE all
the files from your disks immediately.
BUGS
----
There may be bugs in the program, although I do not know of any extant.
I welcome bug reports. I will try to fix them if I can. If I can not
fix them, then sorry.
Contact address:
----------------
Dr. Abimbola Olowofoyeku
268 Horwood
Newcastle
Staffs, ST5 5BQ
ENGLAND
Email: laa12@keele.ac.uk
------------------
Dr. A. Olowofoyeku
October 1994
------------------