# Directives

Process-order Directives. Use these to alter the "mainline" install/assembly sequence. The following are listed in the order of the default post-assembly sequence:

- #ApplyPatch# : Apply patch archives/folders.
- #ShortcutS# : Process the <ShortcutS> section... all shortcut/startmenu related tasks (w/ StartMenu Folder icons) AND File Association(s). Skips it during Post-processing.
- #AppPathFolderIcon# : Install-path Folder Icon
- #RunScript# : Run the <Script> section and skip it during Post-processing. Uses the Source folder as the 'Start In' or working folder.
- #ApplyRegistry# : Apply the <Registry> section and skip it during Post-processing.
- #InstallFonts# : Process the <InstallFonts> section. Skips it during Post-processing.
- #RegisterDLL# : Process the <RegisterDLL> section. Skips it during Post-processing.

Ξ Some Notes:

1. These are for the <Assembly> section ONLY.
2. For ssApp's it is NOT recommended to place post-install #directives# *before* its installer or setup program since the install-to path (or <AppPath>) is often not created nor determined until after it has been run. So if need be, make use instead of .cmd/.bat and/or .reg files and of any of the Component %variables%.

CLI Directives:

- #CMD# : Process this line as a command-line using the DOS console (aka, the Command-line Interpreter).
- #DOS# : Same as #CMD#, above.

Ξ Some Notes:

1. These are for the <Assembly> section ONLY.
2. These can be at the beginning or at the end of each line.

Gate Directives: Use these filter a line by its OS and/or Architecture.

- #Is_x86# : Process this line for 32-bit OS-Architectures (x86) only.
- #Is_x64# : Process this line for 64-bit OS-Architectures (x64) only.
- #Is_NT5# : Process this line for NT5.x OS's only. E.g., Windows 2000, XP, Server 2003.
- #Is_NT6# : Process this line for NT6.x OS's only. E.g., Windows Vista, 7, Server 2008, 8, 8.1, Phone 8.
- #Is_Metro#: Process this line for Windows versions using the StartScreen (Metro). E.g., Windows 8, 8.1, Server 2012, Phone 8.
- Comparative Gates: These gates allow more specific line processing. The syntax is as follows:

#Is_OS<|=|>|<>|<=|>=V[.v[.bbbb]]#

with:

< : "less than"

= : "equal to"

> : "greater than"

<> : "not equal to"

>< : "not equal to"

<= : "less than or equal to"

>= : "greater than or equal to"

=< : "equal to or less than"

=> : "equal to or greater than"

where:

V.v.bbbb : The Windows NT version. This can be just the Major, the Major.minor, or Major.minor.build.

Ξ Some Notes:

1. These can be at the beginning or at the end of each line.
2. Gate directives may also be used in the following: Script-files (.cmd/.bat), Registry-files(.reg), and in the .app/.ppg-file under the keys "FileTypes", "RegisterDLLs", "InstallFonts", and the ShortcutS definitions. With ShortcutS definitions, placement of the gate(s) is via the "Flags" key (with or without "#" delimiters).
3. Two or more gates used together will have a logical "AND" effect. This will allow one to specify OS ranges and OSArch combinations.

Some examples:

- #Is_OS=5.1# : Windows XP
- #Is_OS=5.2##Is_x64# : Windows XP Professional x64 Edition
- #Is_OS=5# : Same as #Is_NT5#
- #Is_NT6##Is_OS<6.2# : Windows Vista & 7 (also Server 2008)
- #Is_x86##Is_NT6# : The x86 editions of Vista/7/8
- #Is_OS>=6.2# : Same as #Is_Metro#

Copyright © 2020, Vergitek Solutions

ssTek Forum: Tools for custom Operating Systems!