Hello!<br><br>I suggest that there is should be short delay before "goto loop" i.e. something like <br><br>ping -n 1 localhost >NUL<br><br>to decrease cpu load. <br><br clear="all">-- <br>Best regards,<br>Kirill Kozlovskiy<br>
<br>
<br><br><div class="gmail_quote">2012/7/6 Adam Thorn <span dir="ltr"><<a href="mailto:alt36@cam.ac.uk" target="_blank">alt36@cam.ac.uk</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">> >          <!-- Uninstall returns immediatly, so just wait a few seconds<br>
> >               for it to remove before checking the status again<br>
> >               Unfortunatly, WINDOWS has no sleep commands --><br>
> >          <remove cmd='%COMSPEC% /C ping -n 5 127.0.0.1 1>NUL 2>NUL' ><br>
> >              <exit code="any" /><br>
> >          </remove><br>
> ><br>
> > This way, the process will wait a few seconds, which should be enough<br>
> > for the uninstall to complete before the checks run<br>
><br>
> That's right, yet the solution not only introduces an often too long delay,<br>
> but is also fragile as a slower system might very well need more time than<br>
> that.  I described a cleaner solution for most NSIS based setups a while ago<br>
> here:<br>
><br>
> <a href="http://bugzilla.wpkg.org/show_bug.cgi?id=241#c3" target="_blank">http://bugzilla.wpkg.org/show_bug.cgi?id=241#c3</a><br>
<br>
</div>For some of my packages I make use of a brief script<br>
(waitforprocess.cmd) which does:<br>
<br>
@echo off<br>
<br>
:loop<br>
tasklist | find /I "%1" > NUL<br>
if ERRORLEVEL 1 goto jump<br>
goto loop<br>
:jump<br>
<br>
and my <remove> process goes something like<br>
<br>
<remove cmd='%software%\wpkg\tools\waitforprocess.cmd uninstall.exe' /><br>
<remove cmd='"%ProgramFiles%\Notepad++\uninstall.exe" /S' /><br>
<remove cmd='%software%\wpkg\tools\waitforprocess.cmd uninstall.exe' /><br>
<br>
i.e., wait until there are no other uninstall.exe processes running<br>
(e.g. the user is running something of their own), then run<br>
uninstall.exe, and wait until it finishes.<br>
<br>
Although it's horribly unpleasant, for some of my packages I've yet to<br>
find a better way of handling this.<br>
<span class="HOEnZb"><font color="#888888"><br>
Adam<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
-------------------------------------------------------------------------<br>
wpkg-users mailing list archives >> <a href="http://lists.wpkg.org/pipermail/wpkg-users/" target="_blank">http://lists.wpkg.org/pipermail/wpkg-users/</a><br>
_______________________________________________<br>
wpkg-users mailing list<br>
<a href="mailto:wpkg-users@lists.wpkg.org">wpkg-users@lists.wpkg.org</a><br>
<a href="http://lists.wpkg.org/mailman/listinfo/wpkg-users" target="_blank">http://lists.wpkg.org/mailman/listinfo/wpkg-users</a><br>
</div></div></blockquote></div><br>