The Definitive Guide to Windows Installer Technology

by Darwin Sanoy and Jeremy Moskowitz


You hear a lot about Windows Installer (.MSI) technology, but what does it really mean for you and your organization? What is “under the hood” of a Windows Installer installation? What do you need to know to effectively migrate to the .MSI standard? The Definitive Guide to Windows Installer Technology for System Administrators explores answers to these questions and more.


Chapter 1: Meet Windows Installer

You’re an administrator. You’re the person who comes in early to reboot the servers on Sunday. You’re the person who stays late to ensure that the backup job has really kicked off successfully. You’re setting up servers and hauling around the occasional desktop, and you’re the lucky one who all-too-frequently has the honor of losing weekends due to a poorly planned “move, add, change.” We created this book for you.

If you’re familiar with the technology and history behind Windows Installer, you know that historically, discussions about this technology have had a bit of a developer slant. However, there is another side to these discussions, and the administrator’s side to the Windows Installer story is an exciting one that might get you a weekend or two back.

We’re going to try hard in this book to show you why Windows Installer is useful for you—the administrator. Throughout the book, we will be getting into some of the meaty internals of Windows Installer. If you have a little bit of a developer background, that’s great; but those who do not will be just as comfortable and find much useful information. With that in mind, let’s start our journey.

Chapter 2: MSI Tools Roundup

In the last chapter, you were introduced to the current crop of installation headaches and how the Windows Installer technology in conjunction with MSI files helps get you closer to the way you should be installing your software. Remember, Windows Installer allows you several tangible benefits that you can’t get via the widespread setup.exe methods. A quick review of the major highlights follows:

  • Transactional install and rollback—If the package fails to install midway, the package automatically removes itself as if the installation was never attempted.
  • Self-healing (or self-repair) of corrupt or deleted critical files—If the installation is damaged, a file (or many files) can be grabbed from the installation source to fix the application.
  • Just-in-time (JIT) installation—A package need not be fully installed right away. If a feature or component of the package is needed later, it can be grabbed from the source and loaded JIT—all while the application is already started.

Chapter 3: Windows Installer Internals

Why does an administrator need to be concerned with the internals of Windows Installer? When Windows Installer works correctly, it provides you with some sophisticated features that save you time and enhance your users’ productivity. However, when things go wrong, finding the problem will depend heavily on your understanding of how the internals of packages work. This idea is applied equally to debugging vendor supplied packages as well as ones from your own internal packaging operations or in-house developers. A good framework for understanding Windows Installer internals will also give you the foundation for building good packages.

Chapter 4: Best Practices for Building Packages

In Chapter 3, we laid the groundwork for a better understanding of the internals of a Windows Installer package. Understanding the internal structures of a package and how packages are processed is critical to building packages. I highly recommended that you read Chapter 3 before reading this chapter.

Chapter 5: Windows Installer with or without Active Directory

Although Windows Installer saw the light of day as the technology that installed Office 2000, its grand entrance was with the release of Win2K. Many new management technologies were also released in Win2K. To the casual observer, it might appear that the management technologies in Win2K are only available if a company is willing to deploy Win2K to all of their servers and desktops and to use AD for authentication and directory services. In fact, Windows Installer can actually be used very effectively in the absence of Win2K servers, AD, and even Win2K or later desktops. This chapter will examine several topics with two major themes in mind:

  1. If a company does not have AD, what plans must be made to ensure that Windows Installer has the necessary supporting technologies to be effective. This perspective is important for companies who will never have AD as their primary directory service and companies who will have a delay or extended AD deployment.
  2. If a company has or plans to deploy all the Win2K technologies (server, directory, desktop), there are still some significant challenges to building software distribution by Microsoft’s IntelliMirror playbook. This perspective will point out these areas and highlight alternative approaches.

Chapter 6: MSI Deployment Roundup

They say that getting there is half the fun—if such is the case, you’ve already experienced half the joy of your MSI deployment journey. Up to this point, you’ve been through the ins and outs in getting your MSI file “just right.” In Chapter 1, you learned about what an MSI file is and why you would want to use one. In Chapter 2, you discovered the tools you can use to create MSI files, and in Chapter 3, became familiar with the internals of the files. In Chapter 4, we explored the best practices for building MSI files, and in the last chapter, you learned how they work inside and outside AD environments. Now, you’re ready for the last leg of the journey—the deployment to your client systems of the MSI files you’ve created. In this chapter, we’ll explore myriad free, cheap, and third-party deployment options for getting the MSI file from the administrative workstation where you developed the package onto the plate of each of your systems. Let’s start with MSI deployment methods that are free.