## Display Device Driver Reference for OS/2

[prev][next][parent][TOC]

### FILES Command

The FILES command specifies the files that are to be copied from the source directory to different destination directories. It performs similarly to the DDINSTAL FILES command. Like its DDINSTAL counterpart, the DSPINSTL FILES command line is followed by a set of file-copy directives. However, unlike DDINSTAL, the DSPINSTL FILES command uses the UNPACK utility program to copy files, so that it can handle both packed and unpacked file formats.

The FILES command can be used to replace any executable modules (programs and DLLs) that currently are in use. The replacement occurs the next time the system is started up. DSPINSTL cannot replace non-executable files that are locked at the time DSPINSTL is run.

The format of the FILES command line is :FILES.

To protect against inadvertently copying an old version of a file over a newer version, all file copying is mediated by one of two different forms of file-version checks, as listed below:

File-version field checking
Date/Time checking
File-Version Field Checking

Executable files can be tagged with a file-version string in the description field of their executable file headers, which can be set during program linking. The following is an example of a file-version string:

       <header> <version string> <trailer>

where:

<header> is a 2-character string: @#.

<version string> is 12 characters defined as xxx:YYYYYYYY, where xxx is used to identify the vendor that created the file (for example, IBM) and YYYYYYYY is a file-version number (for example, 0006.307). The file-version number can be interpreted as a floating point number or an integer.

<trailer> is the 2-character string: #@.

An example of a file-version string is:

      @#IBM:0006.307#@.

If both the source and target versions of a file contain file-version strings, file-version checking is performed. For a file-version check to be considered successful, the vendor IDs of the source and target files must match; and the file-version number of the source file must be greater than, or equal to, the file-version number of the target file. If the file- version check succeeds, the source file is copied over the target file. If not, DSPINSTL prompts the user to decide whether to replace the target file . If the source file contains a file version field, but the target file does not, the source file is assumed to be more recent than the target file and is copied over the target file.

Date/Time Checking

DSPINSTL does not automatically copy an old version of a file over a newer version when the Date/Time of the file to be copied is less recent than the Date/Time of the file to be replaced. Instead, it prompts the user to decide whether to replace the newer version of the file with the older version.

The FILES command line is followed by one or more lines that name the files to be copied from the source directory and the destination directory to which they are to be copied. The following illustrates the format of these lines:

     <source file name> <destination directory pathname>

where:

<source file name> is the name of a file in the source directory that contains the DSP file. A source file can be packed or unpacked.

<destination directory pathname> can include an optional logical drive letter specification that always is overridden by the system's startup drive. The destination directory path name is not a complete file name, which means that the source file is never renamed when it is copied.

Note: The special term %BOOTDRIVE% can be used to replace the startup drive letter in all DSPINSTL commands that permit path names to be specified. %BOOTDRIVE% is a special drive designator that indicates the letter of the drive on which the OS/2 system was started.

If a destination directory is provided, the file is copied to that directory. If no destination directory is provided and the source file is packed, the file is copied to the directory specified in the source file's pack header. If there is no corresponding directory on the drive, a directory is created. If no destination directory is provided and the source file is unpacked, the file is copied to the current working directory.

The following examples illustrate DSP file command lines that can follow the FILES command line:

        :FILES   :MODE=PRIMARY
        IBMVGA32.DL@ %BOOTDRIVE%:\OS2\DLL
        BVHVGA.DLL %BOOTDRIVE%:\OS2|DLL

        :FILES  :MODE=PRIMARY  :MODE=DOS
         VVGA . SY @   % BOOTDRIVE % : \ OS2 \ MDOS

Note: Some of the source-file names are immediately followed by the "@" sign, indicating that these are packed files (packed by the OS/2 PACK utility program).