我们正试图在业务生产环境中通过Wine 1.4.1在Debian 7.8服务器上运行第三方Windows可执行文件。 可执行文件从XMLinput生成PDF文档。
当我们运行可执行文件时,它会尝试加载一个XSD文件来parsinginputXML。 在此操作过程中,正在报告以下exception:
XSD file could not be read or is invalid C:\exec\MyXSD.xsd Could not create Schema OLE object OLE error 80004001
我们已经看到了这个页面,描述了一个可能的解决scheme是使用本机msxml4库。 https://forum.winehq.org/viewtopic.php?t=2369
我们已经尝试通过winetricks安装,但是这也有一个错误:
$ sudo -H -i -u "wineuser" DISPLAY=:1 sh /tmp/winetricks msxml4 Executing w_do_call msxml4 Executing load_msxml4 Using native,builtin override for following DLLs: msxml4 Executing winetricks_early_wine regedit C:\windows\Temp\_msxml4\override-dll.reg Executing wine msiexec /i msxml.msi fixme:storage:create_storagefile Storage share mode not implemented. fixme:sxs:cache_QueryAssemblyInfo 0x15e2f0, 0x00000002, L"Microsoft.MSXML2,type=\"win32\",version=\"4.30.2100.0\",publicKeyToken=\"6bd6b9abf345378f\",processorArchitecture=\"x86\"", 0x33f988 fixme:sxs:cache_QueryAssemblyInfo 0x15e2f0, 0x00000002, L"Microsoft.MSXML2R,type=\"win32\",version=\"4.30.2100.0\",publicKeyToken=\"6bd6b9abf345378f\",processorArchitecture=\"x86\"", 0x33f988 fixme:event:wait_for_withdrawn_state window 0x10062/1800001 wait timed out
执行挂在上面的点。
还有什么我们可以尝试得到原生msxml4安装或解决winetricks问题?
编辑:我们实际上解决了这个问题,但由于问题已被搁置,我不能提交一个答案。
问题在于这是一个没有安装GUI的服务器操作系统,但安装了一个“假的”VNC服务器显示器。 这允许无头的Windows可执行文件运行没有问题,但不允许与任何窗口交互。
为了解决这个问题,我们在服务器上启用了X11转发,显示winetricks msxml4安装popup一个安装向导,等待用户点击“下一步”并实际安装msxml4库。 一旦安装了本机msxml4,错误消失,我们现在可以成功运行可执行文件。