2010-03-11 3 views
5

응용 프로그램의 간단한 업데이트 메커니즘을 구현합니다. 업데이트 프로세스의 마지막 부분을 작성하면서 현재 응용 프로그램 실행 파일의 이름을 myApp.exe에서 myApp.old.exe로 변경 한 다음 새로 다운로드 한 응용 프로그램의 이름을 바꾸는 것으로 구성됩니다 myApp.new.exe에서 myApp.exe로 파일을 업데이트했습니다..net 응용 프로그램에서 사용할 수있는 파일 시스템 트랜잭션 메커니즘이 있습니까?

내 응용 프로그램이 충돌했을 때 (어떤 이유에서든 소행성이 전원 선에 떨어지는 것처럼) 이름이 바뀐 후 새 버전의 이름이 바뀌기 전에이 두 가지 작업을 원자 적으로 처리 할 수있는 방법을 찾고 싶습니다. , 일반적인 바로 가기를 사용하여 다시 시작할 수없는 상태에 머물러 있으므로 업데이트를 완료 할 수 없습니다.

어쨌든 업데이트를 실수로 만들 수 있습니까?

답변

2

2008 년/Vista에서 그렇습니다. 노출되어 있지는 않지만 그렇습니다. 이 시점에서 NTFS는 파일 시스템/커널 수준에서 파일 시스템 트랜잭션을 처리합니다.

확인하시기 바랍니다 :

http://www.michaelckennedy.net/blog/2007/12/07/SystemTransactionsAndWindowsVistaNTFSUpdated.aspx

http://www.codeguru.com/cpp/misc/misc/fileio/article.php/c9987

http://xavierdecoster.wordpress.com/2009/10/18/transactional-ntfs-txf/

그들은 코드 샘플을 가지고있다.

관련 문제