msxml error

Questions about Wine on Linux
Locked
meinwein
Newbie
Newbie
Posts: 4
Joined: Wed Mar 01, 2017 8:27 am

msxml error

Post by meinwein »

Hi,

installed a phone client on Linux Mint 17.1 including wine 2.2.
At application start up I get following error message:

Code: Select all

Unhandled exception: unimplemented function TAPI32.dll.lineSetAppPriorityW called in 32-bit code (0x7bc57d00).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7bc57d00 ESP:0033fa38 EBP:0033fa9c EFLAGS:00000206(   - --  I   - -P- )
 EAX:00445844 EBX:7bce4000 ECX:320a1743 EDX:00000018
 ESI:0033fa44 EDI:0033fb13
Stack dump:
0x0033fa38:  00000000 00000000 00000000 80000100
0x0033fa48:  00000001 00000000 7bc57d00 00000002
0x0033fa58:  0044588a 00445844 00000000 00000000
0x0033fa68:  00000000 00000000 00000000 00000000
0x0033fa78:  00000000 00000000 00000000 00000000
0x0033fa88:  00000000 00000000 00000000 00220601
000c: sel=0067 base=00000000 limit=00000000 32-bit --x
Backtrace:
=>0 0x7bc57d00 call_dll_entry_point+0x330() in ntdll (0x0033fa9c)
  1 0x0034001e (0x0033faf4)
  2 0x00401a82 in dialit32 (+0x1a81) (0x0033fdd4)
  3 0x004164dc in dialit32 (+0x164db) (0x0033fe20)
  4 0x7b4673e9 call_process_entry+0x18() in kernel32 (0x0033fe48)
  5 0x7b468a84 in kernel32 (+0x58a83) (0x0033fea8)
  6 0x7bc89c40 call_thread_func_wrapper+0xb() in ntdll (0x0033fed8)
  7 0x7bc8cfad call_thread_func+0x7c() in ntdll (0x0033ffa8)
  8 0x7bc89c1e RtlRaiseException+0x21() in ntdll (0x0033ffc8)
  9 0x7bc57d2a call_dll_entry_point+0x359() in ntdll (0x0033ffe8)
  10 0xf7518b5d wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000)
  11 0xf7518c1b wine_switch_to_stack+0x2a() in libwine.so.1 (0xffcbc6f8)
  12 0x7bc5fce1 LdrInitializeThunk+0x2b0() in ntdll (0xffcbc758)
  13 0x7b46f5d8 __wine_kernel_init+0x997() in kernel32 (0xffcbd878)
  14 0x7bc6024b __wine_process_init+0x18a() in ntdll (0xffcbd908)
  15 0xf7516f4a wine_init+0x299() in libwine.so.1 (0xffcbd968)
  16 0x7c000c5b main+0x21a() in <wine-loader> (0xffcbddc8)
  17 0xf7335af3 __libc_start_main+0xf2() in libc.so.6 (0x00000000)
0x7bc57d00 call_dll_entry_point+0x330 in ntdll: subl	$4,%esp
Modules:
Module	Address			Debug info	Name (36 modules)
PE	  400000-  458000	Export          dialit32
PE	10000000-10041000	Deferred        pcoem3
ELF	7b400000-7b7ed000	Dwarf           kernel32<elf>
  \-PE	7b410000-7b7ed000	\               kernel32
ELF	7bc00000-7bd02000	Dwarf           ntdll<elf>
  \-PE	7bc10000-7bd02000	\               ntdll
ELF	7c000000-7c004000	Dwarf           <wine-loader>
ELF	7e137000-7e27e000	Deferred        oleaut32<elf>
  \-PE	7e150000-7e27e000	\               oleaut32
ELF	7e37c000-7e3a2000	Deferred        imm32<elf>
  \-PE	7e380000-7e3a2000	\               imm32
ELF	7e3a2000-7e428000	Deferred        rpcrt4<elf>
  \-PE	7e3b0000-7e428000	\               rpcrt4
ELF	7e428000-7e571000	Deferred        ole32<elf>
  \-PE	7e440000-7e571000	\               ole32
ELF	7e571000-7e58b000	Deferred        version<elf>
  \-PE	7e580000-7e58b000	\               version
ELF	7e58b000-7e6c2000	Deferred        gdi32<elf>
  \-PE	7e5a0000-7e6c2000	\               gdi32
ELF	7e6c2000-7e828000	Deferred        user32<elf>
  \-PE	7e6d0000-7e828000	\               user32
ELF	7e828000-7e8a4000	Deferred        shlwapi<elf>
  \-PE	7e840000-7e8a4000	\               shlwapi
ELF	7e8a4000-7eb75000	Deferred        shell32<elf>
  \-PE	7e8b0000-7eb75000	\               shell32
ELF	7eb75000-7ebf1000	Deferred        advapi32<elf>
  \-PE	7eb80000-7ebf1000	\               advapi32
ELF	7ef96000-7efdc000	Deferred        libm.so.6
ELF	7efdd000-7f000000	Deferred        tapi32<elf>
  \-PE	7efe0000-7f000000	\               tapi32
ELF	f7317000-f731c000	Deferred        libdl.so.2
ELF	f731c000-f74cb000	Dwarf           libc.so.6
ELF	f74cc000-f74e8000	Deferred        libpthread.so.0
ELF	f750c000-f76da000	Dwarf           libwine.so.1
ELF	f76dc000-f76fe000	Deferred        ld-linux.so.2
ELF	f7700000-f7701000	Deferred        [vdso].so
Threads:
process  tid      prio (all id:s are in hex)
0000000e services.exe
	0000003c    0
	0000003b    0
	00000027    0
	00000021    0
	00000019    0
	00000018    0
	00000016    0
	00000012    0
	0000000f    0
00000010 explorer.exe
	00000031    0
	00000030    0
	0000002f    0
	0000002e    0
	00000011    0
00000014 winedevice.exe
	00000020    0
	0000001b    0
	0000001a    0
	00000015    0
0000001e plugplay.exe
	00000024    0
	00000023    0
	0000001f    0
00000025 winedevice.exe
	0000002d    0
	0000002a    0
	00000029    0
	00000026    0
00000032 ECtiClient.exe
	["C:\Program Files (x86)\estos\ProCall\ECtiClient.exe"]
	000000b1    0
	000000b0    0
	000000af    0
	000000ae    0
	000000ad    0
	000000ac    0
	000000ab    0
	000000a9   15
	000000a8    0
	000000a7    0
	000000a6   15
	000000a5    0
	000000a4    0
	000000a3    0
	000000a2    0
	000000a1    0
	000000a0    0
	0000009f    0
	0000009e    0
	0000009d    0
	0000009b    0
	0000009a    0
	00000099    0
	00000098    0
	00000097    0
	00000096    0
	00000095    0
	00000094    0
	00000093    0
	00000092    0
	00000091    0
	00000090    0
	0000008f    0
	0000008e    0
	0000008d    0
	0000008c    0
	0000008b    0
	0000008a    0
	00000088    0
	00000066    0
	00000064    0
	0000004d   15
	0000004b    0
	0000004a    0
	00000049    0
	00000048    0
	00000035    0
	00000034    0
	00000033    0
00000039 rpcss.exe
	00000087    0
	00000086    0
	00000062    0
	00000047    0
	00000046    0
	00000044    0
	00000043    0
	00000042    0
	00000041    0
	0000003f    0
	0000003e    0
	0000003d    0
	0000003a    0
0000004e EOConnector.exe
	["C:\Program Files (x86)\estos\ProCall\EOConnector.exe" -Embedding]
	00000071    0
	00000059    0
	00000058    0
	00000055    0
	00000051    0
	00000050    0
	0000004f    0
00000072 EOConnector.exe
	["C:\Program Files (x86)\estos\ProCall\EOConnector.exe" -Embedding]
	00000085    0
	0000007d    0
	0000007c    0
	00000079    0
	00000077    0
	00000075    0
	00000074    0
	00000073    0
000000b4 (D) C:\Program Files (x86)\estos\ProCall\Dialit32.exe
	[ -register]
	000000b5    0 <==
000000b8 explorer.exe
	000000bd    0
	000000bc    0
	000000bb    0
	000000ba    0
	000000b9    0
System information:
    Wine build: wine-2.2 (Staging)
    Platform: i386 (WOW64)
    Version: Windows XP
    Host system: Linux
    Host version: 3.19.0-32-generic
The application starts and some functions work, some don't (like the call history). When I make a call I get another error message inside the caller popup:

Code: Select all

msxml error
unknown error 0x80004001
Maybe there is some .net missing?!
What can I do?

BR
Mike
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: msxml error

Post by Bob Wya »

meinwein wrote:Hi,

installed a phone client on Linux Mint 17.1 including wine 2.2.
At application start up I get following error message:

Code: Select all

Unhandled exception: unimplemented function TAPI32.dll.lineSetAppPriorityW called in 32-bit code (0x7bc57d00).
...
Maybe there is some .net missing?!
What can I do?

BR
Mike
First off I'd test your application in a 32-bit WINEPREFIX - see WineHQ FAQ: 6.5.3 How do I create a 32 bit wineprefix on a 64 bit system?
That will (typically) improve compatability - running Windows applications under Wine.

I had a did a bit of digging around.

The TAPI DLLs, along with the TAPI Server (Tapisvr.exe), are crucial abstractions separating end-user or server applications from service providers.
A TAPI DLL in conjunction with the TAPI Server provides a consistent interface between these two layers.
...

Hmmm... How very interesting!! :shock:

I had a look at the Wine Source.

Currently (origin/master as of 01/03/2017) only the ANSI version of the TAPI API (lineSetAppPriorityA) call is stubbed:

Code: Select all

/***********************************************************************
 *		lineSetAppPriority (TAPI32.@)
 */
DWORD WINAPI lineSetAppPriorityA(LPCSTR lpszAppFilename, DWORD dwMediaMode, LPLINEEXTENSIONID const lpExtensionID, DWORD dwRequestMode, LPCSTR lpszExtensionName, DWORD dwPriority)
{
    FIXME("(%s, %08x, %p, %08x, %s, %08x): stub.\n", lpszAppFilename, dwMediaMode, lpExtensionID, dwRequestMode, lpszExtensionName, dwPriority);
    return 0;
}
The unicode version of the TAPI API call (lineSetAppPriorityW) isn't implemented at all. Hence your segfault.
Even stubbing the unicode version of this call (i.e. lineSetAppPriorityW) - would no doubt lead to another failure - a little later on.
This Wine dll is full of stubbed (essentially placeholder functions that do nothing) API calls... Very few of the unicode calls are implemented at all...

According to the WineHQ AppDB - you can pull in a native Windows tapi.dll file and override Wine to use that - instead of it's bultin version.

Put your native Windows tapi.dll in this directory:

Code: Select all

"${WINEPREFIX:-${HOME}/.wine}/drive_c/windows/system32/"
Then override the tapi32.dll to native (Windows) - using the winecfg (utility) Libraries tab.

Re-test your application with this that one change - but in a 32-bit WINEPREFIX (it's best just to change one thing at a time!)

Bob
meinwein
Newbie
Newbie
Posts: 4
Joined: Wed Mar 01, 2017 8:27 am

Re: msxml error

Post by meinwein »

Allright, thanks a lot!
Unfortunately it didn't work out. The tapi error is the very same.

Hope I did everything properly. Here my steps:
1) first I deleted the old installation.
2) export WINEARCH=win32 WINEPREFIX="/home/myhome/.wine/ProCall"
3) sh /opt/wine-staging/bin/wine msiexec /i /home/myhome/ProCall_5.1.105.4380_de-DE.msi
4) copied the tapi.dll from a windows installation into that system32 folder of my ProCall installation
5) in winecfg, tab 'libraries' I overrode tapi32.dll to only 'Native (Windows)'

Btw. my Windows installation also has a tapi32.dll which I also copied and overrode.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: msxml error

Post by Bob Wya »

meinwein wrote:Allright, thanks a lot!
Unfortunately it didn't work out. The tapi error is the very same.

Hope I did everything properly. Here my steps:
1) first I deleted the old installation.
2) export WINEARCH=win32 WINEPREFIX="/home/myhome/.wine/ProCall"
3) sh /opt/wine-staging/bin/wine msiexec /i /home/myhome/ProCall_5.1.105.4380_de-DE.msi
4) copied the tapi.dll from a windows installation into that system32 folder of my ProCall installation
5) in winecfg, tab 'libraries' I overrode tapi32.dll to only 'Native (Windows)'

Btw. my Windows installation also has a tapi32.dll which I also copied and overrode.
Oops... You'll also need to run...

Code: Select all

export WINEPREFIX="/home/myhome/.wine/ProCall"
cd "${WINEPREFIX}/drive_c/windows/system32/"
wine regsvr32 tapi32.dll
wine regsvr32 tapi.dll
So used to using winetricks these days (which would run this command "behind the scenes") 8)

See how far that gets you...

Bob
meinwein
Newbie
Newbie
Posts: 4
Joined: Wed Mar 01, 2017 8:27 am

Re: msxml error

Post by meinwein »

Code: Select all

me@mypc /opt/wine-staging/bin/wine regsvr32 tapi32.dll
fixme:winediag:start_process Wine Staging 2.2 is a testing version containing experimental patches.
fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
fixme:ver:GetCurrentPackageId (0xbbe9e8 (nil)): stub
fixme:advapi:RegisterEventSourceW ((null),L"EACUSrv"): stub
fixme:hnetcfg:fwpolicy2_get_CurrentProfileTypes 0x158148 0x33f470
fixme:hnetcfg:fwpolicy2_get_Rules 0x158148 0x33f3f0
err:ole:CoGetClassObject class {2c5bc43e-3369-4c33-ab0c-be9469677af4} not registered
err:ole:CoGetClassObject no class object {2c5bc43e-3369-4c33-ab0c-be9469677af4} could be created for context 0x1
fixme:advapi:ReportEventW (0xcafe4242,0x0004,0x0000,0x00000000,(nil),0x0002,0x00000000,0xbbe734,(nil)): stub
fixme:advapi:ReportEventW (0xcafe4242,0x0004,0x0000,0x00000000,(nil),0x0002,0x00000000,0xbbe734,(nil)): stub
regsvr32: 'DllRegisterServer' nicht in DLL 'tapi32.dll' implementiert
me@mypc ~/.wine/ProCall/drive_c/windows/system32 $ fixme:advapi:ReportEventW (0xcafe4242,0x0004,0x0000,0x00000000,(nil),0x0002,0x00000000,0xbbe734,(nil)): stub
fixme:advapi:ReportEventW (0xcafe4242,0x0004,0x0000,0x00000000,(nil),0x0002,0x00000000,0xbbe734,(nil)): stub
Not good. :-(
tapi.dll output is nearly the same, instead of
'regsvr32: 'DllRegisterServer' not implemented in DLL 'tapi32.dll'
I get:
'regsvr32: DLL 'tapi.dll' couldn't be loaded'
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: msxml error

Post by Bob Wya »

You installation of wine appears to be a bit borked... Since you keep referencing...

Code: Select all

/opt/wine-staging/bin/wine
Do you not have the winehq-staging package installed?

That package provides compatibility symlinks in
/usr/bin
?

From my Ubuntu install:

Code: Select all

lrwxrwxrwx 1 root root 26 Feb  9 08:21 /usr/bin/wine -> /opt/wine-staging/bin/wine
lrwxrwxrwx 1 root root 28 Feb  9 08:21 /usr/bin/wine64 -> /opt/wine-staging/bin/wine64
lrwxrwxrwx 1 root root 38 Feb  9 08:21 /usr/bin/wine64-preloader -> /opt/wine-staging/bin/wine64-preloader
lrwxrwxrwx 1 root root 30 Feb  9 08:21 /usr/bin/wineboot -> /opt/wine-staging/bin/wineboot
lrwxrwxrwx 1 root root 31 Feb  9 08:21 /usr/bin/winebuild -> /opt/wine-staging/bin/winebuild
lrwxrwxrwx 1 root root 29 Feb  9 08:21 /usr/bin/winecfg -> /opt/wine-staging/bin/winecfg
lrwxrwxrwx 1 root root 33 Feb  9 08:21 /usr/bin/wineconsole -> /opt/wine-staging/bin/wineconsole
lrwxrwxrwx 1 root root 29 Feb  9 08:21 /usr/bin/winecpp -> /opt/wine-staging/bin/winecpp
lrwxrwxrwx 1 root root 29 Feb  9 08:21 /usr/bin/winedbg -> /opt/wine-staging/bin/winedbg
lrwxrwxrwx 1 root root 30 Feb  9 08:21 /usr/bin/winedump -> /opt/wine-staging/bin/winedump
lrwxrwxrwx 1 root root 30 Feb  9 08:21 /usr/bin/winefile -> /opt/wine-staging/bin/winefile
lrwxrwxrwx 1 root root 29 Feb  9 08:21 /usr/bin/wineg++ -> /opt/wine-staging/bin/wineg++
lrwxrwxrwx 1 root root 29 Feb  9 08:21 /usr/bin/winegcc -> /opt/wine-staging/bin/winegcc
lrwxrwxrwx 1 root root 31 Feb  9 08:21 /usr/bin/winemaker -> /opt/wine-staging/bin/winemaker
lrwxrwxrwx 1 root root 30 Feb  9 08:21 /usr/bin/winemine -> /opt/wine-staging/bin/winemine
lrwxrwxrwx 1 root root 30 Feb  9 08:21 /usr/bin/winepath -> /opt/wine-staging/bin/winepath
lrwxrwxrwx 1 root root 36 Feb  9 08:21 /usr/bin/wine-preloader -> /opt/wine-staging/bin/wine-preloader
lrwxrwxrwx 1 root root 32 Feb  9 08:21 /usr/bin/wineserver -> /opt/wine-staging/bin/wineserver
Bob
meinwein
Newbie
Newbie
Posts: 4
Joined: Wed Mar 01, 2017 8:27 am

Re: msxml error

Post by meinwein »

Yes, I have wine-staging 2.2.0 installed but there are no symlinks in /usr/bin.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: msxml error

Post by Bob Wya »

I clearly wrote (now with further emphasis added):
Bob Wya wrote: ...
Do you not have the winehq-staging package installed?
...
Not wine-staging (which is pulled in by the above meta-package anyway).

Bob
Locked