The master control file, CONTROL.SCR, specifies a FILELIST keyword which identifies the name of a file list control file that lists all the installable files in the installation package. The file list control file also contains the following:
The following is an example of a file list control file. (Ellipsis points indicate additional entries.) The first nonblank, noncomment record is a count of the number of files (or file name lines) in the file. For example, 145.
/***********************************************************************//* This file contains install information. Strings enclosed in C type */
/* comments like this line are comment lines. Blank lines are ignored. */
/* Non-blank lines will be parsed and extraneous characters will */
/* cause errors. First non-comment line must be the total number of */
/* files to be installed. */
/* */
/* Total number of entries is 145 */
/***********************************************************************/
145
/***********************************************************************/
/* All files on the install disks are listed below. Other information */
/* is also given, as follows: */
/* */
/* Disk# - The number of the disk on which the file resides. */
/* (Ignored if installing from CD-ROM). These are sorted */
/* from 0 to the number of disks, ascending. */
/* */
/* Group# - The logical group to which the file belongs. Group */
/* starts at 0. */
/* */
/* Dest# - The destination subdirectory into which the file will be */
/* copied. Dest# starts at 0. */
/* */
/* Source# - The source subdirectory from which the file will be */
/* copied. */
/* */
/* FileName - The base filename. */
/* sourcedir="\\" = 0 */
/* sourcedir="\\lib\\" = 1 */
/* sourcedir="\\h\\" = 2 */
/* sourcedir="\\clock\\" = 7 */
/* sourcedir="\\duet1\\" = 9 */
/* sourcedir="\\duet2\\" = 10 */
/* sourcedir="\\mcistrng\\" = 11 */
/* sourcedir="\\inc\\" = 13 */
/* sourcedir="\\book\\" = 16 */
/* sourcedir="\\cdmct\\" = 17 */
/* sourcedir="\\avcinst\\" = 18 */
/* sourcedir="\\caseconv\\" = 19 */
/* */
/* destindir="\\mmos2\\" = 0 */
/* destindir="\\mmos2\\mmtoolkt\\lib\\" = 1 */
/* destindir="\\mmos2\\mmtoolkt\\h\\" = 2 */
/* destindir="\\mmos2\\install\\" = 4 */
/* destindir="\\mmos2\\mmtoolkt\\samples\\clock\\" = 7 */
/* destindir="\\mmos2\\mmtoolkt\\samples\\duet1\\" = 9 */
/* destindir="\\mmos2\\mmtoolkt\\samples\\duet2\\" = 10 */
/* destindir="\\mmos2\\mmtoolkt\\samples\\mcistrng\\" = 11 */
/* destindir="\\mmos2\\mmtoolkt\\samples\\cf\\" = 12 */
/* destindir="\\mmos2\\mmtoolkt\\inc\\" = 13 */
/* destindir="\\mmos2\\dll\\" = 14 */
/* destindir="\\mmos2\\help\\" = 15 */
/* destindir="\\mmos2\\mmtoolkt\\samples\\book\\" = 16 */
/* destindir="\\mmos2\\mmtoolkt\\samples\\cdmct\\" = 17 */
/* destindir="\\mmos2\\mmtoolkt\\samples\\avcinst\\" = 18 */
/* destindir="\\mmos2\\mmtoolkt\\samples\\caseconv\\" = 19 */
/* */
/* groups */
/* - 2 = AVC I/O Procedure Installation Utility */
/* - 3 = MIDI IO Procedure */
/* - 4 = Case Converter I/O Procedure */
/* - 7 = Clock Utility */
/* - 9 = Duet Player I */
/* - 10 = Duet Player II */
/* - 11 = MCI String Test */
/* - 12 = Header Files, Include Files and Libraries */
/* - 13 = Program Reference */
/* - 14 = Workbook */
/* */
/* Disk# Group# Dest# Source# FileName */
/***********************************************************************/
/* mmtoolkt\samples\cf 9 14K */
0 0 12 0 "CONTROL.SCR"
0 0 12 0 "FILELIST.TLK"
0 0 12 0 "TLKCLOCK.SCR"
0 0 12 0 "TLKIOPU.SCR"
0 0 12 0 "TLKCONV.SCR"
.
.
.
0 0 4 0 "TLKCLOCK.SCR"
0 0 4 0 "TLKIOPU.SCR"
0 0 4 0 "TLKCONV.SCR"
0 0 4 0 "TLKSTRN.SCR"
.
.
.
0 10 12 0 "TOOLKIT.CH"
/* mmtoolkt\inc 10 83K */
0 12 13 13 "ACB.INC"
0 12 13 13 "AUDIO.INC"
0 12 13 13 "DCB.INC"
.
.
.
/* mmtoolkt\lib 11 50K */
0 12 1 1 "AUDCTL.LIB"
0 12 1 1 "DSPMGRDL.LIB"
0 12 1 1 "LVDP8000.LIB"
.
.
.
/* mmtoolkt\h 22 269K */
0 12 2 2 "ACB.H"
0 12 2 2 "AUDCTL.H"
0 12 2 2 "AUDIO.H"
.
.
.
/* mmtoolkt\samples\duet2 12 390k */
0 10 10 10 "duet2.c"
0 10 10 10 "duet2.h"
0 10 10 10 "duet2.rc"
.
.
.
/* mmtoolkt\samples\avcinst 9 102K */
0 2 18 18 "avcinst.dlg"
0 2 18 18 "avcinst.def"
0 2 18 18 "avcinst.ipf"
.
.
.
/* mmtoolkt\samples\caseconv 8 72K */
0 4 19 19 "convcvsr.c"
0 4 19 19 "convproc.rc"
0 4 19 19 "convconv.c"
.
.
.
/* mmtoolkt\samples\midiconv 2 44K */
1 8 15 0 "midiconv.hlp"
1 8 0 0 "midiconv.exe"
/* mmtoolkt\samples\mcistrng 14 194K */
1 11 11 11 "mcistrng.c"
1 11 11 11 "mcistrng.h"
1 11 11 11 "mcistrng.rc"
.
.
.
The following table describes the columns in the file list control file.
┌───────────────┬─────────────────────────────────────────────┐ │Column │Description │ ├───────────────┼─────────────────────────────────────────────┤ │Media# │Specifies the number of the media unit │ │ │(diskette or CD) where the file is stored. │ │ │The units are numbered starting from 0. This│ │ │number will be used for all installation │ │ │media except for the hard disk. The Media# │ │ │column must be sorted in ascending order. A │ │ │media unit does not have to be filled (there │ │ │can be unused space on any numbered unit). │ ├───────────────┼─────────────────────────────────────────────┤ │Group or │Specifies the group to which the file │ │subsystem# │belongs. The group number must be a positive│ │ │integer, with numbering starting at 0 (the │ │ │groups are defined in CONTROL.SCR by the │ │ │SSGROUP keyword). This number is used to │ │ │determine which files belong to a group │ │ │selected for installation. │ ├───────────────┼─────────────────────────────────────────────┤ │Destination# │Specifies the destination subdirectory where │ │ │the file will be copied. The encoding │ │ │mapping is defined in the CONTROL.SCR file by│ │ │the DESTINDIR keyword. This field must │ │ │always be a defined number (for example, 14 │ │ │for the \MMOS2\DLL path). │ │ │If you specify a DESTINDIR statement in the │ │ │master control file, you only have to specify│ │ │the corresponding group number (for example, │ │ │1). │ ├───────────────┼─────────────────────────────────────────────┤ │Source# │Specifies the path name of the source file. │ │ │The encoding mapping is defined in the │ │ │CONTROL.SCR file by the SOURCEDIR keyword. │ │ │This field must always be defined with a │ │ │number (for example, 1 for the \LIB path). │ ├───────────────┼─────────────────────────────────────────────┤ │File name │Specifies the source file name, which must be│ │ │in double quotes. For example, │ │ │"MINSTALL.EXE". │ └───────────────┴─────────────────────────────────────────────┘