WineHQ
Bug Tracking Database – Bug 29153

 Bugzilla

 

Last modified: 2013-12-06 13:44:40 UTC  

NSIS ExecWait not working

Bug 29153 - NSIS ExecWait not working
NSIS ExecWait not working
Status: CLOSED FIXED
AppDB: Show Apps affected by this bug
Product: Wine
Classification: Unclassified
Component: -unknown
1.2.1
x86 Linux
: P2 normal
: ---
Assigned To: Mr. Bugs
: download
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2011-11-24 03:18 UTC by dico
Modified: 2013-12-06 13:44 UTC (History)
1 user (show)

See Also:
Regression SHA1:
Fixed by SHA1:
Distribution: ---
Staged patchset:


Attachments
Sample installer (160.32 KB, application/x-msdownload)
2011-11-25 02:12 UTC, dico
Details
Terminal output (113 bytes, text/plain)
2011-11-25 02:12 UTC, dico
Details
screenshot of what happens (87.26 KB, image/jpeg)
2011-11-28 02:18 UTC, dico
Details
Screenshot - Fresh install of Ubuntu 11.10 + Wine 1.3.33 (108.58 KB, image/jpeg)
2011-11-28 21:41 UTC, dico
Details

Note You need to log in before you can comment on or make changes to this bug.
Description dico 2011-11-24 03:18:24 UTC
"ExecWait" allow NSIS installer to run second installer and waits till it's finished. But in Wine environment, the second installer never shows and the main installer keeps on waiting.....
Comment 1 Dmitry Timoshkov 2011-11-24 03:37:21 UTC
Wine version? Ways to reproduce? Sample installer? Terminal output?
Comment 2 dico 2011-11-25 02:12:19 UTC
Created attachment 37615 [details]
Sample installer
Comment 3 dico 2011-11-25 02:12:42 UTC
Created attachment 37616 [details]
Terminal output
Comment 4 dico 2011-11-25 02:18:16 UTC
Wine version that I use is 1.2.1, and I've test it using PlayOnLinux 4.0.14 (don't know wine version for PlayOnLinux). Currently I'm downloading Wine 1.3.33 and will test.
Comment 5 dico 2011-11-25 02:25:38 UTC
Please bear with me. I forgot to state "how to reproduce".
Simply just run the exe file.
Comment 6 Vitaliy Margolen 2011-11-25 12:00:18 UTC
Everything works for me with wine-1.3.32. Marking invalid. We don't support POL or any other 3rd party modified versions.
Comment 7 dico 2011-11-28 02:18:31 UTC
Created attachment 37674 [details]
screenshot of what happens

I've test the installer using Ubuntu 10.10 and Wine 1.3.33 that I downloaded few minutes ago. It still stuck. The sample installer only contains a message box and that start the second installer. Notify that the second installer never finish and the first installer keep on waiting.
Comment 8 dico 2011-11-28 02:25:02 UTC
I switch back to "UNCONFIRMED" due to it's still a problem. I did a test in Wine 1.3.33, and I attached a screenshot of it. 

I just did another test using PlayOnLinux (which uses Wine inside). I don't and never expect you to support POL or others.
Comment 9 Dmitry Timoshkov 2011-11-28 02:48:02 UTC
(In reply to comment #8)
> I just did another test using PlayOnLinux (which uses Wine inside). I don't and
> never expect you to support POL or others.

Don't report Wine bugs here when using PlayOnLinux, report them to PlayOnLinux
developers instead.
Comment 10 dico 2011-11-28 02:54:11 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > I just did another test using PlayOnLinux (which uses Wine inside). I don't and
> > never expect you to support POL or others.
> 
> Don't report Wine bugs here when using PlayOnLinux, report them to PlayOnLinux
> developers instead.

No, As I said I'm using Wine. I used Wine 1.2 and lately Wine 1.3.33.....
Please just forget that I ever use PlayOnLinux. I test PlayOnLinux just wanted to see whether it has the same bug or not. 

But the bug that I report here is I'm using Wine 1.2 and Wine 1.3.33.... Real Wine 1.2 and Wine 1.3.33.... No POL. Just Wine 1.2 and Wine 1.3.33....
how many time should I say this....
I'm using 1.2 and Wine 1.3.33....

Don't you see the screen shot that I gave....? Did you see any POL there...?
In this bug report I'm using 1.2 and Wine 1.3.33....
Comment 11 dico 2011-11-28 21:41:15 UTC
Created attachment 37687 [details]
Screenshot - Fresh install of Ubuntu 11.10 + Wine 1.3.33

I try a fresh fresh new install of Ubuntu 11.10, and install only Wine 1.3.33.
Than I tried the sample installer and again, it stuck.
Please see image attached.

This problem didn't occur in all installer using NSIS, it happens because I'm using ExecWait in NSIS which in normal environment should opens second installer while the main installer waits till the second installer finished. Than and only than the first installer will continue.

In my case, I open my second installer to run a driver that needed by my program. 

Regards,

Dico
Comment 12 Austin English 2013-12-05 21:51:08 UTC
This is your friendly reminder that there has been no bug activity for 2 years.
Is this still an issue in current (1.7.7 or newer) wine? If so, please attach
the terminal output in 1.7.7 (see http://wiki.winehq.org/FAQ#get_log).
Comment 13 Anastasius Focht 2013-12-06 08:45:27 UTC
Hello folks,

for me it looks like NSIS ExecWait works exactly as expected.

--- snip ---
$ WINEDEBUG=+tid,+seh,+relay wine ./setup.exe >>log.txt 2>&1
...
0025:Call KERNEL32.lstrcatA(0079f4d8 "Execute: ",0040b3a8 "\"C:\\users\\focht\\Temp\\TrueSpk.exe\"") ret=004052fd 
...
0025:Call KERNEL32.CreateProcessA(00000000,0040b3a8 "\"C:\\users\\focht\\Temp\\TrueSpk.exe\"",00000000,00000000,00000000,00000000,00000000,00000000,007a2508,009ce7f8) ret=004057be
...
0027:Call KERNEL32.__wine_kernel_init() ret=7bc599cc
0025:Ret  KERNEL32.CreateProcessA() retval=00000001 ret=004057be 
...
0025:Call KERNEL32.CloseHandle(00000084) ret=004057cb
0025:Ret  KERNEL32.CloseHandle() retval=00000001 ret=004057cb
0025:Call KERNEL32.lstrlenA(007a3ac0 "") ret=00406422
0025:Ret  KERNEL32.lstrlenA() retval=00000000 ret=00406422
0025:Call user32.wvsprintfA(007a3ac0,0040a2b4 "Exec: success (\"%s\")",009ce810) ret=0040642b
0025:Ret  user32.wvsprintfA() retval=00000033 ret=0040642b
0025:Call KERNEL32.WaitForSingleObject(00000080,00000064) ret=00402094 
--- snip ---

At this point the main installer waits for the sub-installer (tid=0x27) to finish.
The sub-installer puts up some progress bar (briefly seen), tries to load a dialog template which fails (incomplete example? intended?) and continues pumping messages which blocks the parent process indefinitely.

--- snip ---
0027:Call user32.CreateDialogIndirectParamA(00000000,00145788,00000000,00405fab,0013a1f4) ret=004060fa
0027:Call winex11.drv.EnumDisplayMonitors(00000000,00000000,7eb59a2c,0033f7b4) ret=7eb5a08c
0027:Call winex11.drv.GetMonitorInfo(00000001,0033f634) ret=7eb59fbc
0027:Ret  winex11.drv.GetMonitorInfo() retval=00000001 ret=7eb59fbc
0027:Ret  winex11.drv.EnumDisplayMonitors() retval=00000001 ret=7eb5a08c
0027:Call winex11.drv.GetMonitorInfo(00000001,0033f86c) ret=7eb59fbc
0027:Ret  winex11.drv.GetMonitorInfo() retval=00000001 ret=7eb59fbc
0027:Ret  user32.CreateDialogIndirectParamA() retval=00000000 ret=004060fa
0027:Call KERNEL32.FreeResource(00000000) ret=00405278
0027:Ret  KERNEL32.FreeResource() retval=00000000 ret=00405278
0027:Call KERNEL32.GlobalUnlock(00145788) ret=004051ae
0027:Ret  KERNEL32.GlobalUnlock() retval=00000001 ret=004051ae
0027:Call KERNEL32.GlobalFree(00145788) ret=004051b8
0027:Ret  KERNEL32.GlobalFree() retval=00000000 ret=004051b8
0027:Call user32.GetMessageA(0033fc1c,00000000,00000000,00000000) ret=0040610f
0027:Call winex11.drv.MsgWaitForMultipleObjectsEx(00000001,0033fb78,ffffffff,000004ff,00000000) ret=7eb96ad3
0027:Ret  winex11.drv.MsgWaitForMultipleObjectsEx() retval=00000000 ret=7eb96ad3
0027:Call winex11.drv.MsgWaitForMultipleObjectsEx(00000001,0033fb78,ffffffff,000004ff,00000000) ret=7eb96ad3 
--- snip ---

The main installer waits for the sub-installer to finish:

--- snip ---
0025:Ret  KERNEL32.WaitForSingleObject() retval=00000102 ret=00402094
0025:Call user32.PeekMessageA(009ce7ec,00000000,0000000f,0000000f,00000001) ret=004064bd
0025:Call winex11.drv.MsgWaitForMultipleObjectsEx(00000000,00000000,00000000,000004ff,00000000) ret=7ed27ad3
0025:Ret  winex11.drv.MsgWaitForMultipleObjectsEx() retval=00000102 ret=7ed27ad3
0025:Ret  user32.PeekMessageA() retval=00000000 ret=004064bd
0025:Call KERNEL32.WaitForSingleObject(00000080,00000064) ret=00402094
0025:Ret  KERNEL32.WaitForSingleObject() retval=00000102 ret=00402094 
--- snip ---

$sha1sum setup.exe 
d28e8387867e2d92a4f4b2c4e6ae864d64936153  setup.exe

$ du -sh setup.exe 
164K	setup.exe

$ wine --version
wine-1.7.7-326-ged89525

Regards
Comment 14 Alexandre Julliard 2013-12-06 13:44:40 UTC
Closing bugs fixed in 1.7.8.


Privacy Policy
If you have a privacy inquiry regarding this site, please write to [email protected]

Hosted By CodeWeavers