Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium


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
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

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

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…
Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …
Screencast - Getting to Know the Pipeline
Suggested Courses
Course of the Month11 days, 10 hours left to enroll

564 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