Hi all,

I tried Visual Basic 6.0 recently and I used it to generate a programme for simple experimental data analysis. The programme runs fine on most machines EXCEPT those in my laboratory. But it must run in lab or otherwise the programme I write is rubbish.

What so strange is that, it runs fine on my PC (w/z Windows2000), my girlfriends' PC and those in school's computer barn (w/z Windows XP) but it can't EVEN start on those in the lab (w/z Windows XP). Error message pops up when I click the .exe icon.

At first I thought it was wrong with the comdlg32.ocx. Then I write the programme again so that it uses driveList, dirList and fileList instead of dialogue boxes. That fails also.

:sad: Could anybody give me some hints on this problem? I really have no idea about what's going on...............


Jim

A few thoughts:

- Is there a helper file which exists on the machines which work with your program, but not on the lab machines?

- Do the lab machines have a different version of the helper file? Microsoft is notorious for changing it and making the different versions incompatible.

- Are helper files you need in a folder your program can't find? (set this in your dll file, or in the shortcut you make)

- Maybe some security software is preventing the execution of .exe files it doesn't know. I have one computer I have to tell to trust any new .exe file before it will run it.

- Is your program expecting to use a piece of hardware which exists on the machines it works with, but not on the lab machines (such as a local printer)?

Real-tiner,

Thank you so much for your information.

First, I did not create a helper file for the programme. So it should not be problem of helper files. But I would be careful on this matter in the future.

Second, the programme does not require any external hardware either. What it does is retrieve information from an Excel file (*.xls) and generate another .xls file as output.

Third, I did not check whether there is security software on those machines or not. This definitely needs a bit investigation.

Here are more result of experiment on some other machines:
1)Run on 2 other PC of my friends with Windows XP, no problem.
2)Run on a laptop wiht Windows XP, error occurs. It reports that the comdlg32.ocx cannot be find.
3)The PCs have run Windows Update previously while the laptop has not.

Since comdlg32.ocx is ActiveX stuff, is it possible that something come with Windows Update can cure?

I find that I can install ActiveX stuff from the VB 6.0 CD-Rom. Could this help if I do it on those problematic machines?

Hope all of you see my effort placed in solving the problem. Yet more help is needed.........................


Jim ;)

I did not mean a helper file you created.

Depending on which version of VB or QB you have, and on how you compiled the program, a helper file may be required in the form of a runtime package provided by Microsoft. If the file is not installed on the computer, if your software can't find the file, or if a file from a different version of QB or VB is there instead, your program will not run.

One hidden cause of this is that some other program installed on the suspect computer has within its files a different version of the helper file. The operating system is then trying to use that version (because it knows where it is), instead of the one you need. Getting around this can often require editing your .dll file or the registry.

What is the error number and message. Without supplying us this information you may as well ask us what color pants you're wearing today.

Thank you for your caring mnemtsas. I wear a blue one today :mrgreen:

Just kidding ~

I know it ease everybody if I post the error number and message in here but firstly, it gives no error number to me and secondly, I use Chinese Windows and the error message is non-sense to me.

By the way I have solved the problem with intensive googling and searching in microsoft.com after finding one GREAT thing: vb60run.exe from microsoft.com. I got it installed and the programme could run smoothly now.

That's the helper file.

Hi,

The name of that file should be vbrun60.exe instead of vb60run.exe. I've made a mistake in the previous post.

So Real-tiner, I've extracted the vbrun60 and discover that it contains several files listed below:

ADVPACK.DLL
ASYCFILT.DLL
COMCAT.DLL
msvbvm60.dll
OLEAUT32.DLL
OLEPRO32.DLL
STDOLE2.TLB
vbrun60.inf
W95INF16.DLL
W95INF32.DLL

Do you think these are the 'helper file' that you' ve mentioned?


Jim

Yes. That is the runtime package, which connects your program to the operating system and the hardware. It must be included with every copy of your program.

Microsoft did it this way, so that it can get a royalty payment on every copy of every program you sell.

Yes. That is the runtime package, which connects your program to the operating system and the hardware. It must be included with every copy of your program.

Microsoft did it this way, so that it can get a royalty payment on every copy of every program you sell.

?????? WHAT????????? Are you for real? I'm selling VB programs and (checks wallet) Microsoft doesn't get anything from me. Please dont spread such ridiculous stuff on what is a great forum.

Microsoft did it that way because VB is such a high level language. VB Run provides a wrapper to make the various versions of VB work with Windows.

You should actually read your user agreement with Microsoft.

????? You are severely misinformed if you think MS has 'we will collect a royalty from anything you program with this software' into their license agreement. There are thousands of software authors selling software developed with Visual Basic. Not one of them pays a royalty to Microsoft.

Perhaps you are a typical MS hater. If that's the case I won't bother discussing this with you any further.

Please anyone else reading this thread please disregard this statement by realtiner, it is COMPLETELY WRONG to the point of being slanderous rubbish.

It's not so much collecting a royalty as it is a requirement that you BUY another copy of the runtime package from Microsoft to include with each product sold. This is in the software agreement that came with my QuickBasic 4.5.

Maybe this is not true for newer versions. I don't have them, so I can't comment on them. All I know is the agreement form I have.

Please check your agreement before listening to the above poster.

If I hate anything, I hate the copyright law that lets companies get away with such requirements.

It's not so much collecting a royalty as it is a requirement that you BUY another copy of the runtime package from Microsoft to include with each product sold. This is in the software agreement that came with my QuickBasic 4.5.

Reality check. We are talking about Visual Basic. The Visual Basic runtime package is FREELY available for download.

Maybe this is not true for newer versions. I don't have them, so I can't comment on them. All I know is the agreement form I have.

Too late. You did comment on them. And you were wrong.

Please check your agreement before listening to the above poster.

And please do not listen to this poster. He clearly is un informed and biased against MS.

If I hate anything, I hate the copyright law that lets companies get away with such requirements.

Why? Its their software. Do you mind if I come around to your house and take your DVD player, or your POS PC, or your plates and dishes? If you do then you are a hypocrite of the highest order.

It's not so much collecting a royalty as it is a requirement that you BUY another copy of the runtime package from Microsoft to include with each product sold. This is in the software agreement that came with my QuickBasic 4.5.

Reality check. We are talking about Visual Basic. The Visual Basic runtime package is FREELY available for download.

Maybe this is not true for newer versions. I don't have them, so I can't comment on them. All I know is the agreement form I have.

Too late. You did comment on them. And you were wrong.

Please check your agreement before listening to the above poster.

And please do not listen to this poster. He clearly is un informed and biased against MS.

If I hate anything, I hate the copyright law that lets companies get away with such requirements.

Why? Its their software. Do you mind if I come around to your house and take your DVD player, or your PC, or your plates and dishes? If you do then you are a hypocrite of the highest order. You worked for your stuff and you dont want people taking it, they worked for theirs, and surprise surprise, they dont want people taking that either. :rolleyes:

I would mind just as much if the manufacturer came around and took my DVD player, or my PC, or my plates and dishes, because they claim the rights to them.

That's how software manuracturers see their software. I paid for it, but it still somehow belongs to them.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.