https://bugs.winehq.org/show_bug.cgi?id=54631
Bug ID: 54631 Summary: msi:package causes wscript.exe:run to time out when run without elevated privileges on Windows 8 Product: Wine Version: unspecified Hardware: x86-64 OS: Windows Status: NEW Severity: normal Priority: P2 Component: wscript Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
msi:package causes wscript.exe:run to time out when run without elevated privileges on Windows 8:
wscript.exe:run start programs/wscript/tests/run.c run.c:400: running RUN.JS test... wscript.exe:run:026c done (258) in 120s 35B
See https://test.winehq.org/data/patterns.html#wscript.exe:run
This timeout does not happen when running wscript.exe:run on its own. I determined that the source of interference is msi:package and that the timeout is caused by a Windows prompt:
Script: C:\Users\winetest\Documents\tests\test.JS Line: 19 Error: Automation server can't create object Code: 800A01AD Source: Microsoft JScript runtime error
The timeout happens when waiting for the child process in run_script_file() in run.c. That makes sense: the child process is stuck displaying the Windows prompt:
WaitForSingleObject(pi.hProcess, INFINITE);
And the timeout is caused by the combination of test_appsearch() and test_complocator() in package.c: remove either of those two and the timeout does not happen anymore. More specifically, if leaving test_appsearch() unmodified, any call to set_component_path() in test_complocator() triggers the timeout, because of this call:
RegCreateKeyExA(HKEY_LOCAL_MACHINE, prodpath, 0, NULL, 0, access, NULL, &hkey, NULL);
Note that creating the comppath key does not cause the wscript.exe:run timeout.
https://bugs.winehq.org/show_bug.cgi?id=54631
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source, testcase
https://bugs.winehq.org/show_bug.cgi?id=54631
--- Comment #1 from François Gouget fgouget@codeweavers.com --- Created attachment 74154 --> https://bugs.winehq.org/attachment.cgi?id=74154 Windows prompt causing the wscript.exe:run timeout
https://bugs.winehq.org/show_bug.cgi?id=54631
--- Comment #2 from François Gouget fgouget@codeweavers.com --- Created attachment 74155 --> https://bugs.winehq.org/attachment.cgi?id=74155 Minimal msi:package code to reproduce the wscript.exe:run timeout.
https://bugs.winehq.org/show_bug.cgi?id=54631
--- Comment #3 from François Gouget fgouget@codeweavers.com --- Note that unlike in bug 54613, in msi:package is_wow64 is false so that the RegCreateKeyExA() samDesired parameter does not have any KEY_WOW64_XXX flag:
access = f003f == KEY_ALL_ACCESS