The subsystem definition section of the CONTROL.SCR file follows the header section and contains the definitions for each of the subsystems in the installation package. A block of information must be included for each feature.
Each block of information in the subsystem definition section contains the following information:
The following is an example of a CONTROL.SCR subsystem definition.
ssgroup =0ssname ="Toolkit_Base" ssversion="0.63.0" sssize =13 /* - 7 = clock */ ssgroup =7 ssname ="Clock Utility" ssversion="0.63.0" sssize =839 ssinich ="TLKCLOCK.SCR" /* - 8 = midiconv */ ssgroup =8 ssname ="MIDI File Format Converter" ssversion="0.63.0" sssize =170 ssinich ="TLKCONV.SCR" /* - 3 = midiio */ ssgroup =3 ssname ="MIDI IO Procedure" ssversion="0.63.0" sssize =475 /* - 11 = mcistrng */ ssgroup =11 ssname ="Media Control Interface String Test" ssversion="0.63.0" sssize =194 ssinich ="TLKSTRN.SCR" /* - 9 = duet1 */ ssgroup =9 ssname ="Duet Player I" ssversion="0.63.0" sssize =4854 ssinich ="TLKDUT1.SCR" /* - 10 = duet2 */ ssgroup =10 ssname ="Duet Player II" ssversion="0.63.0" sssize =816 ssinich ="TLKDUT2.SCR" /* - 12 = inc, lib, and h */ ssgroup =12 ssname ="Header Files, Include Files and Libraries" ssversion="0.63.0" sssize =384 ssconfigch="TOOLKIT.CH" /* - 13 = prog ref */ ssgroup =13 ssname ="Program Reference" ssversion="0.63.0" sssize =400 ssinich ="TLKBOOKR.SCR" /* - 14 = workbook */ ssgroup =14 ssname ="Workbook" ssversion="0.63.0" sssize =150 ssinich ="TLKBOOKW.SCR" /* - 2 = avcinst */ ssgroup =2 ssname ="AVC I/O Procedure Installation Utility" ssversion="0.63.0" sssize =102 ssinich ="TLKIOPU.SCR" /* - 4 = caseconv */ ssgroup =4 ssname ="Case Converter I/O Procedure" ssversion="0.63.0" sssize =82
The CONTROL.SCR subsystem definition consists of the keywords shown in the folloiwng table.
┌────────────────────┬────────────────────────────────────────┐ │Keyword │Description │ ├────────────────────┼────────────────────────────────────────┤ │SSGROUP │This required keyword specifies the │ │ │group. This marks the beginning of a │ │ │group and assigns it a number. Each │ │ │group must have a unique number from │ │ │0-49 within the package; however, the │ │ │same number can be used with different │ │ │installation packages. The groups are │ │ │displayed in the installation main │ │ │selection window in ascending order by │ │ │group number. For example: │ │ │SSGROUP = 5 │ ├────────────────────┼────────────────────────────────────────┤ │SSNAME │This required keyword specifies the │ │ │group name, as an ASCII string. This │ │ │keyword is case sensitive and takes the │ │ │form of a quoted string. The name may │ │ │include special characters and may be │ │ │translated. The name is displayed in │ │ │the main installation selection window. │ │ │For example: SSNAME = "CD Audio" │ ├────────────────────┼────────────────────────────────────────┤ │SSVERSION │This required keyword specifies the │ │ │version of the group in the form of a │ │ │quoted string. This string must be in │ │ │the format "dd.dd.dd" (where dd │ │ │represents digits). Any version not │ │ │specified in this format will be │ │ │converted to that format. All string │ │ │items that are not digits or periods │ │ │will be converted to zeros. Any periods │ │ │after the second period will be │ │ │converted to zeros. For example: │ │ │SSVERSION = "1.1.0" │ ├────────────────────┼────────────────────────────────────────┤ │SSSIZE │This required keyword specifies the │ │ │total size of all the files in the │ │ │group. The size denotes the number of │ │ │bytes in thousands (500 = 500KB). This │ │ │number is used to help determine if │ │ │there is enough disk space to support │ │ │the installation. If you do not know │ │ │the correct size of a group, overstate │ │ │its size. For example: │ │ │SSSIZE = 1024 │ ├────────────────────┼────────────────────────────────────────┤ │SSINICH │This optional keyword specifies the name│ │ │of the file that contains changes to an │ │ │INI file. If this statement is missing,│ │ │there are no changes to an INI file. │ │ │For example: │ │ │SSINICH = "ACPAINI.CH" │ ├────────────────────┼────────────────────────────────────────┤ │SSCONFIGCH │This optional keyword specifies the name│ │ │of the file that contains the changes to│ │ │the CONFIG.SYS file. If this statement │ │ │is missing, there are no changes to the │ │ │CONFIG.SYS file. For example: │ │ │SSCONFIGCH = "ACPACON.CH" │ ├────────────────────┼────────────────────────────────────────┤ │SSCOREQS │This optional keyword specifies a list │ │ │of corequisites needed for this group to│ │ │run. It specifies what other groups the│ │ │current group depends on. These other │ │ │groups must be installed for the current│ │ │group to function. (If this statement │ │ │is missing, there are no corequisites.) │ │ │The corequisite is identified by its │ │ │group number. Corequisite groups should │ │ │point to each other only if they require│ │ │each other. It is possible to have │ │ │group A list group B as a corequisite │ │ │and group B have no corequisites. If │ │ │the user selects a group with │ │ │corequisites, but does not select all │ │ │the corequisites, the user is notified │ │ │before the installation starts. This │ │ │entry can be repeated as necessary. For│ │ │example: │ │ │SSCOREQS = 1 │ ├────────────────────┼────────────────────────────────────────┤ │SSICON │This optional keyword names the icon │ │ │file for this group that is to be │ │ │displayed in the installation main │ │ │selection window. The icon file to be │ │ │displayed in the selection window must │ │ │reside on the first installation media │ │ │unit. If this statement is missing, a │ │ │default icon is used. For example: │ │ │SSICON = "ACPA.ICO" │ ├────────────────────┼────────────────────────────────────────┤ │SSDLL │This optional keyword names a DLL file │ │ │that is to be run during the │ │ │installation process. The DLL │ │ │referenced will be run after all files │ │ │are copied to the destination, but │ │ │before any script processing is │ │ │performed. If this keyword is present, │ │ │the SSDLLENTRY keyword must also be │ │ │present. For example: │ │ │SSDLL="MY.DLL" │ ├────────────────────┼────────────────────────────────────────┤ │SSDLLENTRY │This optional keyword specifies the name│ │ │of the entry point into SSDLL in the │ │ │form of a quoted string. If this │ │ │keyword is present, the SSDLL keyword │ │ │must also be present. For example: │ │ │SSDLLENTRY="MyEntry" │ ├────────────────────┼────────────────────────────────────────┤ │SSTERMDLL │This optional keyword names a DLL file │ │ │that is to be run during the │ │ │installation process. The DLL │ │ │referenced will be run after all files │ │ │are copied to the destination and after │ │ │all script processing is done. The │ │ │purpose of this keyword is to allow for │ │ │processing to occur on a fully │ │ │configured multimedia system. If this │ │ │keyword is present, the SSTERMDLLENTRY │ │ │keyword must also be present. For │ │ │example: │ │ │SSTERMDLL="MYTERM.DLL" │ ├────────────────────┼────────────────────────────────────────┤ │SSTERMDLLENTRY │This optional keyword specifies the name│ │ │of the entry point into SSTERMDLL in the│ │ │form of a quoted string. If this │ │ │keyword is present, the SSTERMDLL │ │ │keyword must also be present. For │ │ │example: │ │ │SSTERMDLLENTRY="MyTermEntry" │ ├────────────────────┼────────────────────────────────────────┤ │SSDLLINPUTPARMS │This optional keyword specifies │ │ │information needed by an installation │ │ │DLL in the form of a quoted string. │ │ │This information is passed as a │ │ │parameter to the installation DLL as │ │ │specified in the SSDLL or SSTERMDLL │ │ │keywords. For example: │ │ │SSDLLINPUTPARMS="5, FILE.NAM, 1.1.0" │ ├────────────────────┼────────────────────────────────────────┤ │SSSELECT │This optional keyword determines the │ │ │preselection of subsystems for │ │ │installation. Five values are │ │ │supported: │ │ │"ALWAYS" - This value specifies that the│ │ │group will always be installed. It is │ │ │the only valid value for group 0. │ │ │Groups with this value will not be │ │ │displayed in the installation main │ │ │selection window. │ │ │"REQUIRED" - This value specifies that │ │ │the group will be preselected for │ │ │installation. If the group had been │ │ │previously installed, it cannot be │ │ │unselected by the user if this │ │ │installation package is newer than the │ │ │installed version. If the group had not│ │ │been previously installed, it can be │ │ │unselected by the user. │ │ │"VERSION" - This value specifies that │ │ │the group will be preselected only if it│ │ │was previously installed and this │ │ │installation package is newer than the │ │ │installed version. However, it can be │ │ │unselected by the user. │ │ │"YES" - This value specifies that the │ │ │group will be preselected whether or not│ │ │it was previously installed. It can be │ │ │unselected by the user. This is the │ │ │default. │ │ │"NO" - This value specifies that the │ │ │group is never preselected but can be │ │ │selected by the user. │ │ │"BASENEWER" - This value specifies that │ │ │files belonging to this group will only │ │ │be copied if the user's machine has no │ │ │package installed or if the package │ │ │installed is older than the current │ │ │package. │ │ │"ONLYNEWER" - This value specifies that │ │ │a user will not be able to install an │ │ │older version of a package on top of a │ │ │newer version. Files belonging to this │ │ │group will only be copied if the user │ │ │has an older version (or the same │ │ │version) installed. If no version is │ │ │installed or if the version installed is│ │ │higher than the one in the package, no │ │ │files will be copied. │ └────────────────────┴────────────────────────────────────────┘
Observe the following guidelines when you create or change a CONTROL.SCR subsystem definition: