The subsystem definition section of the CONTROL.SCR file follows the header section and contains the definitions for all the installable items in the installation package. A block of information must be included for each subsystem.
The subsystem definition section contains the following information:
The following is an example of a CONTROL.SCR subsystem definition.
ssgroup=0 /* base group */sssize=41 ssname="mmbase" ssversion="1.0.9" ssinich="TLKBASE.SCR" /* - 11 = mcistrng */ ssgroup=11 ssname="Media Control Interface String Test" ssversion="1.0.9" sssize=200 ssinich="TLKSTRN.SCR" ssicon="mcistrng.ico"
The CONTROL.SCR subsystem definition consists of the following keywords.
┌────────────────────┬────────────────────────────────────────┐ │Keyword │Description │ ├────────────────────┼────────────────────────────────────────┤ │SSGROUP │This required keyword specifies the │ │ │group or item number. This marks the │ │ │beginning of a group for this item and │ │ │assigns it a number. Each item 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 = 11 │ ├────────────────────┼────────────────────────────────────────┤ │SSNAME │This required keyword specifies the item│ │ │name, which names the current group 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 component 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 item.│ │ │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 item, overstate its │ │ │size. For example: │ │ │SSSIZE = 1024 │ ├────────────────────┼────────────────────────────────────────┤ │SSINICH │This optional keyword specifies the name│ │ │of the file that contains the changes to│ │ │the MMPM2.INI file. If this statement │ │ │is missing, there are no changes to the │ │ │MMPM2.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 item to │ │ │run. It also specifies what other │ │ │components the current components depend│ │ │on. These other components must be │ │ │installed for the current component 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 │ │ │subsystem A list subsystem B as a │ │ │corequisite and subsystem B have no │ │ │corequisites. If the user selects a │ │ │subsystem with a corequisite, but does │ │ │not select all 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 component that is to be │ │ │displayed in the main installation │ │ │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" │ ├────────────────────┼────────────────────────────────────────┤ │SSSELECT │This optional keyword determines the │ │ │preselection of items 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 selection │ │ │window. This is the default. │ │ │"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 has 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. │ │ │"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 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: