Definition of a Directory
The keyword for a directory definition is Directory. A global ID of a directory should begin with gid_Dir . Directories have to be assigned to modules in the definition block of the module. If a directory is not assigned to any module, it is automatically assigned to the root module by the scplinker. A typical definition of a directory in the scp projects looks like:
Directory
gid_Dir_Autotext
ParentID = gid_Dir_Share;
DosName =
"autotext";
End
Directory
gid_Dir_Share_Autocorr
ParentID = gid_Dir_Share;
DosName =
"autocorr";
Styles = (CREATE);
End
As you can see, the definition of a directory is very simple. A directory has a name (DosName) and a parent. Every directory has a parent, resulting in a directory tree. For the most directories, the ParentID is a global ID, which is defined in the script before. Some directories of course have to be defined by the setup. The most important is the directory:
PREDEFINED_PROGDIR
which is for example used in the definition:
Directory
gid_Dir_Program
ParentID = PREDEFINED_PROGDIR;
DosName =
"program";
End
The directory program is created below the Office installation root. And this is described by the PREDEFINED_PROGDIR, which has to be found by the setup. By the way, the PREDEFINED_PROGDIR is defined by the user, during the installation process.
Further predefined directories are:
PREDEFINED_HOMEDIR : The user's home directory
PREDEFINED_CONFIGDIR: The system's configuration directory
PREDEFINED_OSSHELLNEWDIR: The shellnew directory for Windows
PREDEFINED_OSSYSTEMFONTDIR: The system font directory
A directory is created, if it is necessary to create it. This means: For example we take a file gid_File_A, that belongs to gid_Module_B, and has to be installed into directory gid_Dir_C. If the module is selected in the user defined installation, the file has to be installed. Then it is necessary for the setup, to create the directory gid_Dir_C. If the module is not selected, the file has not to be installed and, if there is no other file in gid_Dir_C, this gid_Dir_C must no be created.
Some directories have to be created empty. As in the example above the directory gid_Dir_Share_Autocorr has the flag CREATE. This flag means, that the directory shall be created, even though there is no file in it.