Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
Creating a software distribution package is a process with several steps and many options. To simplify the process, many businesses use package definition files (PDFs), which automatically create a package and at least one program set up for typical business use, or for atypical business use, such as server-based applications.
SMS includes a number of PDFs that you can use to automate package creation in the SMS Administrator console. You can import PDFs into SMS by using the Distribute Software Wizard or the Create Package from Definition Wizard which enable you to create the package and programs in a single step. Using these wizards eliminates several steps in the software distribution process. PDFs are available for many popular applications, such as Microsoft Internet Explorer and Microsoft Office. These files are also available for Windows NT service packs.
This chapter explains how to create PDFs for your own applications and how to use the PDFs for distributing those applications; it includes the following sections:
Package Definition Files
Creating a PDF
Using PDFs
Converting SMS 1.2 PDFs to SMS 2.0 PDFs
This chapter assumes that you have a basic understanding of SMS along with a knowledge of software distribution. For more information about SMS, see the SMS 2.0 Administrator's Guide. For specific information about software distribution, see Chapter 12, "Distributing Software," in the SMS 2.0 Administrator's Guide.
A package definition file is a text file that contains all the information necessary to create a software distribution package for an application and create all the programs within the package.
PDFs that are provided with SMS 2.0 are stored with the extension .sms in the SMS\Scripts\00000409\Pdfstore directory of your SMS installation, where SMS is the root directory of your installation.
The PDFs included with SMS 2.0 are automatically imported and listed in the Create Package from Definition Wizard and the Distribute Software Wizard. Additional PDFs and updates to existing files are located on the Systems Management Server Web site, at https://www.microsoft.com/smsmgmt . From this location, you can download PDFs and find instructions on how to use them. For more information about creating packages and programs, see Chapter 12, "Distributing Software," in the SMS 2.0 Administrator's Guide.
You can import PDFs into the SMS 2.0 Distribute Software Wizard. When you use the Distribute Software Wizard, SMS organizes all of the tasks that are required to distribute software. The wizard prompts you for the information needed to complete the software distribution and, afterward, distributes the software automatically.
When the wizard prompts you for a package, choose Create new package from a definition, then choose the PDF you want to import.
The Create Package from Definition Wizard creates the package and program in a single step, but you must handle all the other details of creating a software distribution. Distributing software using a PDF with the Create Package from Definition Wizard includes the following steps:
Creating the package source files
Using the Create Package from Definition Wizard and the PDF to create a package for the application
Specifying the distribution points for the package
Specifying the access accounts for the package (optional)
Advertising one or more of the package's programs to clients
Many software applications include one or more PDFs that you can use to distribute the applications. If the PDF does not meet your needs, you can modify it for your specific situation. You can also use SMS Installer to generate PDFs automatically.
This section contains:
A sample PDF.
A procedure for creating the sample PDF.
A PDF format reference.
A PDF follows the standard .ini file format. It is an ASCII text file that contains sections and keys. Section names are enclosed within brackets and can contain spaces. Each key contains one or more entries, each of which has the following format:
name = value1, value2, ...
Values are separated by a comma and at least one space.
A PDF contains the following sections:
[PDF]
[Package Definition]
[program]
The following PDF is included with SMS and creates a package for a tool that creates Windows NT Event to SNMP Trap Translator.
[PDF] VERSION=2.0 [PACKAGE DEFINITION] LANGUAGE=English VERSION=2.0 PUBLISHER=Microsoft NAME=NT Event to SNMP Trap Configuration Modification Tool PROGRAMS=alpha,x86 [ALPHA] SUPPORTEDCLIENTS=Win NT (alpha) ADMINRIGHTSREQUIRED=True USERINPUTREQUIRED=False ESTIMATEDRUNTIME=2 ESTIMATEDDISKSPACE=1MB COMMANDLINE=eventcmt.exe ..\\events.cnf /nolog /setcustom STARTIN=alpha NAME=Alpha systems CANRUNWHEN=AnyUserStatus [X86] SUPPORTEDCLIENTS=Win NT (i386) ADMINRIGHTSREQUIRED=True USERINPUTREQUIRED=False ESTIMATEDRUNTIME=2 ESTIMATEDDISKSPACE=1MB COMMANDLINE=eventcmt.exe ..\\events.cnf /nolog /setcustom STARTIN=i386 NAME=x86 systems CANRUNWHEN=AnyUserStatus
This section explains how to create the PDF shown in the previous section. This PDF creates a package and two programs for the NT Event to SNMP Trap Configuration Modification Tool. To ensure that the processing of this sample PDF completes correctly, do not type anything into the file that is not included in the instructions, except blank lines.
To create the [PDF] section
In any text editor, open a new file.
Type [PDF] as the only entry on the first line of the file.
On the second line of the file, type VERSION=2.0 to create the required single entry for this section. Do not type anything else on this line.
To create the [Package Definition] section
Open the PDF that you created in the last procedure, if it is not already open.
Below the [PDF] section, type [Package Definition] to create the [Package Definition] section. Do not type anything else on this line. You can insert additional blank lines for readability, as you see in the example; they do not affect the processing.
Type LANGUAGE=English as the entire content of the next line. This key is used when versions of a package exist in different languages, and it allows you to differentiate between definitions for the same package in multiple languages.
Type VERSION=2.0 as the next line. The version you enter should be the version of the program you are installing, not the version of the PDF. This entry is optional but gives you information that can be used to identify the package if a PDF exists for a different version.
Type PUBLISHER=Microsoft in the next line. PUBLISHER is a required key.
Type NAME=NT Event to SNMP Trap Configuration Modification Tool as the next line. This entry identifies this PDF when you import it using the Distribute Software Wizard or the Create Package from Definition Wizard. NAME is a required key.
Type PROGRAMS=alpha, x86 as the next line. PROGRAMS specifies processor families that can use this package definition.
To create the [ALPHA] section
Open the PDF you created in the previous procedure, if it is not already open.
Create a new section by typing [ALPHA]. You can add blank lines for readability wherever they are appropriate; they do not affect the processing.
Type SUPPORTEDCLIENTS=Win NT(alpha) as the next line. SUPPORTEDCLIENTS specifies the computing platforms that can use this package definition.
Type ADMINRIGHTSREQUIRED=True as the next line. ADMINRIGHTSREQUIRED specifies whether a user needs administrative rights to use the package. If the program requires administrative rights, and you do not specify this key, the program might fail if it is run by a user who has no administrative rights. If the program must access any resource on a computer other than the client or the distribution point, you must use a Windows NT Client Software Installation account. These programs cannot run on any computer other than a Windows NT client.
Type USERINPUTREQUIRED=False as the next line. USERINPUTREQUIRED specifies whether input is required from the user for the program to complete its processing. This is not a required key, but you must specify it as True if you want to require user input.
Type ESTIMATEDRUNTIME=2 as the next line. ESTIMATEDRUNTIME specifies the time in minutes that will be required for the program to complete its processing. This key is used by software distribution to determine whether the program is within a normal time frame or has failed to complete because of an error. For monitoring to take place, you must specify ESTIMATEDRUNTIMEMONITORING = True; otherwise, the estimated run time is for display purposes only.
Type ESTIMATEDDISKSPACE=1MB as the next line. ESTIMATEDDISKSPACE specifies the estimated disk space required for the program to complete its processing. This key is displayed to the user when the program is advertised.
Type COMMANDLINE=eventcmt.exe ..\\events.cnf /nolog /setcustom as the next line. COMMANDLINE specifies the command-line text necessary to run the program on the destination computer, so type this line exactly as you would type it on the destination computer. Include only flags and specifiers as you would to run the program normally.
Type STARTIN=alpha as the next line. STARTIN indicates the directory where you want the program to run by specifying a relative path to the package folder on the distribution point. This example causes the program's command line to run in the alpha directory. The specified directory must exist, or the program might fail.
Type NAME=Alpha systems as the next line.
Type CANRUNWHEN=AnyUserStatus as the next line. CANRUNWHEN specifies whether the program requires a user to be logged on, logged off, or that there is no requirement. AnyUserStatus indicates that the program runs regardless of whether a user is logged on.
To create the [X86] section
Open the PDF that you created in the last procedure.
Create a new section for the x86 program by typing this line: [X86].
Refer to the steps in the previous procedure to complete the following fields:
SUPPORTEDCLIENTS=Win NT (i386)
ADMINRIGHTSREQUIRED=True USERINPUTREQUIRED=False ESTIMATEDRUNTIME=2 ESTIMATEDDISKSPACE=1MB COMMANDLINE=eventcmt.exe ..\events.cnf /nolog /setcustom STARTIN=i386 NAME=x86 systems CANRUNWHEN=AnyUserStatus
When you finish creating your PDF, save it with an .sms extension. Then, in the SMS Administrator console, start the Distribute Software Wizard or the Create Package from Definition Wizard. Select Create a new package from a definition, and then click Browse to specify the location of the new .sms file. After the file is imported, it appears in the list of PDFs for the site.
This section explains all the options you can use when you create PDF files. You can use this information along with the sample PDF and the previous example to create your own PDF.
A PDF requires the [PDF], [Package Definition], and [programs] to be functional. The following topics contain tables that show the keys for each section and indicate whether the keys are required or optional, as well as the default values when applicable. The tables also list each key's corresponding option in the SMS Administrator console.
For more information about all the required and optional fields you can enter in the SMS Administrator console, see Chapter 12, "Distributing Software," of the SMS 2.0 Administrator's Guide and SMS Help.
This section contains information about:
The [PDF] section.
The [Package Definition] section.
The [programs] section.
This section identifies the file as a PDF. The following table shows its single entry.
Table 7.1 Fields in the [PDF] Section
Key |
Required/Default |
Comments |
Corresponding SMS Admin console item |
---|---|---|---|
VERSION |
Yes |
PDFs written for SMS 2.0 have 2.0 in this field; PDFs written for previous versions of SMS which can be converted to SMS 2.0 format as part of the import process have 1.0 in this field. |
N/A |
This section defines the overall properties of the package.
Table 7.2 Fields in the [Package Definition] Section
Key |
Required/Default |
Comments |
Corresponding SMS Admin console item |
---|---|---|---|
NAME |
Yes |
Name of the product, up to 50 characters. |
Name option in the General tab of the Package Properties dialog box. |
VERSION |
No |
Version of the product that is being distributed, up to 32 characters. |
Version option in the General tab of the Package Properties dialog box. |
ICON |
No |
File that contains the icon you want to use for the application. If you use this entry, the icon you choose replaces the default package icon in the SMS Administrator console. The icon file must be in the same directory as the PDF when the PDF is imported. |
Change Icon option in the General tab of the Package Properties dialog box. |
PUBLISHER |
Yes |
Publisher of the product, up to 32 characters. |
Publisher option in the General tab of the Package Properties dialog box. |
LANGUAGE |
Yes |
Language version of the product, up to 32 characters. |
Language option in the General tab of the Package Properties dialog box. |
COMMENT |
No |
Comment about the product, up to 127 characters. |
Comment option in the General tab of the Package Properties dialog box. |
PROGRAMS |
At least one required |
Programs defined for this package. Each program name corresponds to a [program] section in the PDF. |
There is no corresponding SMS Admin console item. |
MIFFILENAME* |
No |
Name of the Management Information Format (MIF) file that the programs in the package will generate to indicate package status (the installation status MIF), up to 50 characters. Useful only if your installation program is set up to produce an installation status MIF file. |
Mif file name in the Reporting tab of the Package Properties dialog box. |
MIFNAME* |
No |
The value the programs place in the Product attribute of the installation status MIF file, representing the name of the package, up to 50 characters. Useful only if your installation program is set up to produce an installation status MIF file. |
Name in the Reporting tab of the Package Properties dialog box. |
MIFVERSION* |
No |
The value the programs place in the Version attribute of the installation status MIF file, representing the version number of the program being distributed, up to 32 characters. Useful only if your installation program is set up to produce an installation status MIF file. |
Version on the Reporting tab of the Package Properties dialog box. |
MIFPUBLISHER* |
No |
The value the programs place in the Manufacturer attribute of the installation status MIF file, representing the software publisher of the package, up to 32 characters. This option is useful only if your installation program is set up to produce an installation status MIF file. |
Publisher in the Reporting tab of the Package Properties dialog box. |
You can specify one or more values for fields identified with (*). If no values are specified for these fields, the fields of Name, Version, and Publisher specified in the [Package Definition] section are used for Status MIF file matching when your installation is configured to produce an installation status MIF. |
For each program specified in the Programs entry in the [Package Definition] section, the PDF must include a section that defines each program. For example, programs for Microsoft applications include Typical, Complete, Laptop, and Uninstall.
For each key shown in the following table, you can consult the SMS 2.0 documentation for more information about the corresponding user interface in the SMS Administrator console.
Table 7.3 Fields in the [ programs ] Section
Key |
Required/Default |
Comments |
Corresponding SMSAdmin console item |
---|---|---|---|
NAME |
Yes |
The name of the program, up to 50 characters. Required and must be unique within a package. |
Name option in the General tab of the Program Properties dialog box. |
ICON |
No |
The file name of the file that contains an icon that you want to use to replace the default program icon in the SMS Administrator console. The icon will be displayed on client computers when the program is advertised. The icon file must be in the same directory as the PDF when imported. |
Change Icon option in the General tab of the Program Properties dialog box. |
COMMENT |
No |
Text about the program, such as a description, up to 127 characters. |
Comment option in the General tab of the Program Properties dialog box. |
COMMAND LINE |
Yes |
The command line for the program, up to 127 characters. Any paths included in the command line are relative to the package source directory. |
Command line option in the General tab of the Program Properties dialog box. |
STARTIN |
No |
The working directory for the program, up to 127 characters. This entry can be an absolute path on the client computer or a path relative to the package source directory. |
Start in option in the General tab of the Program Properties dialog box. |
RUN |
Defaults to Normal |
Program mode. You can specify Normal, Minimized, Maximized, or Hidden. |
Run option in the General tab of the Program Properties dialog box. |
AFTERRUNNING |
No |
An action that occurs after the program is completed successfully. You can specify SMSRestart, ProgramRestart, or SMSLogoff. |
After running option in the General tab of the Program Properties dialog box. |
ESTIMATEDDISK |
Defaults to Unknown |
The amount of disk space the software will require when it is installed on the client computer. You can specify a number ending in KB, MB, or GB, or you can specify Unknown, the default value. |
Estimated disk space option in the Requirements tab of the Program Properties dialog box. |
ESTIMATED RUNTIME |
Defaults to Unknown |
The number of minutes required to run the program on the client computer, or you can specify Unknown, the default value. |
Estimated run time option in the Requirements tab of the Program Properties dialog box. |
ENABLE RUNTIME MONITORING |
No |
Whether SMS monitors the run time of the program and warns the user if the program is taking longer to run than the estimated time. You can specify True or False; the default value is False. If you specify True, SMS warns the user if the program is still running 15 minutes after the estimated time has elapsed. |
Notify user if the program runs 15 minutes longer than estimated option in the Requirements tab of the Program Properties dialog box. |
SUPPORTED CLIENTS |
No |
The platforms on which this program will run, separated by commas. You can specify Win 16, Win 9x, Win NT(i386), Win NT(alpha), or Macintosh (for SMS 1.2 sites in the hierarchy). |
This program can run only on specified platforms option in the Requirements tab of the Program Properties dialog box. |
SUPPORTED |
No |
The beginning and ending range for version numbers for the operating systems specified in the SupportedClients entry. You can specify numbers between 0.0.0.0 and 9.9.9.9. The default value for MaxVersion is 9.99.9999.99 if a version is not specified. |
Some options on the This program can run only on specified platforms option in the Requirements tab of the Program Properties dialog box. |
ADDITIONAL PROGRAM REQUIREMENTS |
No |
Optional text that can include any other information about client computers, up to 127 characters. |
Additional requirements option in the Requirements tab of the Program Properties dialog box. |
CANRUNWHEN |
Defaults to User Logged On |
Whether the program requires that a user be logged on to the client computer. You can specify UserLoggedOn, NoUserLoggedOn, or AnyUserStatus; the default value is UserLoggedOn. |
The Program can run option in the Environment tab of the Program Properties dialog box. |
USERINPUT REQUIRED |
Defaults to True |
Whether the program requires interaction with the user to be completed. You can specify True or False; unless CanRunWhen is not set to UserLoggedOn, which forces the value to False. |
User input required option in the Environment tab of the Program Properties dialog box. |
ADMINRIGHTS REQUIRED |
Defaults to False |
Whether the program requires administrative privileges on the computer in order to run. You can specify True or False, unless CanRunWhen is not set to UserLoggedOn, which forces the value to False. |
Run with administrative rights option in the Environment tab of the Program Properties dialog box. |
USEINSTALL ACCOUNT |
Defaults to False |
Whether the program uses the Windows NT Client Software Installation account when running on Windows NT clients. You can specify True or False, unless CanRunWhen is set to UserLoggedOn, which forces the value to False. |
Use Windows NT Client Software Installation account option in the Environment tab of the Program Properties dialog box. |
DRIVELETTER CONNECTION |
Defaults to False |
Whether the program requires a drive letter connection to the package files on the distribution point. You can specify True or False. False, the default value, enables the program to use a universal naming convention (UNC) connection. |
Requires drive letter option in the Environment tab of the Program Properties dialog box. |
SPECIFYDRIVE |
No |
Specific drive letter that the program requires to connect to the package files on the distribution point. Using this entry forces the use of the specified drive letter for client connections to distribution points. |
Requires specific drive letter option in the Environment tab of the Program Properties dialog box. |
RECONNECT DRIVEATLOGON |
Defaults to False |
Whether the connection to the distribution point is set to be reconnected by the operating system each time the user logs on. You can specify True or False. |
Reconnect to distribution point at logon option in the Environment tab of the Program Properties dialog box. |
DEPENDENT PROGRAM |
No |
A program (in this package) that must run before the current program. This entry uses the following format: |
Run another program first option in the Advanced tab of the Program Properties dialog box. |
ASSIGNMENT |
Defaults to FirstUser |
How the program is assigned to users. You can specify FirstUser, so that only the first user who logs on runs the program, or EveryUser, so that every user who logs on to the client runs the program. |
When program is assigned option in the Advanced tab of the Program Properties dialog box. |
DISABLED |
Defaults to False. |
Whether this program can be run and/or displayed when advertised to clients. You can specify True or False. |
Disable this program on computers where it is advertised option in the Advanced tab of the Program Properties dialog box. |
REMOVE PROGRAM |
No. Useful only if UninstallKey is set. |
Indicates that SMS will remove this program from client computers when it is no longer advertised to those clients. You can specify True or False. This option is mainly useful for shared network applications and available only to programs that register with Add/Remove Programs in Control Panel. |
Remove software when it is no longer advertised option in the Advanced tab of the Program Properties dialog box. |
UNINSTALLKEY |
No, but required if Remove Program is equal to True. |
The name of the uninstall registry key the program creates in the HKEY_LOCAL_MACHINE \SOFTWARE |
Uninstall registry key option in the Advanced tab of the Program Properties dialog box. |
After you create the PDF, you can use the Distribute Software Wizard or the Create Package from Definition Wizard to distribute software with the PDF. The Distribute Software Wizard combines the tasks required to distribute software into a single interface. The Create Package from Definition Wizard creates the package and is most useful when you want to delay the advertisement of the software, or when you require advertisement options not included in the Distribute Software Wizard.
You can import PDFs into the wizard. To do this, copy the PDFs into the %Windir%\MS\SMS\Scripts\<LanguageDirectory>\PDFstore directory, and then run the wizard to initiate the report.
If you want to make changes in an existing PDF, replace the PDF in the PDFstore directory with a new copy. The values in the new file will be used to update the values in the existing PDF if the following properties remain constant:
[Package Definition]
Publisher
Name
Version
Language
This section includes information about using the Distribute Software Wizard and using the Create Package from Definition Wizard with PDFs.
You can use the Distribute Software Wizard to easily distribute software to clients. This wizard guides you through the process of creating an advertisement for a selected collection.
As you proceed through the wizard, you are prompted to specify the following information:
Package and program
The package you want to create from a definition. You can either select a package definition from the list of existing package definitions or click Browse to import a new PDF.
Package definition
The properties for the new package. You can select from a list of known package definitions or import a new package definition.
Existence of source files
Whether the package contains any files and if a compressed copy should be created.
Distribution points
The distribution points that you want to copy the package to.
Advertisements
The information required for SMS to advertise one of the package's programs to a collection. The wizard displays any existing advertisements for this package.
Collection
The collection of resources (the target collection) that you want to receive the program. You can select an existing collection or create a new one. You can also choose to advertise the program to the collection's subcollections.
Schedule
The date and time when you want the program to be available to clients for installation, and whether the program is mandatory ("assigned"). You can also specify whether the program advertisement will expire, and if so, the expiration date and time.
The Create Package from Definition Wizard guides you through the steps necessary to create a package from a PDF. As you proceed through the wizard, you are prompted to specify the following information:
Package definition
The properties for the new package. You can select from a list of known package definitions or import a new package definition.
Existence of source files
Whether the package contains any files and if a compressed copy should be created.
Location of source files
The location on the network of any required source files.
After the wizard is completed, SMS displays the new package in the SMS Administrator console. SMS automatically grants the User and Guest accounts Read permission, and the Administrators user group Full Control permission , to the package share on distribution points.
When PDFs that were created for SMS 1.x are imported into SMS 2.0, some sections and entries are discarded, while others are mapped to entries with different names.
The following table shows how elements of SMS 1.x PDFs correlate to those in SMS 2.0. Note that all required sections and keys that are new for SMS 2.0 will be set to the default values for those entries.
Table 7.4 Comparing Version 1. x to Version 2.0
SMS 1.x entry |
SMS 2.0 entry |
---|---|
[PDF] |
[PDF] |
Version |
Version |
[Package Definition] |
[Package Definition] |
Product |
Name |
Version |
Version |
Comment |
Comment |
SetupVariations |
Programs |
WorkstationAccess |
(ignored) |
[ SetupVariation Setup] |
[ program ] |
CommandName |
Name |
CommandLine |
CommandLine |
SystemTask=True |
CanRunWhen=AnyUserStatus |
UserInputRequired |
UserInputRequired |
SynchronousSystemExitRequired |
AfterRunning=ProgramRestart |
SupportedPlatforms |
SupportedClients |
[Setup Package for Sharing] |
(ignored) |
[Program Item Properties index ] |
(ignored) |
[Setup Package for Inventory] |
(ignored) |
[File index] |
(ignored) |