Transactional NTFS (abbreviatedTxF[1]) is a component introduced inWindows Vista and present in later versions of theMicrosoftWindowsoperating system that brings the concept ofatomic transactions to theNTFSfile system, allowing Windows application developers to write file-output routines that are guaranteed to either succeed completely or to fail completely.[2]Major operating system components, includingSystem Restore,Task Scheduler, andWindows Update, rely on TxF for stability.[1] During thedevelopment of Windows Vista,WinFS also relied on TxF for storing files.[3]
Due to its complexity and various nuances which developers need to consider as part of application development, Microsoft has deprecated TxF and stated that it may be removed in a future version of Windows.[4] Microsoft has strongly recommended that developers investigate using the alternatives rather than adopting the Transactional NTFS API platform which may not be available in future versions of Windows.[2]
Transactional NTFS allows for files and directories to be created, modified, renamed, and deleted atomically. Using transactions ensures correctness of operation; in a series of file operations (done as a transaction), the operation will be committed if all the operations succeed. In case of any failure, the entire operation will roll back and fail.
Transactional NTFS is implemented on top of theKernel Transaction Manager, which is a Windows kernel component introduced in Windows Vista that provides transactioning of objects in the kernel.[1] The NTFS file system already supportsjournaling of low-level operations, such as writing a block of data. Transactional NTFS expands on this capability to include:
With the exception of read operations, using Transactional NTFS for transactions onEncrypting File System files is not supported in Windows Vista untilService Pack 1 andWindows Server 2008.[5]
Microsoft strongly recommends developers utilize alternative means to achieve your application s needs. Many scenarios that TxF was developed for can be achieved through simpler and more readily available techniques. Furthermore, TxF may not be available in future versions of Microsoft Windows.