Start Component
Name = "Workstation"
Start Group
Name = "InstallStatus"
ID = 1
Class = "MICROSOFT|JOBSTATUS|1.0"
Start Attribute
Name = "Status"
ID = 1
Type = String(16)
Value = "FAILED"
End Attribute
Start Attribute
Name = "Description"
ID = 2
Type = String(128)
Value = "Audit job failed because of lack of disk space on target machine."
End Attribute
End Group
End Component
The Package Directory The package directory is a directory structure that contains the files required to support the installation or removal options in the Package Definition File. When a job is created that uses a package, the contents of the package directory, including any subdirectory structure, are compressed and sent to the site servers of the target clients. When the compressed package is received at the site server, it is copied to the distribution servers specified in the job and decompressed. The package contents are then exported from the distribution server with the appropriate permissions set. All of the files required to support the operation of the job must be included in the package directory, including any DLLs or configuration files required to support the operation of the Setup program. It is highly recommended that you add an option on your setup application to setup up this directory on a network share with the appropriate un-installed files, complete with your SMS PDF file. This will advertise the fact that you are SMS capable and will make it much easier for administrators to use SMS with your product. 2) Provide a Package Definition File A Package Definition File (PDF) is an ASCII text file that contains pre-defined Workstation, Sharing, and Inventory property settings for a package. When you create a new package, you can use the Import command from the Package Properties dialog box to define the properties for the package, using a PDF. A PDF follows the standard initialization file format. It is an ASCII text file containing keys (the key names are enclosed within square brackets). Key names can be separated by spaces. Each key contains one or more entries, where each entry follows the format: name = value1, value2, ... Values are separated by a comma and at least one space. A PDF has specific keys and entries that are used by the system to set the properties of a package. The following topics describe the specific keys and entries. All PDF files must at a minimum include the required entries as listed below. [PDF] (required) The [PDF] section identifies the file as a Package Definition File. This section contains a single entry: Version (required) The version of the PDF format used by the file. ExampleVersion = 1.0
[Package Definition] (required) The [Package Definition] section defines the overall properties of the package. Product (required) The name of the product. ExampleProduct = Microsoft Excel
Version (required) The version of the product. ExampleVersion = 4.0a
Comment (required) The comment used for the package's Comment setting. When the PDF is imported into SMS, this string is used as the Comment in the Package Properties. ExampleComment = version 4.0a for Windows
SetupVariations (required) A list of the setup variations supported by the package. Each setup variation name corresponds to a PDF key that defines a package command. The recommended name for these keys is [SetupVariation Setup]. ExampleSetupVariations = Typical, Complete, Laptop, Automated
WorkstationAccess (recommended) The access permissions to the packages created with this PDF. You can assign permissions to two user groups: Users and Guests. There are two permissions that you can assign: Read Permits users in the group to read and copy files, run programs, change directories within the shared directory, and read extended attributes of files. To run a program file (that is, one with a .COM, .EXE, or .BAT extension), the user must have Read permission. Write Permits users in the group to write the contents and extended attributes of files. You assign permissions to these groups by using the following entries: UserRead sets Read permission for the Users group, UserWrite sets Write permission for the Users group, GuestRead sets Read permission for the Guests group, and GuestWrite sets Write permission for the Guests group. The default is for both Users and Guests to have both Read and Write permissions. Example WorkstationAccess = UserRead, UserWrite, GuestRead [SetupVariation Setup] For the setup variations specified in the SetupVariation entry in the [Package Definition] key, the PDF must have a key that defines each variation. For SMS, the setup variations specify the package commands that will be defined for the package's Workstations property. CommandName (required) The name used for this package command. When the PDF is imported into SMS, this string is used as the Command Name for this package command. ExampleCommandName = Automated Minimum Installation
CommandLine (required) The command line used for this package command. When the PDF is imported into SMS, this string is used as the Command Line for this package command. ExampleCommandLine = setup.exe
UserInputRequired (required) The value for this entry specifies whether this package command requires interaction with the user to complete the command. You must specify false . ExampleUserInputRequired = False
SynchronousSystemExitRequired (required) On Windows clients, by default, once SMS starts executing a job, it intervenes if it receives a request to exit the Windows environment. SMS does this by returning 0 if it receives a WM_QUERY_END_SESSION. SMS then presents a dialog box asking the user to confirm when it is okay to restart the computer. For programs simply attempting to restart the system, this does not cause a problem. However, it does cause a problem for jobs attempting to run MS-DOS programs using ExitWindowsExec(). Setting SynchronousSystemExitRequired to TRUE disables the default SMS behavior so that the job can run an MS-DOS program. On MS-DOS clients, setting SynchronousSystemExitRequired to TRUE indicates to SMS that the job will cause the client to restart. This tells SMS to use overlay mode when executing the job, freeing up the memory used by SMS so it can be made available to the program being executed. By default, SMS executes programs synchronously and remains in memory when a job command line is executed. Note that setting this value to TRUE is not necessary just to exit the environment at the end of the package Setup program. The possible values are TRUE and FALSE, and the default is FALSE. ExampleSynchronousSystemExitRequired = FALSE
SupportedPlatforms (required) The value for this entry specifies the operating systems where the package can be installed and run. Each operating system name must be separated by a comma and a space. ExampleSupportedPlatforms = Windows 3.1, Windows NT 3.1 (Alpha), Windows NT 3.1 (MIPS), Windows NT 3.1 (x86), MS-DOS 5.0, MS-DOS 6.0, Macintosh
PDG platform string | UI display string | |
Windows NT (x86) | = | Windows NT (x86) |
Windows NT (MIPS) | = | Windows NT (MIPS) |
Windows NT (Alpha) | = | Windows NT (Alpha) |
MS-DOS | = | MS-DOS |
MS-DOS 5.0 | = | MS-DOS |
MS-DOS 6.0 | = | MS-DOS |
MS-DOS 6.2 | = | MS-DOS |
MS-DOS 6.21 | = | MS-DOS |
MS-DOS 6.22 | = | MS-DOS |
Macintosh | = | Macintosh |
Windows 3.1 | = | Windows 3.1 |
Windows95 | = | Windows95 |
InventoryThisPackage = TRUE
Detection Rule (required) This entry specifies the inventory rule used to identify the package. A package's inventory rule is the set of files used to identify the package. Using the AND and OR operators, you can specify the set of files required to detect the package. For the files specified in the rule (except Boolean operators and grouping operators), the PDF must have a key that defines each file. Each file corresponds to a key that defines the attributes of the file. The file key heading must have the following form: [File index] where index is a unique integer that identifies the file within the PDF and the inventory rule. The index should start at 1 and increase by 1 for each additional file. You combine the file specifications by using the following rules:Detection Rule Part 1 = File1
Detection Rule Part 2 = AND
Detection Rule Part 3 = File2
Detection Rule Part 4 = OR
Detection Rule Part 5 = (
Detection Rule Part 6 = File3
Detection Rule Part 7 = AND
Detection Rule Part 8 = File4
Detection Rule Part 9 = )
[FileIndex] (required) For the files specified in the PackageDetectionRule entry in the [Setup Package for Inventory] key, the PDF must have a key that defines each file. Each file corresponds to a key that defines the attributes of the file. The file key heading must have the following form: [File index] where index is a unique integer that identifies the file within the PDF and the inventory rule. The index should start at 1 and increase by 1 for each additional file. The File is required. All other attributes are recommended but not required. File (required) The name of the file. ExampleFilename = EXCEL.EXE
Collect This entry specifies whether the SMS system should collect a copy of this file and store it on the site server. You can specify TRUE or FALSE. ExampleCollect = FALSE
BYTE This entry specifies a value stored at a specific location in the file. This attribute requires two entries (separated by a comma and a space): Location is the data offset in bytes, and Value is the value stored at the offset. By default, the entries are decimal. To specify a hexadecimal number, start the hexadecimal number with 0x. ExampleBYTE = 20000, 216
Checksum This entry detects the sum of all values stored at a specific set of bytes and compares the sum to a specified value. This attribute requires three entries (separated by a comma and a space): Start Location is the data offset where the summed values begin (in bytes), Length is the total number of bytes that are summed, and Checksum Value is the value checked against the summed values. By default, the entries are decimal. To specify a hexadecimal number, start the hexadecimal number with 0x. ExampleChecksum = 10000, 300, 32444
CRC This entry detects the sum of all values stored at a specific set of bytes and compares the sum to a specified value. Unlike Checksum, CRC takes into account the sequence of the summed bytes. This makes it a more reliable identification of a file. In this attribute's settings, Start Location is the data offset where the summed values begin (in bytes), Length is the total number of bytes that are summed, and Checksum Value is the value checked against the summed values. SMS uses the CCITT-CRC standard to evaluate the CRC value. You must specify a CRC value computed with the CCITT-CRC algorithm. ExampleCRC = 5000, 300, 38707
Date The date of the file in decimal format: MM, DD, YY. The entries must be separated by a comma and a space. ExampleDate = 9, 2, 93
Size The size of the file (in bytes). ExampleSize = 2766592
Time The time of the file (using the 24-hour clock) in hours and minutes. The entries must be separated by a comma and a space. ExampleTime = 14, 18
LONG An unsigned LONG value. This attribute requires two entries (separated by a comma and a space): Location is the data offset in bytes, and Value is the value stored at the offset. ExampleLONG = 30000, 1346373702
WORD A WORD value. This attribute requires two entries (separated by a comma and a space): Location is the data offset in bytes, and Value is the value stored at the offset. ExampleWORD = 40001, 15488
Token # (1-4) A string value. This attribute requires two entries (separated by a comma and a space): Location is the data offset in bytes, and Value is the string value stored at the offset. The string value must be enclosed by double quotation marks. You can define up to four separate StringValue entries. ExampleToken 1 = 710, "WIN"
Token 2 = 714, "EXCEL"
Example PDF for a "Simple Application" [PDF]Version=1.0
[Simple Server Install Setup]CommandLine=instsrv.bat Install
CommandName=Automated installation of the Simple Service
UserInputRequired=FALSE
SynchronousSystemExitRequired=FALSE
SupportedPlatforms=Windows NT (Alpha), Windows NT (MIPS), Windows NT (x86)
[Simple Server Uninstall Setup]CommandLine=instsrv.bat Remove
CommandName=Automated deinstallation of the Simple Service
UserInputRequired=FALSE
SynchronousSystemExitRequired=FALSE
SupportedPlatforms=Windows NT (Alpha), Windows NT (MIPS), Windows NT (x86)
[Package Definition]Product=Simple Server
Version=1.0
Comment=Simple Server from the WIN32 samples of VC++ 2.0
SetupVariations=Simple Server Install, Simple Server Uninstall
[Setup Package for Inventory]InventoryThisPackage=TRUE
Detection Rule Part 1=file 1
[file 1]FILE=SIMPLE.EXE
COLLECT=FALSE
Checksum=
CRC=
DATE=
SIZE=
TIME=
BYTE=
WORD=
LONG=
TOKEN 1=
TOKEN 2=
TOKEN 3=
TOKEN 4=
Summary Third party applications can gain Systems Management Server support by doing three simple things: