Reviewing Application Deployment and Distribution Tools

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Microsoft provides several tools to help you deploy or distribute applications and .sdb files. These tools include:

  • Deployment tools, such as the System Preparation (Sysprep) tool and Remote Installation Services (RIS). You use these automated installation tools to deploy applications and .sdb files during an operating system rollout.

  • Distribution tools, such as SUS, Group Policy Software Installation, logon scripts, and SMS. You use these tools to distribute applications and .sdb files to computers that already have an operating system installed.

In addition, Microsoft provides two tools that you use in conjunction with the deployment tools and the distribution tools to package and install applications and .sdb files. These tools are:

  • Application Compatibility Database Installer (Sdbinst.exe), which you use to install and register .sdb files.

  • Windows Installer, which consists of two tools: a software packaging tool that you use to package application installation files and .sdb files, and an installer tool that you use to install the packages.

This section provides you with an overview of these tools.

Deployment Tools

There are three primary methods of deploying applications and .sdb files during an operating system rollout: unattended installation, image-based installation, and RIS installation. Each method requires one or more tools.

Unattended installation   Unattended installation is a method of automating the Windows Setup program so that no user input is required when you install an operating system or applications. To perform unattended installations, you need to create an answer file that contains answers to the questions that Windows Setup normally prompts for during an installation. By using an answer file to control Windows Setup, you can automate the entire installation process, including the installation of applications and .sdb files. Unattended installation is the most flexible method of deploying applications and .sdb files: It can be used to perform operating system upgrades or clean installations on computers with different hardware and software configurations.

Image-based installation   Image-based installation is a method of copying, also known as cloning, preconfigured operating systems and software applications onto clients and servers. To perform image-based installations, you need the Sysprep tool, which can be found on the Windows XP Professional or Windows Server 2003 operating system CD, and you need a third-party disk-imaging tool. Image-based installation is the fastest method of installing operating systems and applications, but you cannot use it to perform operating system upgrades.

RIS installation   RIS installation is a method of cleanly installing an operating system and applications across a network with minimal end-user interaction. RIS uses Pre-Boot eXecution Environment (PXE) technology to enable client computers without an operating system to start up and connect remotely over a TCP/IP network connection to a RIS server, which installs a supported operating system. RIS installations require substantial planning and design, but are an efficient deployment method if you need to install clean operating systems and preconfigured applications onto a large number of clients.

To obtain the unattended and image-based installation tools, open the Support\Tools folder on any Windows XP Professional or Windows Server 2003 operating system CD, and then open Deploy.cab. The Readme.txt file in Deploy.cab explains how to install and use the tools. The RIS installation tools are built into Windows Server 2003. For more information about unattended installations, image-based installations, and RIS installations, see "Designing Unattended Installations," "Designing Image-based Installations with Sysprep," and "Designing RIS Installations," respectively, in Automating and Customizing Installations of this kit.

Distribution Tools

The four most commonly used methods of distributing applications and .sdb files are the use of Group Policy Software Installation, logon scripts, the Software Update Services (SUS), and SMS.

Group Policy Software Installation   You can use Group Policy Software Installation to centrally install and manage software applications throughout an organization. Using this management system, you can distribute applications and .sdb files to groups of users and computers. It is the most common method of distributing applications and .sdb files to computers that already have an operating system installed. Active Directory is required in order to use Group Policy Software Installation.

Logon scripts   Logon scripts run when a user logs on to a computer. Logon scripts typically are written as command (.cmd) files, batch (.bat) files, or Microsoft® Visual Basic® Scripting Edition (.vbs) files.

Software Update Services (SUS)   You can use SUS to download updates for Windows XP Professional and Windows Server 2003. The updates can include updated versions of the prepackaged application compatibility databases and updated versions of the corresponding code segments that run when an application needs an application compatibility fix, application compatibility mode, or Application Help message. SUS provides dynamic notification of updates to computers, and it provides a simple, automatic solution for distributing updates to networked clients and servers.

SMS   You can use SMS to distribute applications and .sdb files. SMS includes features such as software metering and software distribution-point population and maintenance. SMS does not require Active Directory.

Note

  • You also can use a third-party software management program to distribute applications and .sdb files.

Group Policy Software Installation and SUS are built into Windows Server 2003. For more information about Group Policy, see "Group Policy" in Help and Support Center for Windows Server 2003 and "Deploying a Managed Software Environment" in Designing a Managed Environment of this kit. For more information about SUS, see the "Software Update Services Deployment" white paper, available through the Software Update Services link on the Web Resources page at https://www.microsoft.com/windows/reskits/webresources, and the Deploying Software Update Services White Paper on the Microsoft Web site.

SMS is a Microsoft product available for purchase. For more information about SMS, see the SMS Product Information link on the Web Resources page at https://www.microsoft.com/windows/reskits/webresources.

Application Compatibility Database Installer

The Application Compatibility Database Installer (Sdbinst.exe) installs and registers your .sdb files on destination computers. Sdbinst.exe is a command-line program that is installed by default into the systemroot\System32 folder on computers running Windows XP Professional or Windows Server 2003. Although you can use Compatibility Administrator to install and register .sdb files, using Sdbinst.exe is the only way to automate this task on a large number of computers.

To use Sdbinst.exe, you first copy your .sdb files to the destination computers, and then run Sdbinst.exe on each destination computer. Usually, you copy your .sdb files to a subfolder in the systemroot\AppPatch folder (for example, systemroot\AppPatch\Custom) on each of the destination computers. This keeps all of the .sdb files in one place, because the prepackaged databases are stored in the systemroot\AppPatch folder on Windows XP Professional and Windows Server 2003. If you prefer, you can copy your application compatibility database files to a different folder, but if you do this you must set permissions on the folder granting the Everyone group Read & Execute access and the Administrators group Full Control access. This ensures that your application fixes get implemented regardless of who runs an application. It also ensures that only those users with Administrator credentials can register or alter your application compatibility database files.

Sdbinst.exe requires the following syntax:

sdbinst [-?] [-q] [-u] [-g] [-n] ApplicationCompatibilityDatabase.sdb | {GUID} | “InternalApplicationName”

The parameters are defined in Table 3.32.

Table 3.32    Command-Line Parameters for Sdbinst.exe

Parameter Description

-q

Runs Sdbinst.exe in quiet mode, which suppresses message boxes during the database installation process. Use this parameter if you are using an automated installation method to install application compatibility databases.

-u

Uninstalls an application compatibility database. To identify the application compatibility database that is to be uninstalled, you must specify a file name, a globally unique identifier (GUID), or an internal name.

-g

Specifies the GUID of the application compatibility database that you want to uninstall. Use only with the -u parameter. You must specify a GUID if you use this parameter.

-n

Specifies the internal name of the application compatibility database to be uninstalled. This is the name assigned internally to the database when it was created in Compatibility Administrator. Use only with the -u parameter. You must specify the internal name of the database if you use this parameter.

ApplicationCompatibilityDatabase

Specifies the name of the .sdb file that you want to install or uninstall.

GUID

Specifies the globally unique identifier of the application compatibility database that you want to uninstall. Use only with the -g parameter.

InternalApplicationName

Specifies the name of the application compatibility database that you want to uninstall. This is the name assigned internally to the database when it was created in Compatibility Administrator. Use only with the -n parameter.

-?

Displays the Help documentation for Sdbinst.exe.

Windows Installer

Windows Installer consists of several tools and features, two of which are useful for deploying and distributing applications and .sdb files: Windows Installer packages (.msi files), and the Windows Installer tool (Msiexec.exe). As a stand-alone tool, Msiexec.exe is not a solitary solution for deploying and distributing applications and .sdb files. You use Msiexec.exe in conjunction with your deployment or distribution tools. Likewise, you use .msi files in conjunction with your deployment or distribution tools.

Windows Installer packages

A Windows Installer package (.msi file) contains all of the information that the Windows Installer service requires to run an application’s setup program and to install and configure the application. In addition, a Windows Installer package can contain any files that are required by the application’s setup program, such as dynamic-link library (.dll) files, information (.inf) files, executable (.exe) files, or cabinet (.cab) files. Packaging your applications and your .sdb files into Windows Installer packages makes application deployment and distribution easier and more efficient, and prevents you from having to manage numerous installation files for each of your applications. Application developers usually create Windows Installer packages at the end of the software development process, but you can create a Windows Installer package after an application has been developed.

You can use either Microsoft® Visual Studio® .NET development system or a third-party software program to create Windows Installer packages. For more information about creating Windows Installer packages, see the Windows Installer Software Developer’s Kit (SDK) link on the Web Resources page at https://www.microsoft.com/windows/reskits/webresources.

Windows Installer tool (Msiexec.exe)

Msiexec.exe carries out the instructions that are contained in a Windows Installer package. Msiexec.exe performs all installation-related tasks, including copying files onto the hard disk, modifying the registry, and creating shortcuts on the desktop. Msiexec.exe is a command-line tool that is built into Windows XP Professional and Windows Server 2003.

For more information about Msiexec.exe command-line syntax and usage, see "Msiexec (command-line options)" in Help and Support Center for Windows Server 2003.