When you run a WebClass (IIS Application) in Visual Basic 6.0 under Windows 2000, the following error message appears in the browser:
Server object, ASP 0178 (0x800A0005)
The call to Server.CreateObject failed while checking permissions. Access is denied to this object.
This error only occurs when you run the WebClass from within the Visual Basic integrated development environment (IDE). It does not occur when you run the WebClass in a compiled state.
The authenticating user, usually the IUSR_<computername
> account if you use anonymous access, does not have the appropriate permissions to access the DCOM Server (VB6.exe in this case). When you debug WebClasses in the Visual Basic IDE, the "launching user" is the Interactive user and the user who is accessing the DCOM Server is the "authenticating user."
Because there is no DCOM entry for VB6.exe, DCOM uses the default permissions. In Windows 2000, the DCOM default access permissions are only given to the System account and the launching user by default. Because the launching user and the user accessing the DCOM Server are not the same, the error occurs.
To work around this problem, add a DCOM entry for VB6.exe into the registry. This will enable you to set specific DCOM permissions for debugging WebClasses in Visual Basic. The instructions for doing this are in the following Microsoft Knowledge Base article:
PRB: Error Occurs When You Debug a COM+ Component Under the Visual Basic IDE with an ASP Client
This behavior does not occur in Windows NT 4.0 and Internet Information Server (IIS) 4.0.
For additional information regarding the ASP 0178 error under Windows NT 4.0, click the article numbers below
to view the articles in the Microsoft Knowledge Base:
PRB: Server Object Error 'ASP 0178' Instantiating COM Object
PRB: Server Object Error 'ASP 0178 : 800a0005' from WebClasses