Some time ago, I posted some questions/statemets to -users and -devel about getting Platypus (the ISP billing software) running under wine. I received zero responses, but did a fair bit of hacking on my own. Due to the number of requests for information I've gotten about this, I've decided to post my work publicly. This will hopefully be maintained in online archives, so future people wanting to get Plat working under Wine will at least have a starting point. As of right now, I *still* do not have it working. I can install it, but that's all. I am using Platypus 2.9. I know it's old, but it's the client we've got. The underlying system is FreeBSD-5.1R, with wine-2003.06.18 installed from ports. But this also holds true for the past couple releases of wine, dating back to the middle of 2002, I believe. I've spoken to a couple of people with 3.0, who have had the same problems I have. I think the only thing you'll find is the required DLLs will change from version to version. First off, the install: % wine c:/runtime.exe Give it your SQL server address, the database information, and go. you'll probably crash at some point in the installation, that doesn't seem to matter. I don't think I ever got past either the 'You need to update MDAC/Jet' section, or the 'Updating System Configuration' section. Just let it go for a while, then kill the wine process. Note, you'll need to manually kill wineserver et al once you <CTRL>+C the actual install. Next off, you need to configure your ODBC stuff. This involves stealing the required DLLs from a Windows machine (using the same DLLs from the OS you're emulating is a best bet). To save you some time, here's a list of native DLLs that I needed to grab -- YMMV: vfp6r vfp6renu mfc42 mfc42loc cr2c71en odbc32 odbc odbcint odbccp32 sqlunirl nddeapi sqlsrv32 Then comes the difficult part: hacking your registry to include all the necessary ODBC entries so you can connect. There's no easy way to do this -- just go to a Windows machine that has plat installed and working, open up regedit/regedt32, and search for the DSN that it's using. You'll need to copy *everything* over, properly, or it just won't work. (Side note, I also believe that I did a google search for wine+odbc, and used some of the results I got from it. YMMV.) And this is where I die. I know start plat with: % /usr/local/bin/wine --dll vfp6r,vfp6renu,mfc42,mfc42loc,cr2c71en,odbc32,odbc,odbcint,odbccp32,sqlunirl,nddeapi,sqlsrv32=n --dll shell32=b,n c:/Program\ Files/Platypus/plat.EXE I can choose my Data Source (PLATYPUS2, in my case), but as soon as I do, I get the following error: File: ..\src\procaddr.c, line: 424 GetCurrentHwProfileW entrypoint could not be found in ADVAPI32.DLL OK'ing this error brings up a couple more, and Plat quits. I have gone through and added a pointer to GetCurrentHwProfileW (copied it from GetCurrentHwProfileA), ran it again, and got more entrypoint not found errors. I kept on adding stubs until I got some fatal errors that I couldn't track down (I've forgotten where and what at this point), and I stopped working on it. It's not easy getting Plat up and running to the point that it is, and I can't imagine that it'd be any easier to actually get it working. If anyone needs help working on this, I'm willing to help. If needed, I can try posting my registry file to aid people. And if anyone wants to work with me (*ahem* wine developers *ahem*) to get this working, I will dedicate any time and resources I've got to getting this going. I'm not a great C programmer, but I can provide a good testbed. - Damian