Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

VB6 application is not running on Vista

Posted on 2007-10-02
10
Medium Priority
?
1,039 Views
Last Modified: 2012-06-21
Our VB6 application is not running on Vista.  We believe we've localized the problem to 'DBGrid32.ocx'   Microsoft claims they support 'DBGrid32.ocx' in Vista but do not install it.  We are installing DBGrid32.OCX version 5.1.81.4 (514 MB, 6/26/1998).

Our VB6 environment has service pack 6.  

Comcat is the only dependency listed in the DBGrid32.DEP file, and it is installed.

Please help!
0
Comment
Question by:bgdw
  • 5
  • 4
10 Comments
 
LVL 8

Expert Comment

by:Anthony2000
ID: 20002838
Have you created a simple app that only contains DBGrid32.ocx and tried that. This way you can be 100% sure it is causing your problem.

I am assuming that you have already tried unregistering and re-registering it too.
0
 

Author Comment

by:bgdw
ID: 20002876
Anthony2000,

Thanks for getting back to me.

 When running a VB6 application with only a form hosting DBGrid, I got the following error message:
 
"Component 'DBGrid32.ocx' or one of its dependencies is not correctly registered: a file is missing or invalid"

We've tried unregistering and re-registering, same deal.
 
0
 
LVL 8

Expert Comment

by:Anthony2000
ID: 20003556
Have you tried unregistering comcat and re-registering it? And make sure they are properly matched (version wise). I don't know what versions are compatible. You may have to do some searching on Microsoft's website.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 41

Assisted Solution

by:graye
graye earned 400 total points
ID: 20005974
...just curioius...  what would happen if you compiled the application on Vista.   I'd be curious to see how VB6 handled the OCX registration on a development PC running Vista (I bet it'd work).
0
 

Author Comment

by:bgdw
ID: 20008602
Thanks to both of you.

I've tried the un-register / register comcat.dll - No luck.

We are going to install the VB Development envirnment on the Vista machine next.  I'll let you know who we do.
0
 
LVL 8

Expert Comment

by:Anthony2000
ID: 20008777
Loading the dev environment should help solve your problem. If for some reason it doesn't. I had a similar problem and I used Filemon from Microsoft to find out what was going on.

http://www.microsoft.com/technet/sysinternals/FileAndDisk/Filemon.mspx
0
 

Author Comment

by:bgdw
ID: 20008820
I just ran the program using the Windows Vista "Start application in Compatibility Mode."  It ran like a champ.  Does this give you guys any clues?

Thanks,
0
 
LVL 8

Expert Comment

by:Anthony2000
ID: 20009120
Yes, that jogs my memory. I think it could be related to something in how the registry works in Vista rather than in XP and prior versions.

I thought I read that each user has a separate set of some keys in the registry. So, when you modify the file associations for .bmp, you are probably doing it for the admin. Then when you run the program you are running it as a different user who just happens to have a different association then the admin user.

Okay, I have to admit, I am guessing alittle as well. I could be 100% wrong about this.
0
 

Author Comment

by:bgdw
ID: 20010235
Let me update you.

It ran perfectly in Start application in "Compatibility Mode."  Before I clicked "Finish" to set the program to perminent "Compatibility Mode" I clicked cancel.  So the app was not set to "Compatibility Mode."  

Now when I run the app, it runs perfectly.  I believe it does have something to do with being the admin.  Now that the app ran successfully, the dll and OCX both got registered correclty and now run.  Does that jive with what you are thinking?

If so, how do I setup the installation to do whatever happened in the "Compatibility Mode?"  Insist that the user be the administrator?  That does seem like a good solution.
0
 
LVL 8

Accepted Solution

by:
Anthony2000 earned 1600 total points
ID: 20011666
I think that you may need to include some instructions to the end user on how to run the program in compatibility mode. I would think that you will not be able to programmatically change this behavior because it would undermine Microsoft's security model (again, I could be wrong).

Here is an article that describes an elevated install script trying to run a non-elevated program.
http://www.codeproject.com/vista-security/RunNonElevated.asp

I am surprised at this, if it is true. At least you have a work-a-round to get your program to function.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

There is an easy way, in .NET, to centralize the treatment of all unexpected errors. First of all, instead of launching the application directly in a Form, you need first to write a Sub called Main, in a module. Then, set the Startup Object to th…
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
Suggested Courses

571 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question