1.2 Configuring the Installation Program
You
will want to make several changes to the program’s configuration on the
General tab for the OpsMgr agent installation. First, add a comment
explaining what the program will do. Next, change the properties on the
Per-system attended command line, as follows:
MSIEXEC.exe /i MOMAgent.msi /qn /l*v MOMinstall.log /m MSIHATJB USE_MANUALLY_SPECIFIED_SETTINGS=0
This
syntax will install the MOMAgent.msi in quiet mode, save the MSI log
file to a log named MOMinstall.log, and provide no configuration
information to the client (because the agent configuration is
discovered from Active Directory). Run the program as hidden, keep the
After Running setting of No action required, and specify a Category
setting of OpsMgr. Figure 9 displays these settings.
Now, move to the Requirements tab for the program. Figure 10 shows the default configuration for the OpsMgr program previously created using the package definition file.
The Requirements tab tells Configuration Manager the requirements for running the program:
Estimated disk space— The estimated disk space required to run the program.
Maximum allowed run time (minutes)— The amount of time the program is permitted to run.
This program can run only on specified client platforms— If the program can only run on specified platforms, select the allowed platforms.
Additional requirements—
This is an optional field for specifying additional requirement
information for users (up to 127 characters). Text will appear on
client computers in Control Panel -> Run Advertised Programs.
The
Estimated disk space setting defaults to 86MB when the package
definition file for the OpsMgr agent is used. Although the actual
amount of disk space may vary from the amount defined with the package
definition file, the default can provide a good starting point. As an
example, installations of the OpsMgr agent can require at least 154MB
of disk space based on the management packs monitored on the agent
system, so the setting here will be 200MB. Although there is a large
difference between an 86MB estimate and a 200MB estimate, it is better
to overestimate the required disk space ConfigMgr will check for—so
when applications are distributed they do not fill the remainder of the
disk space on the system. The Estimated disk space setting can be in
KB, MB, or GB, and it defaults to Unknown for program installations.
The
Maximum allowed run time (minutes) setting defines how long the program
is expected to run. There can be considerable variation in how a
program will run; this depends on the speed of the system ConfigMgr is
installing it on, the size of the program, and the network connectivity
between the system and the source files used for the installation. In
this example, the setting defaulted to Unknown. However, based on
previous installations of the OpsMgr agent, it should complete within
10 minutes. This option has direct impacts to configurations on both
the Environment tab and the MOM Maintenance Mode tab (discussed later
in this section) due to the addition of maintenance windows within
ConfigMgr 2007. This is used to determine whether a package has the
time to install before the maintenance window closes.
Two options are available for platforms on which ConfigMgr can run the program:
This program can run on any platform— This is the default configuration and works well for programs that are not platform specific.
This program can run only on specified client platforms—
This type of installation is for client-specific platforms. As an
example, the OpsMgr client actually has three different installation
files based on the client platform (amd64, i386, ia64). In this
situation, you would separately package each of the different program
types and use this option to allow each program to run only on a
specific client platform.
Note: Available Platforms to Run a Program On
The
list of available platforms may not be up to date with current OS
releases. An easy workaround for this is to create a collection of just
the operating systems you want and target that collection.
Specifying
that a program can run only on certain client platforms is only
beneficial when a collection contains systems with multiple platforms.
If an advertisement is targeted to a collection with only one platform
and the program is restricted to only run on a specific client
platform, this setting will be redundant.
For
the OpsMgr agent, change the properties on the Requirements tab to set
the estimated disk space to 200MB and the maximum allowed run time (in
minutes) to 10. Also, specify that this program can only run on
specified client platforms (that is, the x86 platforms this agent runs
on), as shown in Figure 11.
The Environment tab for this program identifies when a program can run. Here are the options:
Whether or not a user is logged on— This is the default configuration, and it works for the majority of installations.
Only when a user is logged on— This installation type is used when the program ConfigMgr is installing needs to have the user logged in to install.
Only when no user is logged on— The installation type will not install until the user logs out of the system.
The conditions under which a program can run directly tie into the Run mode options:
Run with user’s rights— This is only available if the option “Only when a user is logged on” is chosen for when the program can be run.
Run with administrative rights—
This is the default option and is available in any of the three
configurations that determine when a program can run. If you choose
this option, a check box is available to allow users to interact with
the program (Allow users to interact with this program). This setting
causes advertisements to execute under the Local System account context.
Tip: Running Advertisements with Administrative Rights
At
first glance, running an advertisement with administrative rights seems
like a nobrainer. Using this approach, you can install the software
regardless of what level of permissions are available to the user
logged in to the system. However, this can cause some difficulties when
installing a program that writes data to the Registry, or if the
package tries to access files the account does not have rights to
access. If this situation occurs, try running with the user’s rights
instead. If that does not work, create two different programs—one that
runs under the user access and allows access to the Registry, and a
second that runs with administrative rights. Next, link the programs
together with a Run this program first option. Sometimes this will
require repackaging the application to determine the portion of the
application that requires administrator rights to install. Another
option involves using the task sequencing engine to deploy packages
that need to perform Registry edits or run something in the user’s
context. This can be done by running a command line with a run as statement (this functionality is only available in ConfigMgr 2007 R2).
Use
the Allow users to interact with this program option in those
situations where the user needs to interact with the program. The
option Allow users to interact with the program is also an excellent
troubleshooting method to use when packages are not installing
correctly. With this option selected, the user interface is visible to
the user logged in to the system, and the user can interact with the
program. As an example, you will choose this option if the program
requires the user to make a selection or click a button. If a program
runs without this option selected and the program requires user
intervention, it waits for the user interaction (which will never
occur) and will eventually time out when the maximum allowed runtime
has occurred (defined on the Requirements tab of the program; if
undefined, the program times out after 12 hours).
The Drive mode that the program runs under includes the following configurations:
Runs with UNC name— This is the default setting, which runs the program using the UNC (Universal Naming Convention) name. As an example, \\<smsserver>\smspkge$\DAL00004
would be the distribution point when you create a package for the DAL
site and store it on the E: drive of the system.
Requires drive letter— The program requires a mapped drive to install, but allows ConfigMgr to use any available drive letter.
Requires specific drive letter (example: Z):—
The program requires mapping a specific drive letter for installation
(if you choose this option, an additional box is provided for
specifying the letter to be mapped). If the drive letter is not
available on the client system, the program will not run.
Reconnect to distribution point at logon—
This last setting specifies that the client will reconnect to the
ConfigMgr distribution point when logging in to the system. This option
is only available if the program runs only when a user is logged on,
with the user’s rights, and requires either a drive letter, or a
specific drive letter (as an example, the drive letter Z).
For the OpsMgr agent, take the defaults, as displayed in Figure 12.
The Advanced tab for the program, shown in Figure 13,
specifies a variety of configurations, such as whether other programs
run prior to this one, whether this program is run once for the
computer or for each user, where program notifications are suppressed,
how disabled programs are handled on clients, and how the program
integrates with install software task sequences.
Run another program first— This is the first option available on the Advanced tab. These are program dependencies,
and specifying this option causes another program to be run before this
program runs. By default, the check box is cleared. As an example,
there’s a software package that has several separate programs requiring
installation before the package can be installed. This program has five
levels of dependency—our original program will not run unless program
#2 has run, and program #2 will not run unless program #3 has run, and
so on.
If you choose this option, you must
specify a package and a program. The option “Allow this program to be
installed from the Install Software task sequence without being
advertised” is relevant when discussing task sequences within
ConfigMgr. Task sequences are a list of customizable tasks or steps
sequentially performed. A task sequence can be advertised to a
collection; as an example, a program can be advertised to a collection.
Task sequences provide a more elegant solution for many situations,
including those where multiple dependencies exist for a single program.
If
you specify the option to run another program first, the Always run
this program first option is also available (defaults as unchecked). If
this option is checked, the program it is dependent on will run
regardless of whether it previously ran on the same system.
When this program is assigned to a computer— This is a dropdown with two choices:
Suppress program notifications—
This option is a check box that is cleared by default. When checked,
the option causes any notification area icons, messages, and countdown
notifications to not display for the program. This is useful for
programs that may be running when someone is using the system, if there
is no requirement for notification that the program is running.
Disable this program on computers where it is advertised—
This check box determines how ConfigMgr will handle the program. The
option defaults to unchecked, but if checked, it specifies that
advertisements containing this program are disabled. When checked, this
option also removes the program from the list of available programs
that the user can run, and the program will not run on the systems
where it is assigned.
This approach is useful
when there is a need to temporarily halt a deployment because the
change applies to all advertisements of the program, and the program is
disabled when policies are retrieved by the client.
Allow this program to be installed from the Install Software task sequence without being advertised—
The final check box on the Advanced tab determines how the Install
Software task sequence in OSD handles the program. The option is
unchecked by default. You should check this option for any programs
used within an OSD task sequence.
For the OpsMgr agent, accept the default configurations, shown in Figure 13.
The
Windows Installer tab for the program provides installation source
management. If the program requires repair or reinstallation, the MSI
file automatically accesses the package files on a distribution point
to reinstall or repair the program. This screen defaults to cleared, as
displayed in Figure 14 for the OpsMgr package.
The available fields on the screen shown in Figure 14
are the Windows Installer product code and the Windows Installer file.
You can define these by clicking the Import button and specifying the
MSI file used for the program. Choosing the MSI file populates both of
these fields.
For the OpsMgr agent, accept the default configurations as displayed in Figure 14.
The
final tab determines the MOM maintenance mode configurations for the
program. Two options are available on this tab, as displayed in Figure 15:
Disable Operations Manager alerts while this program runs—
Selecting this option places the computer in OpsMgr maintenance mode
while the program is running. The duration of the maintenance mode is
defined by the Maximum allowed run time (minutes) setting defined on
the Requirements tab (refer to Figure 10).
Unfortunately, this option does not actually perform the steps required
to truly disable Operations Manager alerts while the program is
running. The option pauses the OpsMgr health service, but it does not
put everything into maintenance mode, meaning heartbeat alerts are
still generated. This option defaults to unchecked.
Generate Operations Manager alert if this program fails— If
this option is checked, it creates an event in the application log
containing the package name, program name, advertisement ID,
advertisement comment, and failure code or Management Information
Format (MIF) failure description. You can configure the application
event to create an alert in MOM/Operations Manager that will alert on
the situation. A good example of when to use this feature is for
critical software deployments such as service pack (SP) packages. This
option defaults to unchecked.