1. The Case for ConfigMgr Software Packaging
In
general, packages are used to install software on systems. You can also
use packages to execute just a command on a system, without installing
any software. If you go back far enough into the history of Windows
systems, there was a time when the IT (Information Technology) staff
simply used batch scripts and executable files to install software.
The
focus on software installation presents an interesting challenge—did
software technicians and system administrators consider how to remove
that installed software from a system? Initially, software packages
tended to be inconsistent in their uninstallation methods; and in some
cases, you could not uninstall them.
Software
packaging has evolved such that the majority of installations are now
performed using an MSI (Microsoft Installer Package) file. Using MSIs
provide a more consistent installation (and uninstallation) experience
and is the current industry standard.
|
You
may be thinking, “Why do I have to package software within ConfigMgr? I
already have a software package (it may even be an MSI file). Why must
I repackage it to distribute it in Configuration Manager 2007?” Realize
that ConfigMgr is not so much packaging software as it is preparing
software for distribution. The packages, programs, and advertisements
in ConfigMgr are designed to utilize existing packaging, or work with
unpackaged software applications by directly executing an EXE or other
file type—much like you might see on a raw CD or DVD. The reason one
packages software in ConfigMgr is that software companies design
commercial software packages for manual installation by the individual
purchasing the software, and the installation process expects users to
respond to configuration questions. In contrast, ConfigMgr packages are
typically used with unattended installations. With Configuration
Manager, you are not really repackaging the application—you are using
the existing software package to automate its usage by ConfigMgr.
As an example, if you install WinZip (available at www.winzip.com),
its setup program asks questions regarding preferences to install the
software on a particular system. When you automate the software
installation process, a fully automated WinZip software package will
not prompt users with questions about how they want something
installed. Instead, you must determine in advance how to install the
application on all your systems.
ConfigMgr
is flexible in its options for deploying software packaging. ConfigMgr
2007 provides the ability to install on a per-system or per-user basis
and can also prompt the user for information or provide fully silent
software installations. Although Configuration Manager can provide
installations designed for user interaction, its real power in this
area is its ability to deploy software silently, without any user
interaction required.
Advantages of ConfigMgr software packaging include the following:
The next sections discuss these benefits.
Automated Deployment
Software
deployments in Configuration Manager are typically designed for
installation without user intervention, although ConfigMgr can deploy
software requiring user intervention if that is necessary. Using an
automated approach enables a quicker and more efficient software
installation, and permits an unattended installation without the user
logged in to the system. Automating software installation is one of the
major benefits of using ConfigMgr to deploy software.
Consistency
Automating
a software deployment includes selecting installation options in
advance. Using the WinZip installation as an illustration, there is a
series of questions asked during setup—from accepting a license
agreement to the location to install the program. WinZip also asks
whether to use the classic or wizard interface.
Packaging
software with Configuration Manager lets you define how to install the
software such that it will be consistent throughout your environment.
As an example, ConfigMgr-installed software will use a particular
directory and a specific configuration. This makes it quicker to find
the program, and easier for the users (and helpdesk personnel) because
there is a consistent experience with the application regardless of the
particular desktop.
Consistency in
software deployments also increases the uniformity of data in the
reports available with Configuration Manager 2007. ConfigMgr includes
software inventory functionality and reports on your installed
software. Performing software deployments with ConfigMgr
simplifies the process to provide a consistent version of that software
throughout your organization. Without standard deployments, if you use
software such as Adobe Reader and let users download and install it on
their own, you may have several different versions to support.
Targeted Deployment
Using
ConfigMgr 2007 lets you choose which systems or users will receive what
software. Configuration Manager automates software deployment to these
specified groups of systems or users. This capability, known as targeting,
helps you meet the particular deployment requirements of your
organization. As an example, you can target one configuration for an
application to one group and a different configuration of that
application to another group. This targeted approach to deployment
provides increased flexibility while maintaining the ability to deploy
software in an automated method.
Software Removal
An
often overlooked benefit of using ConfigMgr for software packaging is
the ability to automate uninstalling those software packages. An
instance where this would be beneficial is a software package with a
specified timeframe of when it should be available and when it needs to
be removed. This might be a software package licensed only for 1 year.
Another
advantage to automated software removal is the ability to deal with
unwanted software. If ConfigMgr, using its software inventory
functionality, determines a nonsupported software package is residing
on a system, you can define a process to uninstall that software. As an
example, assume your organization does not permit installing
peer-to-peer (P2P) file-sharing software on the network. The general
approach to shutting down these types of software packages is to block
them at the network level. If that is not viable, you can use ConfigMgr
to automate the process of uninstalling these software packages when
found on a system. You can remove the software by using a program in a
software package that performs the removal. For applications installed
using MSI files, software can be removed using a program defined in the
MSI package. For those applications without a predefined software
removal command line, you would need to create an uninstall program to
uninstall the application. This also provides a good alternative
approach to controlling P2P software, in addition to blocking those
applications on the network layer.
Software Package Reuse
Packages
created with Configuration Manager are reusable. As an example, if you
create a software package for a single location in a company, you can
use that same package for other locations in the company—without having
to deploy the software manually. You can also configure software
packages for use with other ConfigMgr technologies such as Operating
System Deployment (OSD).