Summary: Windows Vista includes some settings that may help older programs designed for older versions of Windows to run with compatible settings.
We use Visual BASIC for DOS, ver 1.0, to compile BASIC programs on Win 98SE and Win XP computers. The compiler doesn't work in Vista. Is there some way in which we can get the compiler to work under Vista? If the programs are compiled in XP, the programs run on Vista.
•
Boy, now there's a blast from the past. It's quite possible that you might actually be using software that I had a hand in creating, many years ago.
I can't guarantee that this will work for any specific program (like VB-DOS), but Vista does include some compatibility tricks that may be able to help.
•
Using Windows Explorer, locate the executable you're attempting to
run. Typically, that'll be somewhere in "c:\program
files\product\whatever.exe", but since we're talking legacy programs
here that might not be the case. I don't recall where VB-DOS installed
itself for example. 
Right click on the executable, and click on Properties. Now click on the Compatibility tab:

For many programs you can select Compatibility Mode and choose a prior version of Windows that this program requires for compatibility.
Partly obscured by the example above are these settings as well:

Some older programs are sensitive to these particular characteristics, and Windows Vista allows you to specify that this particular executable should be run with the modifications listed.
There is one potential issue that's easy to overlook, and tools like VB-DOS remind me of it:
There may be more than one executable involved.
For example, if I recall correctly, when you compile a program in VB, it actually runs the compiler separately, and the compiler is a separate executable.
So if the compiler has problems running in Vista, then you'll need to repeat this process for that executable as well. Depending on what program you're running, there may be additional executables as well that could need to be configured like this.
Occasionally, I've also seen the options in the Compatibility tab be grayed out. You probably need to be running as administrator to begin with, but even so I've seen it grayed out at times still. My assumption is simply that this option is not available for all programs.
In a case like that, depending on the urgency of your need, another approach might be to actually run Windows XP (or even an older version) in a Virtual Machine within Vista. Then you're not just being compatible with the older version of Windows, you're actually running it. Products like VMWare, Parallels, or Microsoft's own Virtual PC can be used to create and run virtual machines.
Related:
What's a 16bit MS DOS Subsystem? There are a couple things to check when a 16 bit MS DOS Subsystem error pops up on your machine.
What's the difference between COMMAND.COM and CMD.EXE? COMMAND.COM and CMD.EXE are versions of the command interpreter for MS-DOS and Windows. They're both available, but you only really need one.
When I use Start-Run and type in a command, why does a window just flash and disappear? Start-Run, or the Run item on Windows Start menu is a way to run any program on your machine. Some will work as expected, but Start-Run of others just produces a quick flash. We'll look at why, and what to do instead.
Article C3522 - October 5, 2008
visual basic 5 programs will not run on vista
Posted by: Mike at January 19, 2009 12:23 AMI tried all of these to run dbase 5 in vista and it is still a small window with print in a color I can barely read
Posted by: Allen P at February 26, 2009 8:02 AMYou could try DOSBox, which has primarly been developed for games - and therefore gets heavily tested every day. Configuring a simulated DOS environment requires a complicated-looking text file - but there are plenty of form-driven front-end programs for that; I use DBGL, which is a Java app, and can create a short cut for each DOSBox app. One of the nice things about DOSBox is that you can control screen resolution and size, and there can make text and other screen features appear at reasonable size.
Posted by: Philcha at February 27, 2009 2:25 PMHave two VB 6.0 programs that share code through forms and modules, but each also has a few specific code. One runs well in Vista the other would not even start. When double click on it, Vista goes to sleep and after a while, nothing happens and you're back to the Explorer. Comparing the vb 6.0 project files and all other settings, they are identical (except for the few forms/modules.) Anyone seen this behavior? Any idea? BTW, both programs run well in XP.
Posted by: Dione at April 17, 2009 8:46 PMi want to use 4pos point of sale program but it can't start
Posted by: Mngadi Mlamuli Godfrey at January 14, 2010 12:49 AM