http://bugs.winehq.org/show_bug.cgi?id=30438
Bug #: 30438 Summary: Lexware buchhalter unable to start Product: Wine Version: 1.5.2 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: blocker Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: onny@project-insanity.org Classification: Unclassified
Created attachment 39800 --> http://bugs.winehq.org/attachment.cgi?id=39800 terminal output starting Pcbh32.exe
Program fails to start after successful installation with the error message "Applicationmanager konnte nicht gestartet werden". The amount of terminal output is very limited, don't know which specific component is worth debugging... maybe ole32?
http://bugs.winehq.org/show_bug.cgi?id=30438
Jonas Heinrich onny@project-insanity.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |onny@project-insanity.org
http://bugs.winehq.org/show_bug.cgi?id=30438
Vitaliy Margolen vitaliy-bugzilla@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|blocker |normal
--- Comment #1 from Vitaliy Margolen vitaliy-bugzilla@kievinfo.com 2012-04-15 10:10:40 CDT --- http://bugs.winehq.org/page.cgi?id=fields.html#importance
Don't think it's an ole32. One thing you can fix is this: err:module:load_builtin_dll failed to load .so lib for builtin L"winemp3.acm": libmpg123.so.0: cannot open shared object file: No such file or directory
If that won't help, please attach complete terminal output of the install into a new wineprefix.
http://bugs.winehq.org/show_bug.cgi?id=30438
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Summary|Lexware buchhalter unable |Lexware Buchhalter 2012 |to start |fails to start
--- Comment #2 from Anastasius Focht focht@gmx.net 2012-04-15 16:39:04 CDT --- Hello,
please always specify the app version in summary otherwise it could be interpreted as *any* Lexware Buchhalter version (2009, 2010, 2011, 2012). Technically they are different hence it's an important information.
From the attached trace log your version seems to be 2012 (v17.0).
How did you install the app:
- clean WINEPREFIX? - any prerequisite 'winetricks' steps used?
Again: it is very important that you document every step for reproducing/analysis.
Please generate debug trace log:
WINEDEBUG=+tid,+seh,+relay wine ./Pcbh32.exe >>log.txt 2>&1
Attach log.txt to the bug. If the resulting file is larger than 1 MB, compress it with bzip2 or rzip -9 before attaching.
Regards
http://bugs.winehq.org/show_bug.cgi?id=30438
--- Comment #3 from Jonas Heinrich onny@project-insanity.org 2012-04-15 23:17:59 CDT --- Thanks for helping so far.
Here is the new log file: http://onny.project-insanity.org/files/buchhalter_2012_wine152_tid-seh-relay... (10MB+)
(executed "WINEDEBUG=+tid,+seh,+relay wine ./Pcbh32.exe >>log.txt 2>&1" in /home/onny/.wine/drive_c/Program Files/Lexware/buchhalter/2012)
I installed ie6 on a clean wineprefix (via winetricks), removed than all dll overwrites in winecfg. I also installed mono210 for Lexware Update Manager.
http://bugs.winehq.org/show_bug.cgi?id=30438
--- Comment #4 from Anastasius Focht focht@gmx.net 2012-04-17 02:26:39 CDT --- Hello,
looking at trace log, the "Applicationmanager" seems to live in a COM server:
--- snip --- ... 0009:Call ole32.CoCreateInstance(0072c654,00000000,00000017,007734f4,0032fcb4) ret=00459e84 0009:Call advapi32.RegOpenKeyExW(80000000,0032fa96 L"CLSID\{808380AA-A7F5-4DCF-A0F0-EF014F6ACE7A}",00000000,00020019,0032fa90) ret=7e4c9848 0009:Ret advapi32.RegOpenKeyExW() retval=00000002 ret=7e4c9848 0009:err:ole:CoGetClassObject class {808380aa-a7f5-4dcf-a0f0-ef014f6ace7a} not registered 0009:Call advapi32.RegOpenKeyExW(80000000,0032fa96 L"CLSID\{808380AA-A7F5-4DCF-A0F0-EF014F6ACE7A}",00000000,00020019,0032fa90) ret=7e4c9848 0009:Ret advapi32.RegOpenKeyExW() retval=00000002 ret=7e4c9848 0009:err:ole:CoGetClassObject class {808380aa-a7f5-4dcf-a0f0-ef014f6ace7a} not registered 0009:Call KERNEL32.WaitNamedPipeW(0032f738 L"\\.\pipe\{808380AA-A7F5-4DCF-A0F0-EF014F6ACE7A}",ffffffff) ret=7e5000d8 0009:Ret KERNEL32.WaitNamedPipeW() retval=00000000 ret=7e5000d8 0009:Call KERNEL32.CreateFileW(0032f738 L"\\.\pipe\{808380AA-A7F5-4DCF-A0F0-EF014F6ACE7A}",c0000000,00000000,00000000,00000003,00000000,00000000) ret=7e500113 0009:Ret KERNEL32.CreateFileW() retval=ffffffff ret=7e500113 0009:Call advapi32.RegOpenKeyExW(80000000,0032f4e6 L"CLSID\{808380AA-A7F5-4DCF-A0F0-EF014F6ACE7A}",00000000,00020019,0032f4e0) ret=7e4c9848 0009:Ret advapi32.RegOpenKeyExW() retval=00000002 ret=7e4c9848 0009:Call advapi32.RegOpenKeyExW(80000000,0032f5e6 L"CLSID\{808380AA-A7F5-4DCF-A0F0-EF014F6ACE7A}",00000000,00020019,0032f5e0) ret=7e4c9848 0009:Ret advapi32.RegOpenKeyExW() retval=00000002 ret=7e4c9848 0009:err:ole:create_server class {808380aa-a7f5-4dcf-a0f0-ef014f6ace7a} not registered 0009:fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported 0009:err:ole:CoGetClassObject no class object {808380aa-a7f5-4dcf-a0f0-ef014f6ace7a} could be created for context 0x17 0009:Ret ole32.CoCreateInstance() retval=80040154 ret=00459e84 ... 0009:Call user32.MessageBoxA(00000000,0072c624 "Applicationmanager konnte nicht erzeugt werden",00cc9dc8 "Lexware buchhalter",00000030) ret=78d0ac1d --- snip ---
Either the server has not been registered during installation or the server fails to run/register itself during automatic start up (runtime registration).
Maybe the installation was incomplete. Having installers reporting "success" doesn't necessarily mean everything went well. Sometimes a critical part is left out/skipped due to prerequisite not present during installation. For example Lexware Financial/Business Office Pro 2012 requires .NET 4.0 Framework and several other recipes to run ('winetricks -q msxml3 ie7 dotnet40 jet40 mdac28'), not sure about Lexware Buchhalter 2012.
Unfortunately there is no download/torrent available so you're on your own providing information.
Regards
http://bugs.winehq.org/show_bug.cgi?id=30438
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet Status|UNCONFIRMED |NEW Depends on| |25340, 30447, 29355 Ever Confirmed|0 |1
--- Comment #5 from Anastasius Focht focht@gmx.net 2012-04-18 17:59:00 CDT --- Hello,
thanks for the media, confirming.
The COM class in question lives in "LFOApplication20.dll".
I traced the whole msi based installation, dumped the MSI with Orca, watched for self-registration/registry data writes - no avail - the CLSID is not written to registry.
The solution: "LFOApplication20.dll" is a registration-less COM server, using PE manifest:
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Lexware/buchhalter/2012
$ find . -iname "*.dll" | xargs -i strings {} | grep "808380AA-A7F5-4DCF-A0F0-EF014F6ACE7A" ... <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity name="LFOApplication20" type="win32" version="16.0.0.0"></assemblyIdentity><file name="LFOApplication20.dll" hashalg="SHA1"><comClass clsid="{808380AA-A7F5-4DCF-A0F0-EF014F6ACE7A}" tlbid="{ADD6EE71-E283-4D0E-8D17-8656A4FE5163}" description="LFOApplicationManager Class" threadingModel="Apartment" progid="Lexware.LFOApplicationManager"><progid>Lexware.LFOApplicationManager.1</progid></comClass><typelib tlbid="{ADD6EE71-E283-4D0E-8D17-8656A4FE5163}" version="1.0" helpdir="" flags="HASDISKIMAGE"></typelib></file><comInterfaceExternalProxyStub name="ILFOApplicationManager" iid="{0760996F-AD1B-43D3-BFAD-2E30341C928B}" tlbid="{ADD6EE71-E283-4D0E-8D17-8656A4FE5163}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"></comInterfaceExternalProxyStub><comInterfaceExternalProxyStub name="ILFOApplicationManager2" iid="{C6347F57-28A7-4BD5-BF20-A97F0AC21F81}" tlbid="{ADD6EE71-E283-4D0E-8D17-8656A4FE5163}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"></comInterfaceExternalProxyStub><comInterfaceExternalProxyStub name="ILFOApplicationManager3" iid="{F3D0A10D-7B38-45FB-B943-504AB0F18F9E}" tlbid="{ADD6EE71-E283-4D0E-8D17-8656A4FE5163}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"></comInterfaceExternalProxyStub><comInterfaceExternalProxyStub name="ILFOApplicationManager4" iid="{1B83E4FB-98A1-4045-8F5B-233F5EE035E4}" tlbid="{ADD6EE71-E283-4D0E-8D17-8656A4FE5163}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"></comInterfaceExternalProxyStub></assembly> --- snip ---
This is bug 25340
=========
Many of the dlls in application folder are either pure .NET assemblies or mixed-mode ones. There is also VC++ 2010 runtime with managed/mixed mode parts.
The .NET metadata pointed by CLR/CLI header always starts with "BSJB" signature.
Metadata Header Storage Signature:
--- snip --- 0x424a5342 Signature (hex for "BSJB" (only backwards due to endianness)) 0x0001 Major Version 0x0001 Minor Version 0x00000000 Extra Data Offset 0x0000000c Version String Length 'v2.0.50727' Version String --- snip ---
Using some shell wizardry we scan through all local assemblies to find the .NET Framework versions required:
--- snip --- $ find . -type f ( -iname "*.dll" -or -iname "*.exe" ) | xargs -i file {} | grep assembly | cut -f1 -d: | xargs -IX sh -c "echo X && (hexdump -C X | grep BSJB -B0 -C2)" ... ./Haufe.Common.UI.ProgressBar.dll 00000c70 50 41 44 50 b4 00 00 00 42 53 4a 42 01 00 01 00 |PADP....BSJB....| 00000c80 00 00 00 00 0c 00 00 00 76 34 2e 30 2e 33 30 33 |........v4.0.303| 00000c90 31 39 00 00 00 00 05 00 6c 00 00 00 84 09 00 00 |19......l.......| ./AxInterop.RenesisXLib.dll 00000460 42 53 4a 42 01 00 01 00 00 00 00 00 0c 00 00 00 |BSJB............| 00000470 76 32 2e 30 2e 35 30 37 32 37 00 00 00 00 05 00 |v2.0.50727......| 00000480 6c 00 00 00 88 03 00 00 23 7e 00 00 f4 03 00 00 |l.......#~......| --- snip ---
We need .NET Framework 2.0 and 4.0 installed in WINEPREFIX.
Basic recipe (correct order of recipes is necessary, if ie7 comes there will be some crashing/hanging process on self-registration, preventing clean wineserver shutdown)
$ bash winetricks -q ie7 (bug 30447) $ bash winetricks -q msxml3 (bug 29355) $ bash winetricks -q dotnet20 dotnet40
<app installer>
=========
For the registry-free COM server there is a workaround (because DllRegisterServer is exported and typelib data is present):
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Lexware/buchhalter/2012
$ find . -type f -iname "*.dll" | xargs grep -l DllRegisterServer | xargs -i regsvr32 {} --- snip ---
Not pretty but well...
There is also a small problem while registering one dll:
--- snip --- fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC80.MFC" (8.0.50727.762) err:module:import_dll Library MFC80.DLL (which is needed by L"C:\Program Files\Lexware\buchhalter\2012\KRCheck.dll") not found --- snip ---
VC++ 2005 runtime is not shipped by installer, this is probably an oversight by vendor/packager. Not sure if this dll is really needed, you might skip it or 'winetricks -q vcrun2005' before registration.
=========
After installation there will be a font/gdiplus problem on startup:
--- snip --- System.ArgumentException: Value of '-11' is not valid for 'emSize'. 'emSize' should be greater than 0 and less than or equal to System.Single.MaxValue. Parameter name: emSize at System.Drawing.Font.Initialize(FontFamily family, Single emSize, FontStyle style, GraphicsUnit unit, Byte gdiCharSet, Boolean gdiVerticalFont) at System.Drawing.Font..ctor(IntPtr nativeFont, Byte gdiCharSet, Boolean gdiVerticalFont) at System.Drawing.Font.FromLogFont(Object lf, IntPtr hdc) at System.Drawing.Font.FromHfont(IntPtr hfont) at Lexware.Common.UI.Navigation.NavigationPanel.UseUISettings() --- snip ---
'winetricks -q gdiplus' works around.
The next bug is nasty, resulting in endless paint/redrawing loop of whole app window, eating wineserver/X CPU. Use 'virtual desktop' mode, 1024x768 min. resolution to work around otherwise it's hard to kill :)
$ wine explorer /desktop=foo,1024x768 ./Pcbh32.exe
The app is initially minimized, click on the icon (not the "x" part though) and "maximize" to show main gui.
Note: after exiting of app, wineserver will be still running (partly bug 30439):
--- snip --- C:\Program Files\Common Files\Lexware\LxWebAccess\LxWebAccess.exe -Embedding --- snip ---
You might need to kill that process (or -k).
Regards
http://bugs.winehq.org/show_bug.cgi?id=30438
--- Comment #6 from Jonas Heinrich onny@project-insanity.org 2012-04-18 18:24:17 CDT --- That's a really helpful and interesting debug session you documented here. Even though I can't get dotnet20 and dotnet40 installed via. winetricks, it's nice to hear that you got it somehow working :) But what does this mean now? Does Mono, when installed, does not provide these COM-server functionality or these functions required by the "BSJB"-dlls? Is this really fixable in Wine itself? Because I thought this whole Net stuff is provided by third party apps.
http://bugs.winehq.org/show_bug.cgi?id=30438
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |30482
--- Comment #7 from Anastasius Focht focht@gmx.net 2012-04-19 13:29:04 CDT --- Hello Jonas,
--- quote --- That's a really helpful and interesting debug session you documented here. Even though I can't get dotnet20 and dotnet40 installed via. winetricks, it's nice to hear that you got it somehow working :) --- quote ---
Well, dotnet20 and dotnet40 winetricks verbs should work ...
--- quote --- But what does this mean now? Does Mono, when installed, does not provide these COM-server functionality or these functions required by the "BSJB"-dlls? Is this really fixable in Wine itself? Because I thought this whole Net stuff is provided by third party apps. --- quote ---
Mono doesn't have anything to do with registry-free COM servers (bug 25340). I just showed an "offline" approach to figure out needed .NET versions without trial-and-error installation and run-time tests. If you want to suffer^H^H^H^H^H^Huse Mono, go ahead and create separate bugs for Mono people to look into.
I created a separate bug 30482 for the mentioned gdiplus bug (only fixes one issue there are still other gdiplus bugs).
Regards
http://bugs.winehq.org/show_bug.cgi?id=30438
Bug 30438 depends on bug 30482, which changed state.
Bug 30482 Summary: Lexware Buchhalter 2012 fails on startup due to GdipCreateFontFromLogfont not properly handling negative font heights http://bugs.winehq.org/show_bug.cgi?id=30482
What |Old Value |New Value ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
http://bugs.winehq.org/show_bug.cgi?id=30438
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |30507
http://bugs.winehq.org/show_bug.cgi?id=30438
Bug 30438 depends on bug 29355, which changed state.
Bug 29355 Summary: Multiple apps need IXMLDOMDocument::save() to preserve/output XML declaration (Lexware 2012 product installers, ...) http://bugs.winehq.org/show_bug.cgi?id=29355
What |Old Value |New Value ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
http://bugs.winehq.org/show_bug.cgi?id=30438
Bug 30438 depends on bug 25340, which changed state.
Bug 25340 Summary: Multiple apps need support for COM server information from PE manifest a.k.a registration/registry-free COM (Exact Audio Copy (EAC), AliWangWang ...) http://bugs.winehq.org/show_bug.cgi?id=25340
What |Old Value |New Value ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
http://bugs.winehq.org/show_bug.cgi?id=30438
Bug 30438 depends on bug 30447, which changed state.
Bug 30447 Summary: Lexware 2012 product installers show an empty dialog window on startup (urlmon.CreateURLMoniker with base context and non-well formed URI, DOS-style path) http://bugs.winehq.org/show_bug.cgi?id=30447
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
http://bugs.winehq.org/show_bug.cgi?id=30438
Frédéric Delanoy frederic.delanoy@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |frederic.delanoy@gmail.com
--- Comment #8 from Frédéric Delanoy frederic.delanoy@gmail.com --- Is this still an issue in latest wine (1.7.17 or later)?
https://bugs.winehq.org/show_bug.cgi?id=30438
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |ABANDONED
--- Comment #9 from Austin English austinenglish@gmail.com --- (In reply to Frédéric Delanoy from comment #8)
Is this still an issue in latest wine (1.7.17 or later)?
Abandoned.
https://bugs.winehq.org/show_bug.cgi?id=30438
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Austin English austinenglish@gmail.com --- Closing.