Microsoft will support the ISO/IEC 19770-2:2009 standard for software identification (SWID) tags, becoming the largest vendor to date to do so and increasing the standard's chances for broad adoption. SWID tags are XML files placed on devices where software is installed. They store information such as product title, version, and vendor in a standardized format. Broad adoption promises to increase the accuracy and reduce the overall burden of software inventorying. However, tags address just a portion of the overall license compliance challenge, and Microsoft has yet to elaborate which products will support tags, when, and to what extent.

Inconsistency Plagues Software Inventorying

Software inventorying is the process of detecting and tabulating what software is installed on devices such as desktop PCs, laptops, and servers. Besides playing a key role in IT functions such as patch management and deployment planning, software inventorying is a key enabler of software asset management (SAM), which entails translating software installations and usage patterns into licenses required, tracking license purchases and entitlements, and reconciling the two in an effort to assess license compliance.

To date, software inventorying of PCs has involved examining the Windows Registry and attributes of program files stored on disk (such as file name, size, and date) and using a "signature" database for software identification to map these data to actual software titles.

Unfortunately, this approach is plagued by problems, most originating from the inconsistent way software publishers encode relevant software attributes such as product name and version (if at all). Major limitations of current software inventorying methods include outright undercount or overcount, as well as report output that must be manually normalized and cleaned before it can be used. (A process derisively called "spreadsheet kung fu" by some in the industry.) For example, trial or evaluation software might be counted as production software, a software suite might be reported as individual components rather than as a bundle, and a software product might be reported under multiple but slightly different titles, which then need to be manually aggregated for licensing purposes.

The Role of Software ID Tags

The SWID tag standard provides software publishers, tools vendors, and corporate IT staff with an agreed-upon list of required and optional software attributes, a method of encoding and interpreting the attributes in a uniform fashion, a consistent place to store and find the information, and a way to extend what's stored by defining custom attributes that address unique requirements. If SWID tags are adopted widely, software inventory tools could detect the presence of software more accurately and produce more comprehensive and useful reports.

However, Microsoft's support for the SWID tag standard is far from a cure-all for professionals overseeing license compliance. Microsoft's licensing rules are considerably more complicated than simply requiring a license for each device on which a software title is installed. For example, server-side license requirements are usually determined by the number of running instances (not software installations), and clients accessing server software generally need Client Access Licenses (CALs), but CALs have no client-side code and thus can't be detected by software inventorying tools.

Ways Microsoft Could Support ID Tags

Microsoft plans to eventually support SWID tags across its entire product line. Such support probably means all new products will write SWID tags when installed and remove tags when uninstalled. Newer versions of developer tools such as Visual Studio will likely help programmers author tags for their software and incorporate the tags into installation packages. Updates to management tools such as System Center Configuration Manager and the Microsoft Assessment and Planning (MAP) Toolkit will likely allow these products to collect tags from each inventoried device, and presumably validate the presence of the software described within the tag through other means, as well as incorporate tag data into reports.

Based on the contents of the Windows 8 Release Preview shipped in June, Windows 8 will install with SWID tags. Beyond this, Microsoft has yet to provide a timetable for incorporating SWID tags into its product line, describe which new products will use tags, or explain whether existing versions of products will be retrofitted for SWID tags. For example, service packs or other updates to existing versions of products could be used to write SWID tags onto devices. Also unclear is the depth of support—for example, will SWID tags contain just the minimum mandated information or will Microsoft exploit optional tag attributes such as "license and channel information" to help distinguish OEM, volume licensing, trial, and Microsoft Developer Network (MSDN) installations? Chances are Microsoft will start out with the minimum and work up from there and will inevitably influence the evolution of SWID tags as the company's broad range of product lines and customer deployment scenarios "stress test" the existing standard.


Microsoft's support for software ID tags is summarized at

Use and benefits of software ID tags are explained in several white papers at

The first dozen pages of the ISO/IEC 19770-2 specification are posted at The full ISO/IEC 19770-2:2009 specification is available for purchase at