https://bugs.winehq.org/show_bug.cgi?id=55723
Bug ID: 55723 Summary: regsvr32 no longer provides output on success/failure Product: Wine Version: 8.17 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: s_chriscollins@hotmail.com Distribution: ---
As of Wine version 8.12, regsvr32 no longer provides terminal output to indicate whether or not a DLL has successfully been registered. A regression test points to commit #dcf0bf1f as the culprit.
Steps to reproduce: 1. Install WineASIO (https://github.com/wineasio/wineasio) 2. Run the included wineasio-register script, which runs regsvr32 to register the WineASIO DLL. Note that as WineASIO currently still uses libwine, the DLL registration will fail.
Result: No terminal output to indicate success/failure of DLL registration.
Expected result: regsvr32 should output success or failure status as it does in Wine 8.11 and earlier, e.g.: "regsvr32: Failed to load DLL '/opt/wine-devel/lib/wine/i386-unix/wineasio32.dll.so'"
https://bugs.winehq.org/show_bug.cgi?id=55723
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression CC| |dark.shadow4@web.de, | |jacek@codeweavers.com Regression SHA1| |dcf0bf1f383f8429136cb761f51 | |70a04503a297b Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #1 from Fabian Maurer dark.shadow4@web.de --- Confirming. Thanks for the bisect, commit details are
commit dcf0bf1f383f8429136cb761f5170a04503a297b Author: Jacek Caban jacek@codeweavers.com Date: Wed Jun 21 13:43:20 2023 +0200
ntdll: Inherit ConsoleHandle only by CUI processes.
CCing author.
https://bugs.winehq.org/show_bug.cgi?id=55723
--- Comment #2 from Rafał Mużyło galtgendo@o2.pl --- Bug 55439 is in a somewhat not straightforward way related.
https://bugs.winehq.org/show_bug.cgi?id=55723
Eric Pouech eric.pouech@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |eric.pouech@gmail.com Resolution|--- |WONTFIX Status|NEW |RESOLVED
--- Comment #3 from Eric Pouech eric.pouech@gmail.com --- It's not a regression, it's the other way around: Wine has been fixed so that it now behaves as Windows...
Trying to run wine's regsvr32 from a cmd prompt under windows doesn't generate any output either.
By default, GUI applications (regsvr32 is) don't have their standard input/output streams bound (even to the terminal/cmd from which they have been launched).
You need to bind explicitely the output of regsvr32 to the terminal
For example, you could replace in the wineasio-register script: regsvr32 "${u}" by regsvr32 "${u}" | cat 2>&1
Hence, marking resolved / wontfix
https://bugs.winehq.org/show_bug.cgi?id=55723
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #4 from Zeb Figura z.figura12@gmail.com --- This may be true, but on the other hand, Windows regsvr32 provides graphical output, which we do not.
Currently our regsvr32 pretends to write output to the terminal but is in fact just silent. I would argue that we should either change regsvr32 to a console program, or stop pretending that we're outputting anything to the console.
https://bugs.winehq.org/show_bug.cgi?id=55723
--- Comment #5 from Eric Pouech eric.pouech@gmail.com --- (In reply to Zeb Figura from comment #4)
This may be true, but on the other hand, Windows regsvr32 provides graphical output, which we do not.
Currently our regsvr32 pretends to write output to the terminal but is in fact just silent. I would argue that we should either change regsvr32 to a console program, or stop pretending that we're outputting anything to the console.
that would open a new console each time an application spawns regsvr32 (we could fix the CreateProcess(regsvr32...) calls in Wine to not create a console) but we can't expect all the other applications to do so
https://bugs.winehq.org/show_bug.cgi?id=55723
--- Comment #6 from Eric Pouech eric.pouech@gmail.com --- an evolution to regsvr32 has just landed in Wine 8.21 by default (no options), regsvr32 will use graphical message boxes to report errors when run with /s option, it will prints error messages to stderr
so to get back your previous behavior, you should: - run regsvr32 with '/s' option - use stderr (instead of stdout) to capture/display output
https://bugs.winehq.org/show_bug.cgi?id=55723
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Austin English austinenglish@gmail.com --- Closing.