home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD2.bin
/
bbs
/
util
/
installer-1.26.lha
/
Installer
/
Installer.lha
/
Installer1.24
/
Installer.doc
< prev
next >
Wrap
Text File
|
1993-03-26
|
64KB
|
1,851 lines
Installer.doc
Documentation for 1.24 Installer
Last Revised: January 12th, 1993
(C) Copyright 1991-93 Commodore-Amiga,Inc. All Rights Resrved
Contents:
1 Background
2 Overview
2.1 Standard Invocation
2.2 Initial Actions
2.3 Startup Screens
2.4 Installation Actions
3 Scripting Language Tutorial
3.1 Basic Elements
3.2 Escape Characters
3.3 Symbols (Variables)
3.4 Types of Symbols
3.5 Statements
3.6 Data Types
3.7 Special Features
3.8 Miscellaneous
4 Installer Language Reference
4.1 Notes
4.2 Statements
4.3 Control Statements
4.4 Debugging Statements
4.5 User-Defined Procedures
4.6 Functions
4.7 Summary of Parameters
4.8 Pre-Defined Variables
5 Installer Language Quick Reference
5.1 Overview
5.2 Quick Language Overview
5.3 Pre-Defined Variables
5.4 Default Help String Variables
5.5 Statements
5.6 Functions
Section 1: Background
Installation of applications from floppy disks onto a hard disk has proven to be
a very inconsistent and often frustrating endeavor for most end-users. This has
been caused by many factors, some of which are:
a. Many products do not come with any utility or script to install an
application on a hard disk.
b. Many products assume a great deal of familiarity with the startup process
of the Amiga and applications, including assigns, device names (as
opposed to volume names), etc.
c. The installation scripts or utilities included with some products vary
widely in their ability to deal with different environments and systems.
About a year ago, Commodore set out to remedy this situation, by developing a
standard tool that developers can include with their products, which provides
the user with a standard way to install applications. The Installer's features
were based on a number of assumptions:
a. Installation requirements vary widely---some need assigns, some need new
drawers created, some install pieces in system drawers such as a fonts
drawer, a `product' might be just an upgrade and the installation must
check to see which version (if any) they currently have installed, etc.
b. Different users have different levels of comfort and expertise when
attempting to install software, and the Installer should be able to
accommodate a range of users. Many installation scripts assume a great
deal of knowledge, which is very intimidating for a novice.
c. The installer tool must be very flexible internally, but present a
consistent pleasant graphical user interface to the user that only shows
the user information or prompts that they need to see. The Installer
should be resolution, color and font sensitive.
d. Writing scripts to install an application will require some effort, but
certainly no more than writing an AmigaDOS shell script equivalent, and
the resulting installation procedure will be more friendly, flexible, and
much better looking than the latter.
e. Not everyone will be running 2.0 by the time the tool becomes available,
so it must run under 1.3 and 2.0.
Section 2: Overview
The Installer is a script driven program, that presents a consistent
installation environment to the end user. The user never sees the script.
Instead they are presented with simple yes/no choices, and may be asked to
specify locations to put things on their system.
To accommodate different user levels, they can choose to run the tool in novice,
average or expert modes. Scripts can include help text to explain any choices
that the user must make. At each step the user is given the option of aborting
the installation.
2.1 Standard Invocation
The Installer program requires a 10000 byte stack. Project icons for Installer
script should indicate a stack size of 10000. If starting Installer from a CLI,
first do a "Stack 10000".
The Installer is normally started up from a Workbench Project icon which has the
same name as the script to interpret and has a default tool of Installer.
A number of tooltypes are available to modify the operation of the Installer:
SCRIPT - Path to a script file to be used with Installer.
APPNAME - Name of the application being installed (appears in the startup
screen). This MUST be given.
MINUSER - The minimum possible operation mode of the installation for a
script. This will be either NOVICE (all decisions made by
Installer), AVERAGE (only important decisions made by user) or
EXPERT (user confirms almost all actions). The Default is NOVICE.
DEFUSER - Indicates which operation mode button should be initially
selected. Same values as MINUSER, with the value of the MINUSER
tooltype being the default (which will be NOVICE if MINUSER not
defined).
NOPRINT - If set to FALSE, then the printer option in the log file settings
will be ghosted.
PRETEND - If set to FALSE, indicates that PRETEND mode not available for
this script.
LANGUAGE - Used to set the variable @language (default for @language is
"english". The use of this variable is left up to the install
script.
LOGFILE - The name of the log file that the Installer should use. This must
be a full path. The default is "install_log_file".
LOG - In NOVICE mode the default is to create a log file (to disk). If this
tooltype is set to FALSE, the creation of a log file in NOVICE mode is
disabled.
Although the installer can be started up from the CLI, that is not the
recommended mode. CLI invocation is provided mainly for script debugging
purposes. The command template is:
SCRIPT/k,APPNAME,MINUSER,DEFUSER,LOGFILE,NOLOG/s,NOPRETEND/s,
NOPRINT/s,LANGUAGE/k
2.2 Initial Actions
The first thing the installer does is compile the installation script into an
internal format that can be easily interpreted. If there are syntax errors in
the script, they will be caught during this phase.
2.3 Startup Screens
Next, the Installer asks the user what Installation Mode to run in, either
NOVICE, AVERAGE or EXPERT. If the user chooses NOVICE, they will not be asked
any more questions (although they may be requested to do things). In the other
user levels, a second display appears asking the user if he wants to install
"for real" or "do a dry run", and if he wants a transcription of the
installation process written to either a file or printer.
2.4 Installation Actions
Now the Installer interprets its internal version of the script. Any commands
that call for a user interface will cause the Installer to algorithmically
generate a display, always including buttons to allow for context sensitive help
and aborting the installation.
Section 3: Scripting Language Tutorial
The script language of the Installer is based on LISP. It is not difficult to
learn, but requires a lot of parentheses. An Installer script can easily be
made to look very readable.
3.1 Basic Elements
The basic elements of the installer language are:
Type Example
---- -------
decimal integers 5
hexadecimal integers $a000
binary integers %0010010
strings "Hello" or 'Hello'
symbols x
comments ; this is a comment
( ) for statement definition
space delimits symbols
(or any white space)
3.2 Escape Characters
Escape characters are supported as in the C language:
Escape
sequence Produces
-------- --------
'\n' newline character
'\r' return character
'\t' tab character
'\0' a NUL character
'\"' a double-quote
'\\' a backslash
3.3 Symbols (Variables)
A symbol is any seq