You could add app.config file to take permission from user before your program run, so that application will run in Admin mode and will be able to access authorized folders.
Example
Read this to add application config file and in this way you see permission for program and replace this requestedPrivileges with
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
You can check if directory is accessible or not using
private bool hasWriteAccessToFolder(string folderPath)
{
try
{
// Attempt to get a list of security permissions from the folder.
// This will raise an exception if the path is read only or do not have access to view the permissions.
System.Security.AccessControl.DirectorySecurity ds = Directory.GetAccessControl(folderPath);
return true;
}
catch (UnauthorizedAccessException)
{
return false;
}
}