I can see you are the Administrator on your computer.
What this means is your User Account belongs to the Administrative Group and has privileges to modify folders or files, and perform other tasks on your computer, that a User belonging to the Local Group cannot do.
Having said that, even the Administrator has a God per se, that being Microsoft Windows TrustedInstaller, and / or SYSTEM, both of which can own a file or folder, and if they do, then the Administrator cannot simply modify these files or folders, unless they take ownership first.
There are a number of methods to manually do this which allow you to then make modifications you wish.
In terms of your program though its likely you have forgotten to modify your
app.manifest to ensure when the Program is executed the SYSYTEM can see you are indeed a member of the Administrative Group.
You'd need to edit your Programs executable manifest and take a look at the
<security> section.
Example:
Code:
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
The above excerpt displays how to request Administrator access, and is needed for your program to work.
Unfortunately, the way Windows is set up even correctly modifying the Programs executable manifest may not achieve the goal of being able to delete any file or folder you want.
Each process running needs to be able to obtain Privileges in order to do its task. Based on your opening thread, it would appear a process is unable to obtain permissions to remove a file or folder, most likely because that file or folder is owned by the TrustedInstaller or SYSTEM.
You can modify your C# code to enable the replacement of ownership in these cases. To read about a way you could do this, which has some example code to review, see here:
http://processprivileges.codeplex.com/
If you feel that may help you'll need to download the ProcessPrivileges files supplied there, then make use of it in your code like so:
Code:
using (new ProcessPrivileges.PrivilegeEnabler
(Process.GetCurrentProcess(), Privilege.TakeOwnership))
{
Your other coding here of course
}
Perhaps you could confirm what backedup folders you cannot delete at the moment, or right-click on them and select Properties > Security tab > click Advanced button to see what owns it at the moment.