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". │ └───────────────┴─────────────────────────────────────────────┘