Debugging / Playing a COM Application with VB6.0 and ASP page, not working -- "Server.CreateObject -> Access is Denied"

Posted on 2005-03-30
Medium Priority
Last Modified: 2012-06-27

I have an unusual problem.  When attempting to debug a COM application written in VB6 within Visual Studio 6.0's VB6 program, and trying to access that running process with an ASP client page, I get the error:
"Server object, ASP 0178 (0x800A0005) The call to Server.CreateObject failed while checking permissions. Access is denied to this object."

More so, I only get this error when the DLL that this application is debugging is unregistered and renamed.  Otherwise it just keeps hitting that same DLL and never my VB6 running app (is that just a Class ID problem ??).  Anyways, I have unregistered the DLL and renamed it, so I know it hits my VB6 running/debugging app (if I have it stopped, it says "Invalid Class String" or something similar, and if it plays I get the "Access is Denied" error so I know it's recognizing that an app is playing).

I an running Windows XP Professional SP2.  I have Visual Studio 6.0.9782 and Visual Studio .NET framework 1.1 installed.  My IIS version is 5.1 and has been configured to run .NET using aspnet_regiis -i with the 1.1 framework.  Everything is functioning normally.  I have an ASP application consisting of about 2000 asp pages that I run locally which is located in c:\inetpub\wwwroot\root_web_local.

This application is working properly.  I have a number of ActiveX COM DLL's that I use with this web project for one reason or another.  One of them has a design flaw in it that I need to change, and in order to do it I require the ability to debug the application.  The DLL is fully registered (let's call it Bob.dll) and is located in c:\inetpub\wwwroot\compiled.  I have created a test ASP page that is located in a virtual directory called debug, located in c:\inetpub\wwwroot.  This folder has Everyone permission on it for debugging purposes (same as root_web_local).

My IIS Application Protection for my website is set to High Isolated (though I have tried it under Medium and Low with the same outcome).  If this were .NET, I would just attach to aspnet_wp.exe (or dllhost.exe for High Isolated application protection) via Debug -> Processes, and debug it from there.  However, VB6 does not give me this luxury.  Other employees in my office are able to do what I'm trying to do (debug and a hit a breakpoint with the playing app) without having to unregister.  I am uncertain what's going on and as to why I'm getting those "Access is Denied" errors.

I have tried all the steps in this knowledge base article (http://support.microsoft.com/kb/259725/EN-US/) and others.  I am an Administrator on my box and in the Administrators group (of course).  Also, I am attached to a domain and login using domain credentials (FYI).

Any help would be appreciated,

Question by:timtrolious
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
LVL 15

Expert Comment

ID: 13673948
You could try out the other soloution of Debugging COM applications which is using VB.
That is you can open the Active DLL Project and then add another Project which is standard exe use onclick of a button and then debug your application by creating an instance of the DLL and then call the method with the required parameters .
You can then check each and every step of your DLL executing and then make changes as desired.
Then you must set the compatibility of your Active DLL Project  to Binary Compatibility and  make the DLL.

I hope this Idead helped.

Author Comment

ID: 13686601
I believe I've discovered the answer.

For those in the future who may read this question: for Windows XP, open up DCOMCNFG (start -> run -> dcomcnfg), goto Component Services -> Computers -> My Computer -> COM+ Applications -> IIS Out-of-process Pooled Applications; right click, goto properties. Goto Identity Tab -> Click "System Account" under Account.  Hit Apply -> OK, then reboot the computer (must reboot).  This will fix the problem (or it did for me, at least).

It will change the user IIS uses to debug the IIS process from IWAM_MACHINENAME to whatever use you're logged in as.  Just make sure you're a local admin on the box.

Thanks for the suggestions anyways, though, babuno,
LVL 22

Expert Comment

ID: 14876559
No comment has been added to this question in more than 21 days, so it is now classified as abandoned.  I will make a recommendation to the moderators on its resolution in a week or two.  I appreciate any comments that would help me to make a recommendation.

Unless it is clear to me that the question has been answered I will recommend delete without refund of points.  It is possible that a Grade less than A will be given if no expert makes a case for an A grade.  It is assumed that any participant not responding to this request is no longer interested in its final disposition.

If the user does not know how to close the question, the options are here:

EE Cleanup Volunteer
LVL 22

Expert Comment

ID: 14930728
I am leaving the following recommendation for this question in the Cleanup topic area:
PAQ - No refund

Any objections should be posted here in the next 4 days.  After that time, the question will be closed.

EE Cleanup Volunteer

Accepted Solution

modulo earned 0 total points
ID: 14953721
PAQed with points refunded (500)

Community Support Moderator

Featured Post


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:   The Exchange of informatio…
Have you ever needed to get an ASP script to wait for a while? I have, just to let something else happen. Or in my case, to allow other stuff to happen while I was murdering my MySQL database with an update. The Original Issue This was written…
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…

765 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