Chapter 6

Managing Software Deployment

IN THIS CHAPTER

check Understanding the types of software licenses

check Using license servers

check Exploring the deployment options

check Keeping up to date with patches and service packs

An important task of any network administrator is managing the various bits and pieces of software that are used by your users throughout the network. Most, if not all, of your network users will have a version of Microsoft Office installed on their computers. Depending on the type of business, other software may be widely used. For example, accounting firms require accounting software; engineering firms require engineering software; and the list goes on.

Long gone are the days when you could purchase one copy of a computer program and freely install it on every computer on your network. Most software has built-in features — commonly called “copy protection” — designed to prevent such abuse. But even in the absence of copy protection, nearly all software is sold with a license agreement that dictates how many computers you can install and use the software on. As a result, managing software licenses is an important part of network management.

Some software programs have a license feature that uses a server computer to regulate the number of users who can run the software at the same time. As the network administrator, your job is to set up the license server and keep it running.

Another important aspect of managing software on the network is figuring out the most expedient way to install the software on multiple computers. The last thing you want to do is manually run the software’s Setup program individually on each computer in your network. Instead, you’ll want to use the network itself to aid in the deployment of the software.

Finally, you’ll want to ensure that all the software programs installed throughout your network are kept up to date with the latest patches and updates from the software vendors.

This chapter elaborates on these aspects of network software management.

Understanding Software Licenses

Contrary to popular belief, you don’t really buy software. Instead, you buy the right to use the software. When you purchase a computer program at a store, all you really own after you complete the purchase is the box the software comes in, the disks/discs the software is recorded on, and a license that grants you the right to use the software according to the terms offered by the software vendor. The software itself is still owned by the vendor.

That means that you’re obligated to follow the terms of the license agreement that accompanies the software. Very few people actually read the complete text of a software agreement before they purchase and use software. If you do, you’ll find that a typical agreement contains restrictions, such as the following:

TABLE 6-1 Microsoft Volume License Plans

Plan

Features

Open License

Purchase as few as five end-user licenses.

Open Value

Purchase as few as five end-user licenses and receive free upgrades during the subscription term (three years).

Select License

This is a licensing program designed for companies with 250 or more employees.

Enterprise

This is an alternative to the Select License program that’s designed to cost-effectively provide Windows Vista, Office, and certain other programs throughout an organization of at least 250 employees.

Using a License Server

Some programs let you purchase network licenses that enable you to install the software on as many computers as you want, but regulate the number of people who can use the software at any given time. To control how many people use the software, a special license server is set up. Whenever a user starts the program, the program checks with the license server to see whether a license is available. If so, the program is allowed to start, and the number of available licenses on the license server is reduced by one. Later, when the user quits the program, the license is returned to the server.

One of the most commonly used license server software is FlexNet Publisher, by Flexera Software. (This program used to be named FlexLM, and many programs that depend on it still distribute it as FlexLM.) It’s used by AutoCAD as well as by many other network software applications. FlexNet Publisher uses special license files issued by a software vendor to indicate how many licenses of a given product you purchased. Although the license file is a simple text file, its contents are cryptic and generated by a program that only the software vendor has access to. Here’s an example of a typical license file for AutoCAD:

SERVER server1 000ecd0fe359

USE_SERVER

VENDOR adskflex port=2080

INCREMENT 57000ARDES_2010_0F adskflex 1.000 permanent 6 \

VENDOR_STRING=commercial:permanent BORROW=4320

SUPERSEDE \

DUP_GROUP=UH ISSUED=07-May-2007 SN=339-71570316 SIGN="102D \

85EC 1DFE D083 B85A 46BB AFB1 33AE 00BD 975C 8F5C 5ABC 4C2F \

F88C 9120 0FB1 E122 BA97 BCAE CC90 899F 99BB 23C9 CAB5 613F \

E7BB CA28 7DBF 8F51 3B21" SIGN2="033A 6451 5EEB 3CA4 98B8 F92C \

184A D2BC BA97 BCAE CC90 899F 2EF6 0B45 A707 B897 11E3 096E 0288 \

787C 997B 0E2E F88C 9120 0FB1 782C 00BD 975C 8F5C 74B9 8BC1"

(Don’t get any wild ideas here. I changed the numbers in this license file so that it won’t actually work. I’m not crazy enough to publish an actual valid AutoCAD license file!)

One drawback to opting for software that uses a license server is that you have to take special steps to run the software when the server isn’t available. For example, what if you have AutoCAD installed on a notebook computer, but you want to use it while you’re away from the office? In that case, you have two options:

  • Use virtual private network (VPN) software to connect to the network. After you’re connected with the VPN, the license server will be available so you can use the software. (Read about VPNs in Book 4, Chapter 6.)
  • Borrow a license. When you borrow a license, you can use the software for a limited period of time while you’re disconnected from the network. Of course, the borrowed license is subtracted from the number of available licenses on the server.

tip In most cases, the license server is a mission-critical application — as important as any other function on your network. If the license server goes down, all users who depend on it will be unable to work. Don’t worry; they’ll let you know. They’ll be lining up outside your door demanding to know when you can get the license server up and running so they can get back to work.

Because the license server provides such an important function, treat it with special care. Make sure that the license server software runs on a stable, well-maintained server computer. Don’t load up the license server computer with a bunch of other server functions.

And make sure that it’s backed up. If possible, install the license server software on a second server computer as a backup. That way, if the main license server computer goes down and you can’t get it back up and running, you can quickly switch over to the backup license server.

Options for Deploying Network Software

After you acquire the correct license for your software, the next task of the network administrator is to deploy the software: that is, installing the software on your users’ computers and configuring the software so that it runs efficiently on your network. The following sections describe several approaches to deploying software to your network.

Deploying software manually

Most software is shipped on CD or DVD media along with a Setup program that you run to install the software. The Setup program usually asks you a series of questions, such as where you want the program installed, whether you want to install all the program’s features or just the most commonly used features, and so on. You may also be required to enter a serial number, registration number, license key, or other code that proves you purchased the software. When all these questions are answered, the Setup program then installs the program.

If only a few of your network users will be using a particular program, the Setup program may be the most convenient way to deploy the program. Just take the installation media with you to the computer you want to install the program on, insert the disc into the CD/DVD drive, and run the Setup program.

warning When you finish manually installing software from a CD or DVD, don’t forget to remove the disc from the drive! It’s easy to leave the disc in the drive, and if the user rarely or never uses the drive, it might be weeks or months before anyone discovers that the disc is missing. By that time, you’ll be hard-pressed to remember where it is.

Running Setup from a network share

If you plan on installing a program on more than two or three computers on your network, you’ll find it much easier to run the Setup program from a network share rather than from the original CDs or DVDs. To do so, follow these steps:

  1. Create a network share and a folder within the share where you can store the Setup program and other files required to install the program.

    I usually set up a share named Software and then create a separate folder in this share for each program I want to make available from the network. You should enable Read access for all network users, but allow full access only for yourself and your fellow administrators. (Read more about setting permissions in Book 6, Chapter 4.)

    Read more about creating shares and setting permissions in Chapter 5 of Book 6.

  2. Copy the entire contents of the program’s CD or DVD to the folder you create in Step 1.

    To do so, insert the CD or DVD in your computer’s CD/DVD drive. Then, use Windows Explorer to select the entire contents of the disc and drag it to the folder you create in Step 1.

    Alternatively, you can choose Start ⇒ Run to open a command prompt. Then, enter a command, such as this:

    xcopy d:\*.* \\server1\software\someprogram\*.* /s

    In this example, d: is the drive letter of your CD/DVD drive, server1 is the name of your file server, and software and someprogram are the names of the share and folder you created in Step 1.

  3. To install the program on a client computer, open a Windows Explorer window, navigate to the share and folder you create in Step 1, and double-click the Setup.exe file.

    This launches the Setup program.

  4. Follow the instructions displayed by the Setup program.

    When the Setup program is finished, the software is ready to use.

warning Copying the Setup program to a network share spares you the annoyance of carrying the installation discs to each computer you want to install the software on. It doesn't spare you the annoyance of purchasing a valid license for each computer, though! It’s illegal to install the software on more computers than the license you acquired from the vendor allows.

Installing silently

Copying the contents of a program’s installation media to a network share does spare you the annoyance of carrying the installation discs from computer to computer, but you still have to run the Setup program and answer all its annoying questions on every computer. Wouldn’t it be great if there were a way to automate the Setup program so that after you run it, it runs without any further interaction from you? With many programs, you can.

In some cases, the Setup program itself has a command line switch that causes it to run silently. You can usually find out what command line switches are available by entering the following at a command prompt:

setup /?

With luck, you’ll find that the Setup program itself has a switch, such as /quiet or /silent, that installs the program with no interaction, using the program's default settings.

technicalstuff If the Setup program doesn’t offer any command line switches, don’t despair. The following procedure describes a technique that often lets you silently install the software:

  1. Open an Explorer window and navigate to

    • Windows 10 (as well as 8.1, 8, 7, and Vista): C:\Users\name\AppData\Local\Temp
    • Windows XP: C:\Documents and Settings\name\Local Settings\Temp

    Then, delete the entire contents of this folder.

    This is the Temporary folder where various programs deposit temporary files. Windows may not allow you to delete every file in this folder, but it’s a good idea to begin this procedure by emptying the Temp folder as much as possible.

  2. Run the Setup program and follow the installation steps right up to the final step.

    warning When you get to the confirmation screen that says the program is about ready to install the software, stop! Do not click the OK or Finish button.

  3. Return to the Temp folder you open in Step 1, and then poke around until you find the .msi file created by the Setup program you run in Step 2.

    The .msi file is the actual Windows Installer program that Setup runs to install the program. It may have a cryptic name, such as 84993882.msi.

  4. Copy the .msi file to the network share from which you want to install the program on your client computers.

    For example, \\server1\software\someprogram.

  5. (Optional) Rename the .msi file to setup.msi.

    This step is optional, but I prefer to run setup.msi rather than 84993882.msi.

  6. Use Notepad to create a batch file to run the .msi file with the /quiet switch.

    To create the batch file

    1. Right-click in the folder where the .msi file is stored.
    2. Choose New ⇒  Text Document.
    3. Change the name of the text document to Setup.bat.
    4. Right-click the Setup.bat file and choose Edit.
    5. Add the following line to the file:

      setup.msi /quiet

    6. Save the file.

    You can now install the software by navigating to the folder you created the setup.bat file in and double-clicking the setup.bat file.

Creating an administrative installation image

Some software, such as Microsoft Office and AutoCAD, comes with tools that let you create a fully configured silent setup program that you can then use to silently install the software. For Microsoft software, this silent setup program is called an “administrative installation image.” (Note that the OEM versions of Microsoft Office don't include this feature. You need to purchase a volume license to create an administrative installation.)

To create an administrative image, you simply run the configuration tool supplied by the vendor. The configuration tool lets you choose the installation options you want to have applied when the software is installed. Then, it creates a network setup program on a network share that you specify. You can then install the software on a client computer by opening an Explorer window, navigating to the network share where you saved the network setup program, and running the network setup program.

Pushing out software with group policy

One final option you should consider for network software deployment is using Windows Group Policy to automatically install software to network users. Group Policy is a feature of recent versions of Windows Server (2003 and later) that lets you create policies that are assigned to users. You use the Windows Group Policy feature to specify that certain users should have certain software programs available to them.

Note that group policies aren’t actually assigned to individual users, but to organizational units (OUs), which are used to categorize users in Active Directory. Thus, you might create a group policy to specify that everyone in the Accounting Department OU should have Microsoft Excel.

Then, whenever anyone in the Accounting department logs on to Windows, Windows checks to make sure that Excel is installed on the user’s computer. If Excel is not installed, Windows advertises Excel on the computer. Advertising software on a computer means that a small portion of the software is downloaded to the computer — just enough to display an icon for the program on the Start menu and to associate Excel with the Excel file extensions (.xls, .xlsx).

If the user clicks the Start menu icon for the advertised application or attempts to open a document that’s associated with the advertised application, the application is automatically installed on the user’s computer. The user will have to wait a few minutes while the application is installed, but the installation is automatic.

For more information about setting up group policy software installation, search Google or any other search engine for Group Policy Software.

Keeping Software Up to Date

One of the annoyances that every network manager faces is applying software patches to keep the operating system and other software up to date. A software patch is a minor update that fixes the small glitches that crop up from time to time, such as minor security or performance issues. These glitches aren’t significant enough to merit a new version of the software, but they’re important enough to require fixing. Most patches correct security flaws that computer hackers have uncovered in their relentless attempts to wreak havoc on the computer world.

Periodically, all the recently released patches are combined into a service pack. Although the most diligent network administrators apply all patches when they’re released, many administrators just wait for the service packs.

Windows includes the Windows Update feature that automatically installs patches and service packs when they become available. These patches apply not just to Windows but to other Microsoft software as well. To use Windows Update, open the Control Panel, click System and Security, and then click Windows Update. A window appears, such as the one shown in Figure 6-1.

image

FIGURE 6-1: Windows Update.

From the Windows Update window, you can click the Install Updates button to download any updates that apply to your computer. You can also configure Windows Update so that it automatically checks for updates and installs them without asking. To set this option, click the Change Settings link. This displays the Windows Update Change Settings page, as shown in Figure 6-2.

image

FIGURE 6-2: Changing the Windows Update settings.

The Important Updates drop-down list gives you several options for automatic operation:

  • Install Updates Automatically: Checks for updates on a regular basis and installs them without asking. You can specify how often to check for updates and at what time.
  • Download Updates But Let Me Choose Whether to Install Them: If you’re a picky computer user, you should choose this option. It automatically downloads the updates but then gives you the option of whether or not to install them. This lets you opt out of updates you may not want.
  • Check for Updates But Let Me Choose Whether to Download and Install Them: This option lets you determine which updates should be downloaded.
  • Never Check for Updates: This option disables automatic updates altogether.