Index: src/ch/TSubTaskDelete.cpp
===================================================================
diff -u -rc866a5e96f5eaf160278a8c128bf86e342cc2409 -ra3800c2f65fa66354e072b34c9e9970af49236b6
--- src/ch/TSubTaskDelete.cpp	(.../TSubTaskDelete.cpp)	(revision c866a5e96f5eaf160278a8c128bf86e342cc2409)
+++ src/ch/TSubTaskDelete.cpp	(.../TSubTaskDelete.cpp)	(revision a3800c2f65fa66354e072b34c9e9970af49236b6)
@@ -28,6 +28,7 @@
 #include "TTaskConfiguration.h"
 #include "TTaskDefinition.h"
 #include "FeedbackHandler.h"
+#include "TLocalFilesystem.h"
 
 TSubTaskDelete::TSubTaskDelete(TSubTaskContext& rContext) : 
 	TSubTaskBase(rContext)
@@ -79,19 +80,19 @@
 		if(spFileInfo->IsDirectory())
 		{
 			if(!GetTaskPropValue<eTO_ProtectReadOnlyFiles>(rTaskDefinition.GetConfiguration()))
-				SetFileAttributes(spFileInfo->GetFullFilePath().ToString(), FILE_ATTRIBUTE_NORMAL | FILE_ATTRIBUTE_DIRECTORY);
-			bSuccess=RemoveDirectory(spFileInfo->GetFullFilePath().ToString());
+				TLocalFilesystem::SetAttributes(spFileInfo->GetFullFilePath(), FILE_ATTRIBUTE_NORMAL | FILE_ATTRIBUTE_DIRECTORY);
+			bSuccess = TLocalFilesystem::RemoveDirectory(spFileInfo->GetFullFilePath());
 		}
 		else
 		{
 			// set files attributes to normal - it'd slow processing a bit, but it's better.
 			if(!GetTaskPropValue<eTO_ProtectReadOnlyFiles>(rTaskDefinition.GetConfiguration()))
-				SetFileAttributes(spFileInfo->GetFullFilePath().ToString(), FILE_ATTRIBUTE_NORMAL);
-			bSuccess=DeleteFile(spFileInfo->GetFullFilePath().ToString());
+				TLocalFilesystem::SetAttributes(spFileInfo->GetFullFilePath(), FILE_ATTRIBUTE_NORMAL);
+			bSuccess = TLocalFilesystem::DeleteFile(spFileInfo->GetFullFilePath());
 		}
 
 		// operation failed
-		DWORD dwLastError=GetLastError();
+		DWORD dwLastError = GetLastError();
 		if(!bSuccess && dwLastError != ERROR_PATH_NOT_FOUND && dwLastError != ERROR_FILE_NOT_FOUND)
 		{
 			// log