ActiveX 7.0 as used in ASP.NET

TeeChart for ActiveX, COM and ASP
Post Reply
David
Newbie
Newbie
Posts: 3
Joined: Wed Aug 24, 2005 4:00 am
Contact:

ActiveX 7.0 as used in ASP.NET

Post by David » Sat Sep 17, 2005 11:19 pm

I run the sample, CompareOut.asp as provided with the install package and receive the following ASP error. I have uninstalled and reinstalled the TeeChart with no help. I then also cleared out the registry of all TeeChart instances and then reinstalled. I ensured my IIS contains the TeeChart app. Can anyone help as this is hindering our project. I am running XP pro. The error occurs with the chart .export in the asp page. Thanks.

Start of error page.

The page cannot be displayed
There is a problem with the page you are trying to reach and it cannot be displayed.

Please try the following:

* Click the Refresh button, or try again later.
* Open the localhost home page, and then look for links to the information you want.

HTTP 500.100 - Internal Server Error - ASP error
Internet Information Services

Technical Information (for support personnel)

* Error Type:
(0x8000FFFF)
Catastrophic failure
/TeeChart7/CompareOutput.asp, line 66

* Browser Type:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6

* Page:
GET /TeeChart7/CompareOutput.asp

* Time:
Saturday, September 17, 2005, 4:01:28 PM

* More information:
Microsoft Support

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Post by Narcís » Mon Sep 19, 2005 8:00 am

Hi David,

Are you using FireFox? If so, could you please test if this problem also happens with Internet Explorer?

Thanks in advance.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

David
Newbie
Newbie
Posts: 3
Joined: Wed Aug 24, 2005 4:00 am
Contact:

Post by David » Mon Sep 19, 2005 1:59 pm

No, the problem occurs both with Firefox and IE using Windows XP. I have already tried uninstalling and reinstalling the TeeChart and cleaned out the resgistry.

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Post by Narcís » Tue Sep 20, 2005 7:59 am

Hi David,

This is a permissions problem, please have a look at the following MSDN article:
studying and following the MSDN article below:
======================================================

PRB: ASP Returns VBScript Runtime Error '800a01ad'

Q194801

----------------------------------------------------------------------------
----

The information in this article applies to:

Microsoft Internet Information Server versions 4.0, 5.0

----------------------------------------------------------------------------
----

SUMMARY

The use of CreateObject to create a COM component in an ASP page may result
in the following error:

Microsoft VBScript runtime error '800a01ad'

ActiveX component can't create object

This error is usually generated because DLLs on which the COM object depends
are one of the following:

Missing from the system

Not in the system path

Not accessible by the system because of security settings

MORE INFORMATION

Each of the above reasons applies to the DLL that implements the COM object
as well as any of the DLLs dependencies. For instance, if a COM DLL
statically links to a Win32 DLL and the Win32 DLL is missing from the
system, a 800a01ad error will be generated.

There are many ways to determine DLL dependencies. Among these are the
Depends.exe tool (shipped with the Platform SDK and Developer Studio 98) and
the DUMPBIN utility (installed with Visual C++). To use Depends, simply run
the tool and open the DLL in question. To use DUMPBIN to view the
dependencies, run the following at a command prompt "dumpbin /IMPORTS <name
of DLL>". The Depends utility has the advantage of displaying dependencies
of dependencies. It would appear that quick view in the Windows Explorer
would display the same information, but it has been observed that the
information displayed is not always complete.

Further information about each of the possible causes follows:

DLLs Missing From the System

The DLL that implements the COM object must exist on the system and be
registered with the correct path. Creation failure of a COM object that is
not registered at all will actually generate a different error:

Server object error 'ASP 0177 : 800401f3'

To verify that the path in the registry is correct, run the RegEdit program
and search for the PROGID (found in the CreateObject call). From the PROGID
entry, record or copy the CLSID to the Clipboard and locate the entry for
the CLSID. This entry should contain an InprocServer32 key with a path to
the DLL. The following illustrates the flow of this process:

(from the asp file)

set obj = Server.CreateObject("BadComponent.Badguy")

(from RegEdit)

HKEY_CLASSES_ROOT\BadComponent.BadGuy\CLSID

{683DA7E0-5C73-11D2-80F6-0000F87A8236}

HKEY_CLASSES_ROOT\CLSID\{683DA7E0-5C73-11D2-80F6-0000F87A8236}\

InprocServer32 E:\Programs\COMPON~1\BADCOM~1\Debug\BADCOM~1.DLL

The following commands run from a command prompt will verify the existence
of this file:

E:\>cd E:\Programs\COMPON~1\BADCOM~1\Debug

E:\Programs\COMPON~1\BADCOM~1\Debug>dir BADCOM~1.DLL

10/14/98 11:18a 241,739 BadComponent.dll

1 File(s) 241,739 bytes

2,038,755,328 bytes free

If no path is specified in the registry for the DLL, the DLL must exist in
the system path.

A COM DLL may have dependencies other than Win32 DLLs that are statically
linked (DUMPBIN and Depends.exe show DLLs statically linked). For instance,
a COM object may call LoadLibrary() and call functions in a Win32 DLL.
Similarly, the control may create COM objects that are contained in separate
DLLs. Any of these DLLs may be missing, improperly registered, on
inaccessible due to security. This would result in a runtime error that may
or may not be encountered during the creation of the control. Returning
S_FALSE from the FinalConstruct() method of an ATL control can simulate an
example of control failing in such a manner during creation. This assumes
LoadLibrary() or CoCreateInstance() failed in FinalConstruct(), and the
programmer chose to check for this and return S_FALSE. The error generated
in this case will be similar to the following:

error 'ASP 0115'

Unexpected error

/badguy.asp

A trappable error occurred in an external object. The script cannot continue
running. Server object error 'ASP 0115 : 8000ffff'

Failure of this type will not generate an 800a01ad error.

DLLs Not in the System Path

The system must be able to find the dependant DLLs (statically linked) of
the DLL that implements the COM object being created. Using DUMPBIN or
Depends, determine what the dependent DLLs are. Verify that all of these
DLLs are either in the same directory as the COM DLL or in the system path.

DLLs Not Accessible by the System Because of Security Setting When a client
requests an Active Server Pages (ASP) page from a server, the ASP page runs
in a security context dependant on the authentication method used to access
the Web Server. For instance, anonymous requests run in the context of the
IUSR_MACHINENAME where MACHINENAME is the name of your computer. For
information on other authentication methods and security considerations,
please consult the IIS documentation. What this means in terms of an
800a01ad error is that the authenticated user must have access (via NTFS
file permissions) to the COM DLL and all of the dependant DLLs.

A shotgun approach can be used to determine if this is the cause of the
problem. Using the Windows Explorer, select Properties for the COM DLL,
select the Security tab, and grant "everyone" at least read access to the
DLL. Do the same for the dependent DLLs and directories containing the DLLs.
This should eliminate any security restrictions that may be affecting the
creation of the COM object. Security can be tightened after it is determined
that this was the problem. Keep in mind, many of the dependant DLLs are
Windows system DLLs and will have at least "everyone read" access already.
Do not mistakenly remove this access when "tightening" the security.

(c) Microsoft Corporation 1998, All Rights Reserved. Contributions by Robert
E. Duke, Microsoft Corporation.

Additional query words:

Keywords : kberrmsg kbASP kbCOMt kbSecurity kbVBScript kbGrpDSASP kbDSupport
kbiis400 kbiis500

Issue type : kbprb

Technology :

Last Reviewed: January 4, 2001

(c) 2001 Microsoft Corporation. All rights reserved. Terms of Use.

----------------------------------------------------------------------------
----

Send feedback to MSDN.Look here for MSDN Online resources.
I hope that helps.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

Post Reply