I got pretty close to getting the Quickbooks database server to work with Crossover.
Here are my notes.
Windows XP bottle, as I couldn't get .Net 3.5.1 installed on Win 7. I think there were a couple other things with Win 7 that didn't work.
The Quickbooks support pages were very good at outlining the necessary libraries.
Note, however, that the Install repair and Component repair tools were useless.
Their support pages differ slightly than the libraries provided on the DVD (namely mentioning XML 4 instead of 6).
Installed:
.Net 3.5.1
.Net 4.5
XML 4.1
XML 6.2
mono
VC++ 2005
VC++ 2008
Wine Config
Libraries, msvcm90 -- change to just Native (I have no idea why, but it worked)
Now the fun part. In the Quickbooks DVD, the setup.exe won't go past the license agreement.
So in the QBooks sub-folder is the QuickBooks.msi -- I was able to get this to install (!!!) by hacking the msi. You could use Orca for this, but I opted for Installshield 2013.
General Information, Install Conditions, the first condition prevents running the MSI directly. Delete that condition.
Properties, QbKeyCodeValid -- set to "Valid". We're going to have to break the key code validation in the installer
Custom Actions and Sequences, Sequences, Installation, User Interface -- scroll down to the Welcome dialog, then work your way back -- remove all custom actions (other than ExtractQBBinaryFiles). OnBegin definitely needs to go, but it seemed to break the key code validation.
Dialogs, LicenseAgreement, Behavior, Next -- delete all other than NewDialog EnterKeyCode, and make the Condition just 1.
Dialogs, EnterKeyCode, Behavior, Next -- delete all other than NewDialog DestinationFolder, and make the Condition just 1.
At that point, the MSI will complete successfully!
The Programs menu will include the shortcut for the Quickbooks Database Server, and it will even start to run! We are close!
Note in the Task Manager, the database service is running!
In comparing to a Windows Server-only installation, note that QBW32.exe is spawned by the service.
So let's fire up QBW32.exe from the Program Files/Intuit/Quickbooks 2013 folder -- and bam! There's our error:
Error 3371, Status Code -1, Could not initialize license properties.
Note that the EntitlementDataStore.ecml was not created during install. I copied over a valid one, same error. (But the file is not able to copied across installs anyway, I just wanted to see if I could get a different Status Code)
So it could be that our ripping out of the Key Code Validation custom actions caused something to break in there (understandable, sure, but we own several licenses, just want it running on Crossover!).
I tried running Procmon to compare this startup to a PC, but I couldn't get it to run.
So my only smoking gun at this point is the licensing system, and here understandably the Quickbooks support is not detailed enough.
I think my next task is to look through the MSI for the Entitlement related components, to see if there's a way to get them to install correctly.
Hopefully I, or someone else, will have good news soon!
--J