Solved

"Class not registered" on ADO Recordset.Open

Posted on 2006-11-20
14
754 Views
Last Modified: 2008-01-09
Odd one, this.  I have a VB EXE using ADODB, in which I am creating and opening a Recordset.  It is deployed in a Terminal Services environment.  My admin users can run the EXE no problem, but my non-admin users cannot, getting a "Class not registered" error on the Recordset.Open method.

That two users on the same machine accessing the same files get different results suggests to me that something either in the registry or to do with permissions is at fault, but I'm damned if I can think what.  Any bright ideas anyone?

Cheers
B
0
Comment
Question by:Belazir
  • 5
  • 5
  • 3
14 Comments
 
LVL 5

Expert Comment

by:RainUK
ID: 17986087
I assume you are using Windows 2000 or 2003 server?

It maybe a registry issue, so make sure your administrators use the command to setup the servers installed applications for terminal server users applications.

Basically before installing your app:

1. Go to command prompt, type:  change user -install
2. Install your application ( I hope you are using windows installer MSI )
3. Go to command prompt, type:  change user -execute

0
 
LVL 5

Expert Comment

by:RainUK
ID: 17986089
By the way I am assuming you installed a version of MDAC Update the same way.
0
 

Author Comment

by:Belazir
ID: 17986680
MDAC was already on the servers, and the app is a simple EXE with no other DLLs or anything else attached, so it doesn't actually need an EXE.  Or are you saying it has to be "installed" despite that?  Can't work out what difference that would make.

Yes, it's a 2000 box, sorry.

Is there any quick way of figuring out whether MDAC is the issue?  Is there another common app for example that would give me the same issue, so I can narrow it down to that?

B
0
Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

 
LVL 5

Accepted Solution

by:
RainUK earned 250 total points
ID: 17987696
Does your EXE use read or write to the user portion of the registry?

You could always download the latest version of MDAC and put it on the server. In terms of latest I mean to make sure that you are using the latest version of ADO associated to your EXE, e.g. if using ADO 2.7, then MDAC 2.7 SP1 Refresh would be best for you.

MDAC also comes with a component checker called cch.exe I think. Checks what versions of MDAC are running on the machine and also if anything required is missing.
0
 

Author Comment

by:Belazir
ID: 17987827
No, the EXE checks a couple of files but doesn't touch the registry.

I used the component checker but it looks fine, nothing obvious is missing.  Because of the number of other apps using this server I'm loathe to update MDAC unless I can be certain that it is MDAC at fault.  What I'd ideally like is for someone to say they've seen exactly this problem before and X is what resolved it...
0
 
LVL 4

Expert Comment

by:seshu123
ID: 18026983
Hai,
   You have to create an install which supports both admin users and normal user accounts.  in some setups we can found the screen asking that if this will be available for admin or other users.  so if you create a setup like this then it will solves the problem.



Seshu123
0
 

Author Comment

by:Belazir
ID: 18027170
seshu - I think I'm going to need a little more detail than that... i.e. how/why?
B
0
 
LVL 4

Expert Comment

by:seshu123
ID: 18027323
Hai,
   because in the xp ot nt based system there is an option that if you install one software using the administrator account it will asks you for confirmation wether you are going to install this software for the admin or for entire users.  if you select the admin then it will installs the application and gives the rights to the admin only.  if you select the entire users then it will install this application to the entire users and gives the rights to entire users.  So better try to install the application foe all users.  I have the same problem and i solved like this only.


Seshu123
0
 

Author Comment

by:Belazir
ID: 18027356
I meant - how do I create an install program like this?  I've not seen this option in any of the tools I've used.
0
 
LVL 4

Expert Comment

by:seshu123
ID: 18027382
why don't you use the setup factory it is more user friendly that any other setup creators.


Seshu123
0
 
LVL 4

Expert Comment

by:seshu123
ID: 18372415
accept seshu123
0
 

Author Comment

by:Belazir
ID: 18373420
No... nothing here has actually helped to be honest, but if I have to award the points I will do so to RainUK.
0
 
LVL 4

Expert Comment

by:seshu123
ID: 18373523
nice decission
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Problem to skip loop 6 57
VBA saving file message display 5 67
MS Access Search and Replace Using VBA 6 72
Help with retrieving partial value from a column using VB.NET 4 48
I’ve seen a number of people looking for examples of how to access web services from VB6.  I’ve been using a test harness I built in VB6 (using many resources I found online) that I use for small projects to work out how to communicate with web serv…
Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

803 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