I used VB6 to create an EXE file that uses MSComm1.
The program runs OK in my XP computer and also in my Win7 computer (that has VBE installed).
It would not run on my Vista laptop. I installed the VB runtime files (even though Microsoft says they are not compatible with Vista/Win7) but with no success.
However, when I installed VBE on the laptop, it now runs the EXE quite happily.
Two questions please:
Does installing VBE also install a different set of runtime files?
Is it posible to distribute my program to my friends who have Vista or Win 7, without them having to first install VBE?


You've posted this in the VB.net forum instead of the VB6 one.

Err... I'm a bit rusty with VB6 are you using the package and deployment wizard? It does look like your app needs a file that comes with VBE but what one?

What references do you have in your project and are the associated Dll's installed on your Vista box?

Thanks for the reply.
I have tried making a simple exe and also used the package wizard - neither way works.
I don't really understand the next bit of your question.
"What references do you have" - don't know what that means.
The VB runtime files were installed automatically using the exe file downloaded from Microsoft, so presuambly were installed in the correct place - of course Microsoft did point out that they don't work with Vista.
I have now also posted this query in the VB6 forum.
Thanks again

Sorry I was not clear.

Your project will reference certain dll files which it will look for in order to run. They should be found under references under the project menu? Anyway if you deploy to a host that does not have the required versions of these files you will be unable to run the project. e.g. keeping it simple, if include a reference to Word 2000 in your project and Word 2000 is not installed on the machine your project wont work. A required dll is probably missing or of a different version in Vista when you install the VBE on the machine the correct (or missing dll) is installed which makes me think it is one of the VB6 run time files, anyway the VB6 forum guys should be able to helpas I said it's been a while since I did the old school VB.

Yes, I see what you mean.
I certainly looks like VBE installs different runtime time files from VB6.
I am a little surprised as I thought that this would be a common problem.
You shouldn't have to install the entire application just to get the correct runtime files.
But I see no other way.
Thanks again

It could well be a single dll file that once you find it you can include it in the deployment package.

One of the reasons for the .net framework was to move all this on to the OS so you would just call standard objects in your code e.g. system.data and the OS would supply whatever version it had.

But the same still applies if you put a specific reference to a com object into your code, you have to include the dll when you deploy or hope it is already there.