Home > Visual Basic 6, VmWare > Vb6 software on 64 bit adventures

Vb6 software on 64 bit adventures


Many years ago i wrote an Visual Basic 6 program for truck transports management , named WinTruck (poor fantasy…)

This is using an Microsoft Access MDB file because at the time the SQL Server 97 MSDE was reserved, if i remember well, to MSDN subscribers (and i wasn’t at this time an MSDN subscriber) and anyway i was reading , at the time, of some problems (i don’t remember.. it was the year 1999…).

So the decision of to use Access, decision unlucky: there are still some customers that use this program ! why unlucky?

Until the customers was using this program in a simple network of 32 bit computers with Windows 2000-XP no problem: 10 years with some minor fix.

Now these customers has renewed the networks , and begins to buy 64 bit machines: a nightmare.

The first attempt was to directly install on the 64 bit pc the software client: every sort of strange errors , and at the time of first install i have copied the database on an my virtual XP 32 bit Vm , deleted older entries from an Access 2000 and compacted the file : after some time in production the deleted records … newly visible !

Then i have tried to use an microsoft virtual pc instance, no more “ghost” records, but every week the database was corrupted, fortunately copying this db on my pc , open the db with Access 2000 and then compacted resolves the issue.

Another attempt was to use vmware player : still corruptions, even worst because the mdb was so badly trashed that only Access 2010 was able to recover the mdb, with some loss of data and some primary key on tables lost : it was needed to open the mdb in Access 2000 (by precaution) and modify the table structure in order to redefine the primary key .

I think the problem was that the user goes away and when the computer goes in standby this causes damages, but the users (two) was absolutely sure that they exit from the program when they got away from the pc. so ?

The drastic solution : an old server , absolutely 32 bit only, with windows 2003.

In Windows 2003 i have installed my vb6 program , and the two customers uses the program via remote desktop.

I have defined two user; logging into windows with the customer profile i have defined the private work folder in the registry (my software for every user has a private folder for local files) , and all works now without issues, with more speed than before.

The only problem is that my program requires an administrator user otherwise there are errors about perms, and the program executable is added on the Data Execution Prevention (DEP) exclusion list (control panel->advanced->Performance Settings->DEP tab) : i think because some avi animations (used in the program) are in the resource file and copied into user private windows folder when needed, but anyway sometime this temporary file is generated on c:\

I should investigate because this happens : if i could define every user as non admin i can have more than 2 users (the windows 2003 limit for administrative users) but in this case there are just 2 users and i don’t worry about , for the moment.

Categories: Visual Basic 6, VmWare
%d bloggers like this: