Solved

"Class not registered" on ADO Recordset.Open

Posted on 2006-11-20
14
758 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
Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

 
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

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

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…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
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…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

734 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