Why Version-Independent GUIDs and ProgIDs Were Removed


Although version-independent GUIDs and ProgIDs appear simpler for coding, they are not supported in MSXML 4.0 and later for the following reasons.

  • The introduction of Windows XP Side-by-Side installation. This technology allows you to simulate the effects of version-independent ProgIDs and replace mode in a cleaner and more manageable way.

  • Customer experience reveals that in previous implementations of MSXML, version independence and replace mode are complicated to manage and can introduce instability in the production environment.

For example, the following types of application errors and support issues can arise. These problems easily outweigh the benefits of version independence and replace mode that were provided by previous versions of MSXML.

  • For Active Server Pages (ASP) programmers, using version-independent ProgIDs can result in unintended upgrades of legacy ASP-based sites to the latest version of MSXML. You can avoid this problem by modifying your Web pages to reference version-dependent programming IDs. For more information, see Workarounds to Version Independence.

  • In some cases, updating MSXML to use replace mode is intended. More often than not, however, it is too complex to predict the overall impact of a replace mode upgrade on a system. Although some applications might benefit from such an upgrade, other applications might break as a result of it. In many cases, you will not be able to know or fully predict which applications on your system depend on MSXML and will be affected by a replace mode upgrade.

  • If a customer relies on the built-in XSLT support of Microsoft® Internet Explorer for wide client-side deployment of a Web-based application, replace mode might hide the fact that some client desktops were not upgraded to the appropriate version of MSXML. Therefore, users running previous versions of MSXML replace mode might experience incomplete or incorrect functionality. This means that end users might experience instability in the application, instead of receiving a notification message to "Upgrade to current version MSXML."


Replace mode upgrades are no longer supported in MSXML 4.0 and later versions. The Xmlinst.exe tool (a separate download) is only for use with MSXML 3.0. It does not work with later versions of MSXML.

See Also

GUID and ProgID Information
Assessing the Impact to Your Environment
MSXML 3.0 GUIDs and ProgIDs
MSXML 4.0 GUIDs and ProgIDs
MSXML 5.0 for Microsoft Office Applications GUIDs and ProgIDs
Dependencies in MSXML
MSXML 4.0 Legacy Installation