Hitherto I have written programs on a machine with VB installed (of course!) and have transferred them to other machines with VB installed, either as VB folders or .exe executable code. In general there has never been a problem.

However recently I tried to get a .exe program to run on an XP machine and it would not - there were error messages implying that certain needed files could not be found.

Cutting a long story short, I installed VB6 on that XP machine and the .exe code then ran fine. So it seemed that although I was using the compiled .exe program version, it was nonetheless dependent on files which are specific to VB. This, it seems, somewhat defeats the object of producing a final .exe version of a program which one would hope could run on any windows machine, not just one with VB loaded.

Investigation in my particular case showed the needed files to be MSDATGRD,MSADODC,MSCOMM32 and RICHTX32. The files occur in groups of 3 or 4 with extensions .OCX, .OCA, .DEP and MSDATGRD also has a .SRG

I checked a 2000 machine and the XP machine for these files. Although the OS installations had taken all available options/add-ons neither contained those files until VB6 was installed.

The location of the files is C:\Windows\System in Win98 (note: not system32) C:\WINNT\SYSTEM32 in Win2000 and C:\WINDOWS\SYSTEM32 in XP.

I would appreciate comments about this. The objective of a VB6 program is often to produce a generally applicable .exe user code. If it has to depend on files which only load with a VB6 installation, the user code would need to be distributed along with these supporting files in some way. This problem must be well known within the VB community.

camoore

Wales, UK