Link to home
Start Free TrialLog in
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.

Avatar of Wakie
Wakie
Flag of Australia image

What does the COM component do?
Avatar of lavinder
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!!

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

...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
Avatar of 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
Avatar of bukko
bukko

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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