Link multiple hotfixes using QChain

You know the drill for applying hotfixes to your Windows servers: apply hotfix, reboot, repeat. Microsoft felt your pain and developed QChain to link hotfixes and cut down on the restarts. John Sheesley explains where to get it and how to use it.

Microsoft releases hotfixes to address problems that pop up between service packs. Although it’s relatively easy to apply individual hotfixes, applying multiple hotfixes at one time can be a pain because you usually have to restart the machine in between each one. To ease your pain, Microsoft released QChain, a utility that helps minimize reboot time by queuing the hotfixes and installing them all at once.

How do you spell relief?
When you add or remove a service to your server, you usually need to reapply the last service pack and any additional hotfixes you’ve applied to your server. That’s because often, the new service will reintroduce older versions of programs and files that have been updated by the service packs and hotfixes. While it’s not a problem to reapply one service pack and a couple of hotfixes, it can quickly get tedious when you have to reapply several hotfixes—especially when you must restart your server before you can apply the next one. Think how long it might take to apply a service pack and a dozen hotfixes. You would have to reboot your server thirteen times. What a headache!

Microsoft created the QChain utility to help minimize the reboot madness. QChain allows you to queue up all of the hotfixes and install them at once, rebooting only after all of the hotfixes have applied.

Sometimes two hotfixes can contain changes to the same file. Without QChain, when you attempt to apply both hotfixes at the same time without rebooting between installations, only the version of the file in the last applied hotfix will wind up on the server. Even if the first hotfix you ran had a later version of the file than the second, the last applied version of the file would survive. In such a case, you might end up with file version conflicts, and in a worst-case scenario, these conflicts could lead to blue screens and data loss.

QChain prevents such catastrophes by analyzing the files updated by hotfixes and resolving any conflicts between them. So, when you have two hotfixes that update the same file, QChain checks the version of the file contained in each hotfix and ensures that only the latest version is applied.

Editor’s note
When you apply hotfixes the correct way—rebooting after each hotfix—you won’t be plagued by versioning problems. Each hotfix checks the installed version of the files it’s installing and won’t overwrite later versions of files. When installing multiple hotfixes without rebooting, conflicts can occur because the files to be updated are placed in a queue and the hotfixes aren’t designed to check file versions in that queue.

No prescription necessary
You can download the 55-KB QChain file from Microsoft’s Support Web site to a temporary directory on your hard drive and extract it by running q296861_x86_en.exe either from the command prompt or Windows Explorer.

When you run q296861_x86_en.exe, you will be asked to specify a location as to where to extract the compressed files. Type the name of the directory that you’ll use to contain all of the hotfixes for your server. I usually call my directory Hotfix. Don’t worry about creating the directory first, q296861_x86_en.exe will do it for you. Just enter the name of the directory in the Choose Directory For Extracted Files field and click OK. After the files extract, you’ll see the qchain.exe file and SYMBOLS directory in the new directory

Next, copy all of the hotfixes for your server into this directory. To make QChain work efficiently, create a batch file with any text editor that installs all of the hotfixes and then calls QChain. The batch file should look something like this:
Echo off
hotfix1 –z –m
hotfix2 –z –m
hotfix3 –z –m

Just replace hotfix1, hotfix2, and hotfix3 with the full executable names of the hotfixes. You can include as many hotfixes as you want; just make sure the last command in the batch file reads qchain. The –z and –m switches at the end of the hotfix lines tell the hotfixes to not reboot after installation and to not display any prompts of messages. If you want to create a log of what QChain does, just add a file name to the end of the qchain command in the batch file.

After you create the batch file and save it to your designated hotfix directory, run it. It will apply all of the fixes and then execute QChain. After the batch file finishes, reboot your server and you’re done.

Next time you’re in a crunch and need to apply a large number of hotfixes, try out QChain. All you have to do is copy all of your hotfixes to one location, create or update a batch file, run it, and reboot once. A doctor couldn’t prescribe a better pain reliever.

Editor's Picks

Free Newsletters, In your Inbox