Link to home
Start Free TrialLog in
Avatar of inimicaljords
inimicaljordsFlag for United States of America

asked on

Could not find a part of the path and access denied

I have 2 problems which I think are related and need some help with.  I am writing a small program to clean some temp directories.

1) I get the following error when I run this code anywhere in my program
System.IO.Directory.GetFiles("C:\Users\xxx\AppData\Local\Microsoft\Windows\Temporary Internet Files\")

DirectoryNotFoundException was unhandled
Could not find a part of the path 'C:\Users\xxx\AppData\Local\Local\Microsoft\Windows\Temporary Internet Files'.

Basically I am trying to clean the temporary internet files folder.  I am assuming that because it is a hidden folder the program cannot see it.

2) My program is getting the following error when attempting to delete the files
Access to the path 'C:\Users\xxx\AppData\Local\Temp\test.txt' is denied.

Wierd thing is that 98% of the files in this directory it will delete but has a problem with a few. (It is not because they are in use).  The current user can manual delete this file with no problems but the program cannot.  It seems as though it is a permission problem but I am not sure why.  I have tried adding everyone with full control to the file and the file still cannot be deleted. I am currently running on vista.

Thanks for the help.
SOLUTION
Avatar of BraidenG
BraidenG
Flag of New Zealand image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of inimicaljords

ASKER

hard coding or using environment variables didn't change anything.  Same result.

I know cleaning temp internet files for a user can be done from that user account and not the administrator.  I have used many programs that can accomplish this.  I just can't figure out why the program cannot see the folder but the user can.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
no solution found
Avatar of gisTimmy
gisTimmy

inimicaljords,  Thanks for the points. I don't have any experience with Vista security yet, but FWIW, have you seen these links about the internet cache in Vista and IE protected mode?  

Code Project - A Developer's Survival Guide to IE Protected Mode
This one is in C++, but informative to me:
http://www.codeproject.com/KB/vista-security/PMSurvivalGuide.aspx   

IEBlog - Protected Mode in Vista IE7
http://blogs.msdn.com/ie/archive/2006/02/09/528963.aspx

MSDN
Understanding and Working in Protected Mode Internet Explorer
http://msdn.microsoft.com/en-us/library/bb250462.aspx

Best o' luck,

gisTimmy
Change your Programs app.manifest file to look something like the code snippet. Change your project settings to compile a user created/modified Manifest, this will request Admin Rights before running.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
        <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
                <security>
                        <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
                                
                                <requestedExecutionLevel level="requireAdministrator"/>
                        </requestedPrivileges>
                </security>
        </trustInfo>
</assembly>

Open in new window