Deployment of ActiveX with ThirdParty Control(COM) on ASP.Net

V

vishal868

Hi,
Can anybody please help me out to solve this problem. I try to find the
solution of it all around but i m not able to get it from anywhere.
I have created on ActiveX control in VS 2005. I have put one Third
Party Control(which is created in VB) on that ActiveX control.
Now I have deployed that ActiveX control using object Tag in ASP.net,
but that ActiveX controls doesnt display when I open that .aspx page in
IE 6.0.
The problem occurs only when i use any third party componet( which is
created in VB) on ActiveX control, otherwise everything is working very
fine.
I m really fed up to find the solution of it from here and there. But i
m not able to get it from anywhere :((
 
D

Dmytro Lapshyn [MVP]

Hi,

If you use a 3rd party control, it should exist on the client machine where
the Web page ultimately loads. It's not a problem for the parent ActiveX,
since you supply the codebase URL in the OBJECT tag. However, IE knows
absolutely nothing about the child 3rd party control, hence it has no clue
it should download and install it on the client's machine.

A sort of a "hack" workaround would be to create an invisible OBJECT tag
hosting the 3rd party control directly. Thus, IE will be aware it has to
download and install this control as well.
 
V

vishal868

Hi Lapshyn,
Thanks for your reply. But still my question is some how different then
your answer.

I have one ActiveX dll named FlexGridActiveX.dll, in which I had used
COM componet.
Now I am putting this dll in my virtual directory . In addition I am
also putting the Interop (RCW) of that COM component in virtual
directory.
Now in my .aspx page i m using the object tag as,
<object id="MyObject"
classid="FlexGridActiveX.dll#FlexGridActiveX.FlexGridActiveX"
height="500" width="500" >
but due to that COM componet, this ActiveX is not displayed in my .aspx
page, even if I keep the interop of that COM component in my virtual
directory.

First of all, I dont think so i need to install the COM on client PC as
it's interop is already present in my virtual directory, but still as
of now I am running it on a localhost(sever) where that COM dll is
already installed. But still in that case also it wan't display my
ActiveX control in .aspx page.

If I used that COM component in my .dll then why it's a need to add one
more Object tag for the COM componet??

can u plz help me out to find the solution of it??

Thanks in advance.

Regards,
Vishal
 
D

Dmytro Lapshyn [MVP]

First of all, I dont think so i need to install the COM on client PC as
it's interop is already present in my virtual directory,

You *DO* have to have the COM installed on client PCs. Unless it is
localhost, of course :)
now I am running it on a localhost(sever) where that COM dll is
already installed. But still in that case also it wan't display my
ActiveX control in .aspx page.

Two possible reasons here:

a) The .NET control you're hosting cannot locate the interop DLL. Having it
in the virtual dir most likely won't help - the client-side assembly loading
process won't probe the virtual dir as it knows nothing about it.

b) The security permissions granted to the .NET control won't allow it to
host ActiveX components.

Run fuslogvw.exe on the client machine and try to get the Fusion log for
FlexGridActiveX.dll - you should get hints on why it fails to load.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top