Prev Previous Post   Next Post Next
Old 28th June 2010, 13:27   #1
Senior Member
Join Date: Jul 2008
Posts: 157
Question ExecWait doesn't wait (on Windows 7)

I came across this problem while testing the uninstall part of an NSIS script:

Despite not changing anything in the section that takes care of removing all Start Menu entries:
PHP Code:
  ;Delete empty start menu parent diretories
  StrCpy $MUI_TEMP 
    GetFullPathName $MUI_TEMP 

The uninstaller no longer deletes the last (topmost) entry in the Start Menu. In my attempts to troubleshoot this I discovered that this is not always consistent: Sometimes it deletes and sometimes it doesn't.

So, I decided to place a MessageBox line right after the 'RMDir $MUI_TEMP' line:
PHP Code:
MessageBox MB_OK
|MB_ICONEXCLAMATION "Removed $MUI_TEMP"    ; for debug only
    GetFullPathName $MUI_TEMP 
And I was surprised to see that this message box is displayed while an ExecWait from a previous un.Uninstall section was still in progress...
PHP Code:
ExecWait '"$INSTDIR\vcredist_x86.exe" /q:a /c:"VCREDI~1.EXE /q:a /c:""msiexec /x vcredist.msi /qb!"" "' 
Obviously, something is happening here in parallel but how could this be?
  1. Isn't ExecWait supposed to wait?
  2. Isn't Section supposed to start after all Section "un.Uninstall"s?

Most importantly: How would you suggest that I solve (or workaround) this problem?

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

$smprograms, execwait, uninstall, windows 7

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