Windows error 32 - SOLVED

Richard Gaskin ambassador at
Sat Dec 18 10:15:17 EST 2010

If any of you ever need to do anything like this, the solution turned 
out to be quite simple:

I noticed that I could use the same "delete folder" command from within 
LC to delete the folder in question, just not from the app that 
originates in the problem folder.

Since the OS error is 32 (obtained from LC's sysError function, a 
godsend for anything related to file I/O), it occurred to me that the 
issue is that the deletion process is beginning with an app that resides 
in that folder, and therefore is using that folder as the current 
working directory.  Apparently, even though it quits before the copy in 
temp takes over, because the original copy in that application folder is 
what launched the app in temp, the current working directory had not 
changed, and the OS was simply doing its job of preserving objects in use.

So the fix is a one-liner, added just before the original app launches 
the copy in the temp folder:

   set the directory to tTempFolder

tTempFolder is obtained with LC's specialFolderPath("temporary"), and 
used to create the file name of the copy of the app that does the actual 

By changing the working directory before launching the copy, the 
original folder in Program Files is now free to be deleted.  Works a treat.

  Richard Gaskin
  Fourth World
  LiveCode training and consulting:
  Webzine for LiveCode developers:
  LiveCode Journal blog:

Yesterday I wrote:

> I'm making an uninstaller for one of my apps on Windows, and
> everything's working swell except for one detail:
> I can delete all files and folders related to the install with ease, but
> when I try to delete the application folder sysError returns 32, which
> means it's in use by another process.
> Here's the setup:
> The uninstaller works as we're required to do on Windows: when launched
> it makes a copy of itself into the temp folder, and launches that copy
> after which the original quits.  We have to do that because of course an
> app can't delete itself.  The copy has the UI that the user clicks to
> start the uninstall.
> That copy in temp works great, and clears out everything, even the
> original uninstaller that launched it.
> The one thing it can't do is delete the folder the app was originally
> in, which is in the Program Files directory, e.g.:
>    C:\Program Files\MyApp\
> It seems weird to me that I can so easily delete all the contents of
> that folder, even all the nested subfolders that were in it, yet not the
> folder itself.
> And yes, I've checked: the folder is indeed empty.
> Even weirder, I can open LC afterward and run this in the Message Box:
>     delete folder "C:/Program Files/MyApp/"
> ...and it deletes as expected without complaint.
> My first hunch was that since the original uninstaller app is launching
> the one doing the deleting, maybe I could add another layer of
> misdirection by having a copy of that app make another app in temp just
> to delete the damn folder.  No go, same error 32.
> Any of you come across something like this before?  How did you get
> around it?

More information about the Use-livecode mailing list