Go Back   Winamp & Shoutcast Forums > Developer Center > NSIS Discussion

 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old 24th October 2011, 21:25   #1
Ron.Stordahl
Member
 
Join Date: Oct 2005
Location: Minnesota
Posts: 57
RMdir /r followed by File /r generating random i/o errors

I have found that the following code:
PHP Code:
RMDir /"$INSTDIR\Documents"
SetOverwrite ON
File 
/"..\BPQ32\Files\Documents" 
will generate random i/o failures thus:

Error opening file for writing
C:\Program Files (x86)\BPQ32\Documents\Thumbs.db

Installer stops at
Output folder: c:\Program Files (x86)\BPQ32\Documents.

This i/o error (although it isn't always the same file name) has occurred on several Windows 7 machines and one XP machine. The occurance rate is low, perhaps one in 10 runs of the installer.

To try to isolate this I placed a MessageBox immediately following the RMDir /r and with that I could never reproduce it. I then replaced the MessageBox with a Sleep 1000 and could never reproduce it. Removing the Sleep 1000 results in the error returning.

I suspect that the RMDir /r operation is using proceed i/o (overlapped, Asynchronous) when it should be using wait i/o (Synchronous).

The RMDir /r operation is apparently not yet completed when the write from the File operation is attempted.

Ron Stordahl
Ron.Stordahl is offline   Reply With Quote
 
Go Back   Winamp & Shoutcast Forums > Developer Center > NSIS Discussion

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump