Solved

"Class not registered" on ADO Recordset.Open

Posted on 2006-11-20
14
759 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
[Live Webinar] The Cloud Skills Gap

As Cloud technologies come of age, business leaders grapple with the impact it has on their team's skills and the gap associated with the use of a cloud platform.

Join experts from 451 Research and Concerto Cloud Services on July 27th where we will examine fact and fiction.

 
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

On Demand Webinar: Networking for the Cloud Era

Ready to improve network connectivity? Watch this webinar to learn how SD-WANs and a one-click instant connect tool can boost provisions, deployment, and management of your cloud connection.

Question has a verified solution.

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

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we 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 process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Suggested Courses
Course of the Month5 days, 1 hour left to enroll

635 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