https://bugs.winehq.org/show_bug.cgi?id=47669
Bug ID: 47669 Summary: QuickBooks Pro 2019 installer fails differently after 4.12 fix Product: Wine Version: 4.14 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: msi Assignee: wine-bugs@winehq.org Reporter: ryan@rnrcarpet.com Distribution: ---
Created attachment 65112 --> https://bugs.winehq.org/attachment.cgi?id=65112 Wine debug log
Last log line when error dialog first appears
wine: Unhandled privileged instruction at address 0x35f69d9 (thread 0101)
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #1 from ryan@rnrcarpet.com --- Created attachment 65113 --> https://bugs.winehq.org/attachment.cgi?id=65113 Dialog error text
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #2 from ryan@rnrcarpet.com --- Install Wine Run winecfg Start QuickBooks Pro Wine installation Enter in details until getting to file installation Pops up dialog box error during install Close error dialog Installation continues Installation stalls Force quit
https://bugs.winehq.org/show_bug.cgi?id=47669
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #3 from Zebediah Figura z.figura12@gmail.com --- Does installing native mfc42 (e.g. `winetricks -q mfc42`) fix the problem?
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #4 from ryan@rnrcarpet.com --- Created attachment 65114 --> https://bugs.winehq.org/attachment.cgi?id=65114 Wine debug log after using winetricks -q mfc42
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #5 from ryan@rnrcarpet.com --- Sadly, same everything (without looking at log) the entire process in the installer happened the exact same.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #6 from ryan@rnrcarpet.com --- Yeah, I see dblib17.dll, VCRUNTIME140D.dll, ucrtbased.dll, ucrtbase.dll are also not found.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #7 from ryan@rnrcarpet.com --- These debug files don't appear to be provided by vc++ redist. My copy of Windows it does seem to contain these files (though I do have Visual Studio installed there though I suppose they are normally found on Windows) so will try to test them here.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #8 from ryan@rnrcarpet.com --- Created attachment 65115 --> https://bugs.winehq.org/attachment.cgi?id=65115 Wine debug log after adding in VCRUNTIME140D.dll, ucrtbased.dll, ucrtbase.dll
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #9 from ryan@rnrcarpet.com --- It seems dblib17.dll may be something else as Linux cannot find this on the Windows partition. I will reboot into Windows and try searching for it again but doubt that will be any different.
Installer still does same exact thing. Same error.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #10 from ryan@rnrcarpet.com --- Created attachment 65116 --> https://bugs.winehq.org/attachment.cgi?id=65116 Wine debug log after adding dblib17.dll
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #11 from ryan@rnrcarpet.com --- dblib17.dll is found on computer ONLY after QuickBooks is installed so QB adds this file during install or after. No idea why its a not found problem during install here with Wine. Maybe that's a totally different problem in-of-itself.
Still no difference. Installation acts the exact same.
Zero "not found" references now.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #12 from ryan@rnrcarpet.com --- Now that I look at this final log, I see its nearly all fixme's and err's.
QuickBooks continues to be a broken mess :-D
https://bugs.winehq.org/show_bug.cgi?id=47669
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Installer Component|msi |-unknown
--- Comment #13 from Zebediah Figura z.figura12@gmail.com --- This is probably the most disturbing line:
00ce:err:msi:__wine_msi_call_dll_function Custom action (L"C:\users\linux64\Temp\msi8c93.tmp":"PreProcessFirewallConfig") caused a page fault: c0000005
But it's not clear what's causing it. Could you try attaching a log with WINEDEBUG=+msi,+msidb,+seh,+pid,+debugstr,+netcfgx,+hnetcfg?
Alternatively, is it possible to reproduce this bug with a free download?
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #14 from ryan@rnrcarpet.com --- Created attachment 65123 --> https://bugs.winehq.org/attachment.cgi?id=65123 Wine debug file using +msi,+msidb,+seh,+pid,+debugstr,+netcfgx,+hnetcfg
639.2MB uncompressed
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #15 from ryan@rnrcarpet.com --- I will happily keep testing =)
"Alternatively, is it possible to reproduce this bug with a free download?"
Yes, that's what I'm using. Its actually the full QuickBooks Pro 2019 download but just using a trial license instead of a paid one that is entered during install wizard pre-file copy (no account or anything is needed to dl or use it besides the trial codes found in the following official link).
https://quickbooks.intuit.com/learn-support/en-us/new-subscriptions/download...
"WINEDEBUG=+msi,+msidb,+seh,+pid,+debugstr,+netcfgx,+hnetcfg?"
Done and done.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #16 from ryan@rnrcarpet.com --- If I'm understanding it right, that PreProcessFirewallConfig(unsigned long) is a function of msi?
It looks like its working or something but I can't tell what's supposed to be normal or not.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #17 from Zebediah Figura z.figura12@gmail.com --- (In reply to ryan from comment #16)
If I'm understanding it right, that PreProcessFirewallConfig(unsigned long) is a function of msi?
It's a custom action, which the program itself provides, and which MSI calls back into. Custom actions contain completely arbitrary code, so a failure in a custom action more often than not doesn't imply a problem with MSI.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #18 from Zebediah Figura z.figura12@gmail.com --- I think there's Mono problems here, but I'm not sure and I can't get the wine-mono debugging channels to work correctly for some reason.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #19 from ryan@rnrcarpet.com --- (In reply to Zebediah Figura from comment #17)
(In reply to ryan from comment #16)
If I'm understanding it right, that PreProcessFirewallConfig(unsigned long) is a function of msi?
It's a custom action, which the program itself provides, and which MSI calls back into. Custom actions contain completely arbitrary code, so a failure in a custom action more often than not doesn't imply a problem with MSI.
I find that very fascinating actually. I'm happy for the explanation. Thank you. My first real bug report with Wine is quite a good learning tool with debugging applications through Wine as I know you know what you're doing =)
(In reply to Zebediah Figura from comment #18)
I think there's Mono problems here, but I'm not sure and I can't get the wine-mono debugging channels to work correctly for some reason.
Maybe a different approach is possible. I take it that this is the mono that's taking over for .net... maybe it can be disabled and .net used instead?
I made a 32bit prefix and the installer failed same but differently popped up a second window during install not seen with 64bit prefix.
Still need to fix missing dll's but found that interesting. Also of note maybe that .net 4.7 exe is included and looks like should be installed pre-file copy during installation process.
Also found an installation log in the installation temp dir and attaching that as it might prove useful.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #20 from ryan@rnrcarpet.com --- Created attachment 65126 --> https://bugs.winehq.org/attachment.cgi?id=65126 Installation log in installation temp dir from QuickBooks installer itself
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #21 from ryan@rnrcarpet.com --- Eh, looks like not. The log is too vague. Maybe just "Last System Error: File already exists." but doesn't really do anything. I was hoping.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #22 from ryan@rnrcarpet.com --- Still nothing after fixing missing dll's with 32bit prefix.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #23 from ryan@rnrcarpet.com --- Never mind, created a new 64-bit prefix and the 2nd window did show up. Obviously, I didn't see it previously or forgot.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #24 from Zebediah Figura z.figura12@gmail.com --- (In reply to ryan from comment #19)
(In reply to Zebediah Figura from comment #18)
I think there's Mono problems here, but I'm not sure and I can't get the wine-mono debugging channels to work correctly for some reason.
Maybe a different approach is possible. I take it that this is the mono that's taking over for .net... maybe it can be disabled and .net used instead?
Trying native .NET would probably be worthwhile, yeah. Not sure which version though.
I suspect it's a mono problem partly because there are definitely CIL binaries involved, and partly because half the time I get STATUS_ILLEGAL_INSTRUCTION which can maybe suggest a wrongly marshalled vtbl (though that is an awfully specific guess).
I'm bothered by the fact that using WINE_MONO_TRACE doesn't seem to work properly. I can get exception messages that don't show up otherwise, but I don't get any relay messages for some reason. That makes debugging significantly harder...
https://bugs.winehq.org/show_bug.cgi?id=47669
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |imwellcushtymelike@gmail.co | |m
--- Comment #25 from Ken Sharp imwellcushtymelike@gmail.com --- Does native dotnet help?
wine: Unhandled privileged instruction at address 0x3657eb9 (thread 00f6), starting debugger...
QB 2008 is now seeing this. If this is the same bug then it is new (i.e. a regression).
In this case with dotnet45, QB 2008 seems to fail in the same way but reports unimplemented function mscorwks.dll.DllGetClassObjectInternal, which I would expect to be part of the native dotnet. dotnet20 is recommended on the AppDB but it fails to install with winetricks, along with dotnet20sp2, dotnet452* and dotnet462. *dotnet452 does appear to be installed, despite winetricks claim that it is not.
I could not get past this point, but for fun and excitement I tried: vcrun2005 mfc42 secur32 wininet winhttp all WITHOUT native dotnet, as that clearly has its own problems. The only difference they made was to make the logs a bit quieter. The part that I'd like to deal with is
0031:fixme:wintrust:SOFTPUB_VerifyImageHash Cannot verify hash for pszObjId="1.3.6.1.4.1.311.2.1.25"
but I don't know how to at the moment.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #26 from ryan@rnrcarpet.com --- Update for 2020
QuickBooks Pro 2020 fully installs though it has a problem on application start. That is possibly the closest it has been for too many years :-D
Steps for successful install:
1. Download https://quickbooks.intuit.com/learn-support/en-us/new-subscriptions/download...
2. Get Wine $ sudo dnf install wine
3. Run QB 2020 installer.
4. Choose express.
5. During installation the window will disappear and may be asked to force close but just let it keep running. Eventually (maybe 5-10 minutes) the finished installation dialog will appear.
I have yet to check it out any further. Will update if I can find something to fix or a workaround.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #27 from Ken Sharp imwellcushtymelike@gmail.com --- (In reply to ryan from comment #26)
QuickBooks Pro 2020
Does this have EXACTLY the same bug as QB 2008? If not then this information is not relevant for this bug report.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #28 from Ken Sharp imwellcushtymelike@gmail.com --- ...and QB 2019, apparently.
https://bugs.winehq.org/show_bug.cgi?id=47669
ryan@rnrcarpet.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|QuickBooks Pro 2019 |QuickBooks Pro fails |installer fails differently |differently after 4.12 fix |after 4.12 fix |
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #29 from ryan@rnrcarpet.com --- There, I changed it to make it relevant according to the reason why I started this issue. Relax.
https://bugs.winehq.org/show_bug.cgi?id=47669
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEEDINFO Ever confirmed|0 |1 Summary|QuickBooks Pro fails |QuickBooks Pro 2019 fails |differently after 4.12 fix |differently after 4.12 fix
--- Comment #30 from Ken Sharp imwellcushtymelike@gmail.com --- Changing the title does not change the bug report! Either the same bug is reproducible in Wine, or it isn't. If you have a new bug then file a new bug report.
https://bugs.winehq.org/show_bug.cgi?id=47669
ryan@rnrcarpet.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|QuickBooks Pro 2019 fails |QuickBooks Pro fails |differently after 4.12 fix |differently after 4.12 fix
https://bugs.winehq.org/show_bug.cgi?id=47669
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download CC| |xerox.xerox2000x@gmail.com URL| |https://quickbooks.intuit.c | |om/learn-support/en-us/new- | |subscriptions/download-a-tr | |ial-of-quickbooks-desktop/0 | |0/185974 Status|NEEDINFO |NEW
--- Comment #31 from Louis Lenders xerox.xerox2000x@gmail.com --- Hi, i gave this a try too, and I`ll share my findings here:
The version I tried (sha1sum Setup_QuickBooksEnterprise20Trial.exe 2154165d72faa69dd174d54643b051488ae54db5/Setup_QuickBooksEnterprise20Trial.exe) so that`s the 2020-trial starts for me after doing:
- "winetricks -q dotnet40 dotnet48", then install. - Subsequently I needed native msxml6 becuase I got an error about invalid license and the splash screen kept hanging.
After 'winetricks -q msxml6' the app (QBW32.exe) started successfully for me and i can open and click things, no idea how this app works further.
@OP: Maybe you could try the above recipe and see if works for you too.
Note: You probably have to use Staging (as I did) because of bug https://bugs.winehq.org/show_bug.cgi?id=46568; I guess in vanilla wine it will fail.
If the above recipe works for 2019-trial as well then I guess this should be marked as mono-bug (for the installer); for now I confirm there`s at least errors and thinks to fix...
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #32 from Louis Lenders xerox.xerox2000x@gmail.com --- And forgot to add:
I saw the missing VCRUNTIME140D.dll (and mfc42) flashing by too in the console (though it doesn`t seem to be fatal), so maybe wine should provide that debug dll as well????
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #33 from ryan@rnrcarpet.com --- (In reply to Louis Lenders from comment #31)
Hi, i gave this a try too, and I`ll share my findings here:
The version I tried (sha1sum Setup_QuickBooksEnterprise20Trial.exe 2154165d72faa69dd174d54643b051488ae54db5/Setup_QuickBooksEnterprise20Trial. exe) so that`s the 2020-trial starts for me after doing:
- "winetricks -q dotnet40 dotnet48", then install.
- Subsequently I needed native msxml6 becuase I got an error about invalid
license and the splash screen kept hanging.
After 'winetricks -q msxml6' the app (QBW32.exe) started successfully for me and i can open and click things, no idea how this app works further.
@OP: Maybe you could try the above recipe and see if works for you too.
Note: You probably have to use Staging (as I did) because of bug https://bugs.winehq.org/show_bug.cgi?id=46568; I guess in vanilla wine it will fail.
If the above recipe works for 2019-trial as well then I guess this should be marked as mono-bug (for the installer); for now I confirm there`s at least errors and thinks to fix...
Yes, dotnet is required if the latest mono still has a problem. Mono has a failure at a piece of code that I found previously. Have not filed a bug report with mono about that.
Thanks for noticing msxml6 is required. After installing msxml6, Quickbooks Pro 2020 does actually start. It was that easy. So can confirm it works.
To consider this a complete success, activation must work, a previous Quickbooks business must be able to import, and Quickbooks must work fine.
Will try to test as much as possible and see how it goes.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #34 from ryan@rnrcarpet.com --- So for reference I'm getting it to work by doing: create prefix (eg WINEPREFIX=~/.wine winecfg) change prefix to windows 10 run qb setup and install install .net 4.6 (QB 2020 requires 4.6; 2021 might require 4.7) and msxml6 from winetricks run qb
NEW PROBLEM:
Has a problem on creation of new company and on opening of existing company. I'm thinking this is a .net problem with wine but there's a few ways to go including fixing the mono issue and trying that way.
NOTES:
Installing > .net 4.6 doesn't seem to do anything for QB 2020.
msxml6 must be installed (QB setup installer does install it but its broken in some way from an unknown issue with wine) so need it from winetricks then repair the installation and that works.
vc++ is installed from the QB setup as well and maybe its working fine.
Both wine 5.0 and wine 5.18 appear to work the same here.
This seems to be the common problem where its crashing on new and open company usage:
0058:err:eventlog:ReportEventW L"Application: QBW32.EXE\nFramework Version: v4.0.30319\nDescription: The application requested process termination through System.Environment.FailFast(string message).\nMessage: Unrecoverable system error.\nStack:\n at System.Environment.FailFast(System.String)\n at MS.Internal.Invaria"...
Sadly, that is not entirely shown there.
0024:fixme:path:parse_url failed to parse L"PresentationFramework.Aero" 0024:fixme:path:parse_url failed to parse L"IPPLogin.resources" 0024:fixme:path:parse_url failed to parse L"IPPLogin.resources" 0024:fixme:path:parse_url failed to parse L"ROAHelper" 0024:fixme:path:parse_url failed to parse L"ManagedCommon.resources" 0024:fixme:path:parse_url failed to parse L"ManagedCommon.resources" 0024:fixme:path:parse_url failed to parse L"WPFToolkit" 0024:fixme:path:parse_url failed to parse L"WindowsBase" 0024:fixme:path:parse_url failed to parse L"PresentationFramework" 0024:fixme:path:parse_url failed to parse L"ROAHelper.resources" 0024:fixme:path:parse_url failed to parse L"ROAHelper.resources" 0024:fixme:path:parse_url failed to parse L"PresentationFramework-SystemCore" 0024:fixme:path:parse_url failed to parse L"PresentationFramework-SystemData" 0024:fixme:path:parse_url failed to parse L"PresentationFramework-SystemXmlLinq" 0024:fixme:crypt:SystemFunction041 (23945C84, 10, 0): stub [RtlDecryptMemory] 0024:fixme:win:RegisterPowerSettingNotification (00010280,{02731015-4510-4526-99e6-e5a17ebd1aea},0): stub 0024:fixme:wtsapi:WTSRegisterSessionNotification Stub 0001027A 0x00000000 0024:fixme:msg:ChangeWindowMessageFilterEx 0001027A c0f2 1 0031E8C8 0024:fixme:msg:ChangeWindowMessageFilterEx 0001027A 111 1 0031E8C8 0024:fixme:dwrite:dwritetextanalyzer_AnalyzeNumberSubstitution (0x23ce5178 0 17 0x23ce51a0): stub 0024:fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime"): stub 0024:fixme:advapi:ReportEventW (CAFE4242,0x0001,0x0000,0x00000401,00000000,0x0001,0x00000000,00318904,00000000): stub 0024:err:eventlog:ReportEventW L"Application: QBW32.EXE\nFramework Version: v4.0.30319\nDescription: The application requested process termination through System.Environment.FailFast(string message).\nMessage: Unrecoverable system error.\nStack:\n at System.Environment.FailFast(System.String)\n at MS.Internal.Invaria"... 0024:fixme:advapi:DeregisterEventSource (CAFE4242) stub 0024:fixme:ntdll:EtwEventUnregister (deadbeef) stub. 0024:fixme:htmlhelp:HtmlHelpW HH case HH_UNINITIALIZE not handled. 0024:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
A bunch of stuff that comes before it is .net related so this is why I'm thinking its an issue there. Also that opening and creating a company file requires UI elements that don't appear otherwise. It could be that something is missing still or broken on install but I haven't found what that is as of yet.
There's still some things I need to check. There's a dump file I need to look at as well and maybe that will shed more light on it.
One thing that does work is it successfully updates a company from an older version. Besides that its currently unusable.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #35 from Louis Lenders xerox.xerox2000x@gmail.com --- (In reply to ryan from comment #34)
0058:err:eventlog:ReportEventW L"Application: QBW32.EXE\nFramework Version: v4.0.30319\nDescription: The application requested process termination through System.Environment.FailFast(string message).\nMessage: Unrecoverable system error.\nStack:\n at System.Environment.FailFast(System.String)\n
Maybe "winetricks arial" might change anything ? (just a shot in the dark)
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #36 from ryan@rnrcarpet.com --- Yes possibly the last piece to the puzzle:
winetricks corefonts
When I did it yesterday it failed to install so that prefix must have been broken from a lot of testing. Getting corefonts on there gets what might be the last UI elements working.
Pre-existing company file now opens and QB shows the full company UI correctly with no crash.
The only thing left now is to test QB itself with a company open.
Thanks Louis. That msxml6 tip was exactly what was needed.
https://bugs.winehq.org/show_bug.cgi?id=47669
--- Comment #37 from ryan@rnrcarpet.com --- So there are still a few issues. Some crashes, possible inability to complete update, etc. Imports and opens pre-existing company files just fine. Runs and can be used to some extent.
Heavily hardware performance dependant. More recent hardware is really needed here. The speed of running this with lower grade hardware will be no go for most people here. Tested a lot of variations of running it on a lower end system and the only difference found was simply using better hardware.
Didn't test actual license since I don't own a copy of recent versions.
Just adding this so aware there's still problems. Haven't captured any logs for these issues. Plan to get back to it but have other more immediate things to do. Didn't want to leave it at people wondering.