Thanks for the replay. What i want is why explorer locks it for such an infinite time, any idea?
On Wed, Apr 8, 2009 at 4:30 PM, AstroDrabb <[email protected]> wrote: > > On Mon, Apr 6, 2009 at 2:29 AM, santhosh vs <[email protected]> wrote: > > Hi all, > > Now iam developing an application in vista and iam experiencing one > strange > > issue. > > The application suddenly refused to remove a file from user's temp > folder. > > It was a video file and hence i thought some issue with my code and lost > my > > 2 days working on it. Finally i decided to execute an older version which > > worked early, but found the same issue again. > > The file wont be deleted and it cant even delete through explorer (the > steps > > are funny , windows will ask do u want to delete the file , on yes the > file > > will disappear and appear agian! no message from windows that the file is > > locked). On using 'unlocker' i found multiple locks from explorer. > > After some research in this issue i found that vista automatically apply > > indexing service. > > I decided to turn it off for the users private folders (that includes > temp) > > , i was not sure that this was making the lock. > > But with surprise the issue gone and i can now delete the file!! > > My question is any one experienced this problem before? > > Any idea to delete file in such cases when an indexing is applied to the > > user folder and why vista locks files/folders for indexing ...? > > This is nothing new. It has been going on for a long time with > explorer.exe the command shell. > I am still using XP for my dev box and it is stable except for the > locking crap from explorer.exe. > Unlocker is great for things like this. > > I think you came up with your own answer. The indexing service is > locking the file, though > I think the explorer shell does it just as much. If I open a dir of > images or videos (I have > indexing turned off) I still get locking issues from explorer.exe. Sigh. > > You can code your app to spawn a thread to wait X secs/mins for the > lock to be released > and to keep trying to delete it. Or you can use a Win32 API to delete > the files. > > A way to delete a locked/in use file with Win32 is with MoveFileEx(): > http://msdn.microsoft.com/en-us/library/aa365240(VS.85).aspx > > Here are some other ways: > > http://stackoverflow.com/questions/1040/how-do-i-delete-a-file-which-is-locked-by-another-process-in-c > > Jim > -- My Web Site http://everlovingyouth.googlepages.com My Technical Blog http://acutedeveloper.blogspot.com Skype :santhoshnta Orkut :everlovingyouth
