GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Latest
  • Newsletters
  • Resources
  • Buyer’s Guides
  • Events
  • Search
  • Features
  • Opinion
  • How-To
  • Videos
  • Blogs
  • BrandPosts
  • Podcasts
  • Analytics

This view

  • Original page
  • New address

GeezerVison is showing www.computerworld.com — Windows Installer


Robert L. Mitchell
by Robert Mitchell
Contributing Writer

Windows Installer

how-to
Dec 15, 20035 mins

No more DLL hell. That was just one of Microsoft Corp.’s goals when it introduced the Windows Installer service along with Windows 2000 nearly four years ago. The service, which now runs on Windows XP, Windows Server 2003 and earlier versions of Windows by way of service packs, was designed to provide much-needed consistency to the Windows application installation process.

Before Windows Installer was available, software developers created their own automated installation scripts or used third-party authoring tools to create an installation program. Each followed different rules, had a limited ability to keep track of files also in use by other applications and had no ability at all to track shared use of nonfile resources such Windows registry keys.

More

Computerworld QuickStudies This situation resulted in the classic problem in which one application would install a Dynamic Link Library (DLL) in the Windows system directory only to have another application overwrite it with a different version, breaking the first application in the process. Uninstall programs likewise unknowingly removed DLLs or changed registry keys that other applications were sharing.

Windows Installer enforces a single set of installation rules that all compliant applications follow, including versioning rules that prevent the overwriting of newer files with older ones. It also keeps track of all changes made to Windows, including any made to the file system and registry keys.

For Installer to work, software developers must replace traditional installation scripts with Windows Installer package files (called .MSI files, after the file extension). And since Windows Installer can track only installations that follow the .MSI format, end users will reap the full benefits only when all applications installed on a Windows machine support Windows Installer.

An .MSI package functions as a small relational database with fields containing all of the information and instructions that Windows Installer needs to successfully deploy an application. At runtime, Windows Installer converts the .MSI data into an install script and an uninstall script. This allows for a graceful rollback of the application and restoration of the system to its previous state if an install fails. For example, if an upgrade to Office System fails, the system can roll back to the previously installed Office XP version and the user can continue working—something that didn’t always happen before.

The .MSI breaks the installation data into three parts. This architecture enables it to install applications without ever having to manage individual resources directly. Instead, it groups registry keys, files and other resources into components, such as the Speller Engine in Microsoft Office. Components group together interdependent resources, such as an executable program file and the registry key that holds license information.

Windows Installer tracks all changes made to the system during the installation at the component level and keeps “refcounts” that tell how many applications share a given component. It also assigns each component a globally unique identifier (called a GUID or “gwid”) and a keypath, which Windows uses to identify the component. By maintaining refcounts at the component level rather than for each individual resource, Windows Installer can easily track all shared resources, not just files. DLLs and other resources are deleted only when the last component that uses them is deleted.

The .MSI package groups components into features. These are the user-recognizable chunks of an application, including options that users can choose to install, such as Word in the Office suite. Subfeatures, such as a spell checker, can be nested within a larger feature for more granular control of the installation process. Features can share components, and they allow more installation options than do scripted installs. With .MSI, features can be installed to run locally, to run from a secondary location such as a product CD, or they can be “advertised,” appearing in an application’s menu but installing only when the user invokes the feature. All of the features that make up an application are then aggregated into a single .MSI file.

Management API

Windows Installer also includes a management application programming interface (API) that it uses to keep track of installed products, features, components and keypath data. Using this API, an application management tool can repair a broken application. Through the API, it can determine which component isn’t working and reinstall just that component and its associated resources, rather than the entire application.

Administrators can customize the .MSI package by creating a complementary transform (or .MST) file. The transform can provide answers to Windows Installer when the .MSI file calls for user input, such as choosing which options to install or the correct installation path. It can also remove unwanted features from the basic installation.

Software vendors have been slow to adopt the .MSI format. Nearly four years after Windows Installer’s release, many applications still use non-.MSI installation routines. To get the full benefits of Installer, enterprise administrators have turned to automated application packaging tools . Such tools can create .MSI packages for noncompliant applications as well as build transforms for existing packages. For most other users, however, the legacy of installation conflicts will linger until every noncompliant Windows application on the desktop has been updated.

How Windows Installer Packages an Application In this example, the Windows Installer .MST file contains the Office product and all of its elements, including features that users can deploy. Each feature is associated with components, each of which references a set of registry key settings, .DLL files and other resources that must be installed as a group. In this way, components may be installed or deleted, but resources remain unaffected unless no other component is using them. Source: Microsoft Corp.

See additional Computerworld QuickStudies

WindowsSmall and Medium Business
Robert L. Mitchell
by Robert Mitchell
Contributing Writer
  1. Follow Robert Mitchell on LinkedIn

Robert L. Mitchell is a freelance writer and editor. Previously, he was a national correspondent for Computerworld. He also served as an editor at Network World and BYTE magazine, and was part of the editorial team that launched TechBeacon.com, where he was chief editor.

More from this author

  • feature

    How to unionize your tech workplace

    Jul 15, 2026 18 mins
  • feature

    A brewing battle: More IT workers want unions. The industry doesn’t.

    Jul 8, 2026 16 mins
  • feature

    IT leaders scramble as Windows 10 deadline nears

    Jul 28, 2025 13 mins
  • how-to

    Download our videoconferencing enterprise buyer’s guide

    Dec 26, 2024 1 min
  • how-to

    Enterprise buyer’s guide: How to choose videoconferencing software

    Dec 12, 2024 18 mins
  • how-to

    Download our digital whiteboard software buyer’s guide

    Oct 10, 2024 1 min
  • feature

    Enterprise buyer’s guide: Digital whiteboard software

    Oct 7, 2024 17 mins
  • how-to

    Download our file sync and sharing enterprise buyer’s guide

    Sep 26, 2024 1 min

Show me more

news

Hackers stole AI credentials to get $740,000 in free compute; Railway picked up the bill

By Taryn Plumb
Nov 11, 20266 mins
CyberattacksCybercrimeHacking
Image
news analysis

Anthropic targets workplace collaboration with Claude Meetings

By Matthew Finnegan
Nov 11, 20265 mins
Artificial IntelligenceCollaboration SoftwareVideoconferencing
Image
opinion

The bad news for Microsoft in the Blue Tsunami

By Preston Gralla
Nov 11, 20267 mins
Laws and RegulationsMarketsTechnology Industry
Image
podcast

Sam Altman's RAM Backlash and Big Tech's Ownership Problem

Nov 5, 202628 mins
Artificial IntelligenceGenerative AI
Image
podcast

NVIDIA's AI Gamble, Tesla's Flying Roadster and Flock's Privacy Problems

Oct 23, 202628 mins
Automotive IndustryGenerative AIPhysical Security
Image
podcast

Can your tech stack actually handle AI?

Aug 11, 202630 mins
Artificial IntelligenceEnterprise ArchitectureGenerative AI
Image
video

Who benefits from Big Tech? Sam Altman's RAM argument, unhappy workers, and insecure connected devices

Nov 4, 202628 mins
Artificial IntelligenceGenerative AIHiring
Image
video

Anthropic's IPO, Hollywood consolidation, and the fight over AI transparency

Oct 29, 202626 mins
Artificial IntelligenceGenerative AIStreaming Media
Image
video

NVIDIA goes all in on AI, Tesla's Roadster takes flight, and Flock faces more scrutiny

Oct 24, 202628 mins
Automotive IndustryDesktop PCsGraphics Cards
Image
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.