[sclug] Visual Basic 3.0 under Wine

Ed Davies sclug at edavies.nildram.co.uk
Tue Jan 9 15:54:30 UTC 2007

Anybody have any experience with Wine and 16-bit Windows

Many moons ago I wrote an accounts system for Booker Gliding
Club, mostly in VB 3.0 with a backend in MSVC 1.0.  This is,
of course, all 16-bit code which originally ran on Windows
3.1 and/or Windows for Workgroups and has been ticking over
happily ever since, later on 98 and more recently on XP.

Maintenance of this is one of the few reasons I still have
to boot into Windows which is both distasteful and a bit of
p.i.t.a as keeping source on the Windows partition doesn't
fit in with my version control and backup strategies.
Therefore, I'm looking into Wine.

The application itself runs fine under Wine with a few
caveats.  Printing doesn't work for some font related reason
yet to be sorted out and also the program starts slowly for
what I suspect are related reasons.  More relevantly, it
seems not to find the VBRUN300.DLL file and other VBXs in
C:\Windows\System - they need to be in the application
directory to make things work.

When I try to install VB 3.0 things don't go so well.  I
select to install in C:\VB (which should map to
~/.wine/drive_c/vb).  After confirming that that directory
should be created I get a dialog box:

    "Setup needs to install some files in your Windows
     directory.  This directory is in a drive other than
     the one where you want to install Visual Basic."

It says it'll tell more about this if you select the custom
installation but before you can get to that point you get
the following intensely useless message:

    "Setup could not be completed due to system errors.
     Please clear up the cause of errors and try again.
     To install VB properly, please run setup again."

My suspicion is that Wine's not telling 16-bit apps where
the Windows and/or Windows/System files are properly.

In the Winecfg program I've selected Win 3.1 as the default
system to emulate.  Running the Wine cmd.exe (command
prompt) allows the environment variables to be shown.  These,
indeed, include C:\Windows and C:\Windows\System32 in the
path but not C:\Windows.  However, I'm not convinced that's
the whole story as I suspect Wine knows that cmd.exe is a
32 app and is running it as such.

I've done a bit of web searching but most of what's there is
not particularly helpful and also rather old: from about 2001
or so before Wine changed the way it stores its configuration
(in about 2003?).

Any suggestions?


Ed Davies.

More information about the Sclug mailing list