Application Compatibility: Application Compatibility for Backup and Recovery
Application Compatibility for Backup and Recovery
Introduction
There are several changes in Windows Vista® and Windows Server® 2008 that affect the compatibility of backup applications. This document addresses those issues and specific requirements concerning those changes and is intended for backup application developers who are familiar with the Volume Shadow Copy Service (VSS) infrastructure and Windows backup procedures. Some of these features or changes might not be an issue, but vendors should verify that they are not impacted or that they have suitable mitigations in place. This document does not get into exhaustive details of the features and touches primarily on the impact to backup tools. For details on a specific topic, follow the links listed at the end of this section or visit MSDN.
Compatibility with Windows XP Backup Applications
Several interfaces have changed since Windows XP®, and those libraries are not compatible with Windows Vista and Windows Server 2008. At a minimum, applications will need to be recompiled using headers or libraries either from the Volume Shadow Copy Service SDK 7.2 (VSS SDK 7.2) or from the Windows Vista and Windows Server 2008 Platform SDK.
Compatibility with Windows Server Service 2003 Service Pack 1 Backup Applications
Binaries from Windows Server® 2003 Service Pack 1 (SP1) are compatible with Windows Vista and Windows Server 2008. Most backup applications also need to account for the changes in the inbox writers, file and registry virtualization, and WRP as well as the use of hard links in %windir%system32. Therefore, these changes will need to be addressed for Windows Server 2003 SP1 backup applications to function under Windows Vista and Windows Server 2008.
Compiling Backup Applications for Windows Vista and Windows Server 2008
Applications that use interfaces available in Windows Server 2003 can be compiled using the headers and libraries provided in VSS SDK 7.2. In order to use new specific Windows Vista and Windows Server 2008 interfaces, the user would need to compile the application using VSS headers and libraries included in the Platform SDK for Windows Vista and Windows Server 2008. Note that binaries compiled using Windows Vista and Windows Server 2008 headers and libraries will not run on Windows Server 2003.
Interoperability with Transactions
Windows Vista and Windows Server 2008 includes support for transactions, and VSS ensures that both the Kernel Transaction Manager (KTM) and Distributed Transaction Coordinator (DTC) are frozen prior to the creation of snapshots, which leads to two new timeout errors:
VSS_E_TRANSACTION_FREEZE_TIMEOUT
VSS_E_TRANSACTION_THAW_TIMEOUT
If the requestor receives either of these errors, it must retry snapshot creation. Registry and file system operations can also be transacted. In the case of the registry, the registry writer ensures transactional consistency. Transactional consistency of NTFS operations is ensured by mounting the shadow copy read/write after creation and then rolling back partially committed operations.