$ wine cscript.exe /E:vbscript test.vbs где test.vbs - Set WshShell = CreateObject("WScript.Shell") WScript.Echo "Windows dir: " & WshShell.ExpandEnvironmentStrings("%WinDir%") Выдаёт err:ole:CoGetClassObject class {6c736db1-bd94-11d0-8a23-00aa00b58e10} not registered err:ole:CoGetClassObject no class object {6c736db1-bd94-11d0-8a23-00aa00b58e10} could be created for context 0x1 и ничего не выполняет. Сам cscript даже справку не выводит в режиме winexp, молча завершается. Через wine98 всё работает.
6c736db1-bd94-11d0-8a23-00aa00b58e10 скорей всего MSVSA.InprocessEventCreator Скорее всего это к баге не относится. При замене ole32.dll на нативную сообщения пропадают.
Проблема только в версии windows. Если запускать: WINDOWS_VERSION="win98" wine cscript.exe /E:vbscript test.vbs, то всё работает Предположил, что старой vbscript.dll не нравится новая версия windows. Скопировал vbscript.dll от win2k3 - ничего не изменилось
Попробовал разные версии cscript.exe. Версия win2k входит в критическую секцию и повисает. Версии winXP у нас нет. Пробовал установить MS Windows scripting 5.6 (VBScript only)- не помогло
Про вывод при простом запуске cscript: http://bugs.winehq.org/show_bug.cgi?id=5541 Я проверил, при запуске через wineconsole cmd всё работает и выводится. Так что проблема только в выводе в чистую консоль, что для нас не актуально.