[Bug 27387] New: Lexware installers need some IXMLDOMParseError properties implemented (srcText, line, linepos)

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Jun 4 05:26:39 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=27387

           Summary: Lexware installers need some IXMLDOMParseError
                    properties implemented (srcText, line, linepos)
           Product: Wine
           Version: 1.3.21
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: msxml3
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: focht at gmx.net


Hello,

Lexware installers currently need native msxml3 override due to incomplete XML
ParseError implementation.
Unlike other apps where the parse error is queried _after_ something bad
happened, the installer also queries parse error on successful load of XML
document which breaks the installer.

--- snip ---
0025:Call KERNEL32.CreateFileA(00840610 "C:\\users\\focht\\Local
Settings\\Application
Data\\Lexware\\LxSetupTemp\\LxSetupConfig.xml",80000000,00000001,00000000,00000003,00000080,00000000)
ret=0048fcb1
0025:Ret  KERNEL32.CreateFileA() retval=0000000c ret=0048fcb1 
...
0025:trace:msxml:DOMClassFactory_CreateInstance (nil)
{00000000-0000-0000-c000-000000000046} 0x32f76c
0025:trace:msxml:DOMDocument_create ({2933bf90-7b36-11d2-b20e-00c04f983e60},
(nil), 0x32f628) 
...
0025:Ret  ole32.CoCreateInstance() retval=00000000 ret=00478580
0025:Call ole32.OleRun(001578d4) ret=0047858f
0025:trace:msxml:domdoc_QueryInterface
(0x1578b8)->({00000126-0000-0000-c000-000000000046} 0x32f6cc)
0025:trace:msxml:domdoc_QueryInterface interface
{00000126-0000-0000-c000-000000000046} not implemented
0025:Ret  ole32.OleRun() retval=00000000 ret=0047858f
0025:trace:msxml:domdoc_QueryInterface
(0x1578b8)->({2933bf81-7b36-11d2-b20e-00c04f983e60} 0x32f79c)
0025:trace:msxml:domdoc_AddRef (0x1578b8)->(2)
0025:trace:msxml:domdoc_Release (0x1578b8)->(1)
0025:trace:msxml:domdoc_AddRef (0x1578b8)->(2)
0025:trace:msxml:domdoc_Release (0x1578b8)->(1)
0025:trace:msxml:domdoc_put_async (0x1578b8)->(0)
0025:trace:msxml:domdoc_put_validateOnParse (0x1578b8)->(0)
0025:trace:msxml:domdoc_put_resolveExternals (0x1578b8)->(0)
0025:trace:msxml:domdoc_AddRef (0x1578b8)->(2)
0025:trace:msxml:domdoc_Release (0x1578b8)->(1)
0025:Call ole32.CreateStreamOnHGlobal(00000000,00000001,0032f7c4) ret=00478803 
...
0025:Ret  ole32.CreateStreamOnHGlobal() retval=00000000 ret=00478803 
...
0025:trace:msxml:domdoc_load (0x1578b8)->({VT_UNKNOWN: 0x157868})
0025:trace:msxml:domdoc_QueryInterface
(0x1578b8)->({00000109-0000-0000-c000-000000000046} 0x32f6f8)
0025:trace:msxml:domdoc_AddRef (0x1578b8)->(2)
0025:trace:msxml:domdoc_IPersistStreamInit_Load (0x1578b8)->(0x157868)
0025:Call ole32.CreateStreamOnHGlobal(00000000,00000001,00157904) ret=44744a9c 
...
0025:Ret  ole32.CreateStreamOnHGlobal() retval=00000000 ret=44744a9c 
...
0025:Call ole32.GetHGlobalFromStream(0015a9e0,0032e66c) ret=44744bd6
0025:Ret  ole32.GetHGlobalFromStream() retval=00000000 ret=44744bd6 
...
0025:trace:msxml:xmldoc_release (0x7df571b0)->(0)
0025:trace:msxml:xmldoc_release freeing docptr 0x7df571b0
...
0025:trace:msxml:xmldoc_add_ref (0x7df575b8)->(1)
0025:trace:msxml:domdoc_load Using IStream to load Document
0025:Call oleaut32.VariantClear(0032f7a4) ret=004788d7
0025:Ret  oleaut32.VariantClear() retval=00000000 ret=004788d7
0025:fixme:msxml:domdoc_get_parseError (0x1578d4)->(0x32f734): creating a dummy
parseError
0025:Call ntdll.RtlAllocateHeap(00110000,00000000,00000024) ret=4475fed2
0025:Ret  ntdll.RtlAllocateHeap() retval=0015da80 ret=4475fed2
0025:fixme:msxml:parseError_get_srcText (0x15da80)->(0x32f734)
0025:trace:msxml:parseError_QueryInterface
(0x15da80)->({df0b3d60-548f-101b-8e65-08002b2bd119} 0x32f728)
0025:fixme:msxml:parseError_QueryInterface interface
{df0b3d60-548f-101b-8e65-08002b2bd119} not implemented
0025:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,0032f6e4)
ret=004a35e2
0025:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b838b9b
ip=7b838b9b tid=0025
0025:trace:seh:raise_exception  info[0]=19930520
0025:trace:seh:raise_exception  info[1]=0032f700
0025:trace:seh:raise_exception  info[2]=004e46b4
0025:trace:seh:raise_exception  eax=7b825f1d ebx=7b891ff4 ecx=19930520
edx=0032f5f4 esi=0032f6d0 edi=0032f650
0025:trace:seh:raise_exception  ebp=0032f638 esp=0032f5d4 cs=0073 ds=007b
es=007b fs=0033 gs=003b flags=00000203 
...
--- snip ---

Current stubs:

http://source.winehq.org/git/wine.git/blob/HEAD:/dlls/msxml3/parseerror.c#l237

With parse error implemented, the installer succeeds:

--- snip ---
0021:trace:msxml:domdoc_load Using IStream to load Document
0021:Call oleaut32.VariantClear(0032f7a4) ret=004788d7
0021:Ret  oleaut32.VariantClear() retval=00000000 ret=004788d7
0021:fixme:msxml:domdoc_get_parseError (0x1578d4)->(0x32f734): creating a dummy
parseError
...
0021:fixme:msxml:parseError_get_srcText (0x15da80)->(0x32f734)
...
0021:trace:msxml:parseError_get_reason (0x15da80)->(0x32f734)
...
0021:fixme:msxml:parseError_get_linepos (0x15da80)->(0x32f754)
0021:fixme:msxml:parseError_get_line (0x15da80)->(0x32f758)
0021:trace:msxml:parseError_get_errorCode (0x15da80)->(0x32f75c)
0021:trace:msxml:parseError_get_errorCode (0x15da80)->(0x32f760)
...
0021:trace:msxml:parseError_Release (0x15da80) ref now 0
...
0021:trace:msxml:domdoc_get_xml (0x1578b8)->(0x32f864)
0021:trace:msxml:domdoc_get_xml 0, len=12087
0021:Call KERNEL32.MultiByteToWideChar(0000fde9,00000000,7d19d4d0 "<?xml
version=\"1.0\" encoding=\"iso-8859-1\"?>\n<!-- edited with XML Spy v4.1 U
(http://www.xmlspy.com) by m (Lexware GmbH & Co, KG) -->\n<lxsetup
currentmode=\"\" currentpage=\"welcome\" serialnumber=\"\" product=\"office\"
workingdirectory=\"\" tempdirectory=\"\" setuptype=\"\"
licenseaccepted=\"f"...,ffffffff,00000000,00000000) ret=20051675
...
---

The snippet shows the following stubs need implementation:

parseError_get_srcText
parseError_get_line
parseError_get_linepos

Might help other apps too ...

Regards

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list