txf

Vista Phantom Directory

We have a program that the installer checks for the existence of a config file, and if it exists, it doesn't copy that file over (it assumes the user has modified their config file and wants to keep those modifications). Unfortunately, this is a pre-Vista application and it keeps the config file in Program Files. The problem is, if you...

.net durable resource manager for transactional filesystem access

I'm trying to wrap my head around the use of the System.Transactions namespace in C#. I've found some documentation on MSDN regarding using resource managers, but it only covers volatile, in-memory resource managers in any detail (like Transactional ). I'm basically looking for something that I can use inside of a TransactionScope, just...

Any real-world, enterprise-grade experience with Transactional NTFS (TxF)?

Background: I am aware of this SO question about Transactional NTFS (TxF) and this article describing how to use it, but I am looking for real-world experience with a reasonably high-volume enterprise system where lots of blob data (say documents and/or photos) need to be persisted once transactionally and read many times. We are expe...

safely lock a file then move? windows

I have a file and need to ensure it exist before inserting a row into the db. After i insert i need to use the PK as part of the filename and move it into another location. How do i check if it exist then lock it so it cant be deleted until i can insert into the db then proceed to move the file without it being deleted upon releasing th...

Transactional NTFS (TxF) on Process.Start()

Consider the following code: try { using(TransactionScope) { Process.Start("SQLInstaller.EXE"); throw new Exception(); Commit(); } } catch(Exception ex) { //Do something here } Will the changes made by SQLInstaller.exe be rollback in this scenario? More specifically, will the changes made by an externa...

Blocking write locks with transacted NTFS

According to the MSDN documentation, transactional NTFS doesn't seem to allow one to block on opening a file for write - instead the open operation fails with ERROR_SHARING_VIOLATION. I'd like to block on writes instead - how can I do this? Ideally I'd like the following properties for the solution: Works over a network share (so no l...