Avatar of kenkthulhu
kenkthulhu
 asked on

COM+ Problem

I've got a few COM+ applications that all register on the web server - a particular class within one application's DLL cannot be instantiated. The others work fine - even other applications that are installed before and after this particular one work fine.

The same DLL has been installed on other servers and work fine - and all classes can be instantiated without problem. From a scrap of vbs which calls the object, I get a "error loading DLL: 'createobject'" and from the web app (ASP) I get a page error "create object failed" "an error occurred while creating object 'objectname'"
It is not working in VBS and it is not working in ASP. Two components of the DLL ARE working, but 5 out of 7 are not. These 5 components instantiate one of the two components that DO work.
eg.
component prodversion returns the DLL version - this works
component dbobject runs sql server stored procedures - this works
component clients uses dbobject to verify user database permissions (by using dbobject) - but doesn't work
it does this like so:

Const m_modname As String = "myapp.clients"
Private m_dbobject As dbobject

Private Sub Class_Initialize()
   Set m_dbobject = CreateObject("myapp.clients")
End Sub

I think it fails at the CreateObject.
The code is identical for other apps - the same classes, the same code - just the application name (myapp) is changed.
It also works on other servers.

So to round up...
The same code compiled as a DLL for COM+, works on servers A & C but not server B. Other applications with the same code work on A B & C. Other applications installed on B before and after the problem application work fine.

I have no idea how to solve this - if I had more points to allocate to an answer I would.

ASP

Avatar of undefined
Last Comment
kenkthulhu

8/22/2022 - Mon
Wakie

What does the COM component do?
lavinder

Hi

Try to check whether the component is registered on server B or not also Check its progID, (it is there in the registry or not).

hth!!
bukko


If I were you I'd trawl the registry to search for the ProgId of the component which is giving you trouble. Remove all instances and re-register.

bukko
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck
bukko


...should have said...

(1) Drop the component from COM+
(2) Trawl the registry & remove all instances
(3) Add to COM+

(adding to COM+ does all the regsvr32 stuff)

bukko
kenkthulhu

ASKER
The Registry seems pretty scary - I wouldn't like to start hacking into some of that stuff without knowing what it is. Shouldn't removing the application clean up any instances?
ASKER CERTIFIED SOLUTION
bukko

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
kenkthulhu

ASKER
bukko

I really will never know if your suggestion will work - the web dba tried again a few days later and the app installed and registered correctly.

The points are yours anyway - perhaps you can answer my other question about web page time outs.

~ken
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.