Home All Groups Group Topic Archive Search About

COM and Windows control on webpage

Author
20 Jan 2006 5:19 PM
poppy
I have a windows control dll in my root folder and embedded it on a webpage
which works fine.
I then tried to make a reference to a COM object in the control which needs
to run on the client machine.  I copied the dll for this object into the root
as well.

When I run the web application on my machine it works fine as I have the COM
object registered on my machine.
I then went to a colleagues machine and ran the .net configuration wizard in
control panel and set the url "http://mymachinename/website/*" to full trust.
Unfortunatley it did not work as I received a strange COM error.

Can anyone tell me what I am doing wrong ?
Can a windows control in a webform ever call a com object on the client
machine ?

It is essential that I do this for a small intranet application I am working
on.
TIA

Author
22 Jan 2006 3:05 PM
Yunus Emre ALPÖZEN [MVP]
Web & Windows application have a main difference. In web applications, your
code executed on your server. In windows applications, your code executed on
client application (no matter if it connects to server to perform bussiness
operation, executable file hosted on client). Therefore, u have two choices.
One is converting your web application to windows application, and the other
one is implementing an activeX component and embeding your COM object inside
this activex component.
Both makes sense, but choice is  your..

--
HTH

Thanks,
Yunus Emre ALPÖZEN
BSc, MCSD.NET
Microsoft .NET & Security MVP

Show quoteHide quote
"poppy" <po***@discussions.microsoft.com> wrote in message
news:FC8E0F09-68DB-4F11-9421-E0D71115A1A8@microsoft.com...
>I have a windows control dll in my root folder and embedded it on a webpage
> which works fine.
> I then tried to make a reference to a COM object in the control which
> needs
> to run on the client machine.  I copied the dll for this object into the
> root
> as well.
>
> When I run the web application on my machine it works fine as I have the
> COM
> object registered on my machine.
> I then went to a colleagues machine and ran the .net configuration wizard
> in
> control panel and set the url "http://mymachinename/website/*" to full
> trust.
> Unfortunatley it did not work as I received a strange COM error.
>
> Can anyone tell me what I am doing wrong ?
> Can a windows control in a webform ever call a com object on the client
> machine ?
>
> It is essential that I do this for a small intranet application I am
> working
> on.
> TIA
Author
24 Jan 2006 1:44 PM
Nicole Calinoiu
COM components normally required registration on the machines on which they
are intended to run.  However, if your client machines are all running
Windows XP, you may be able to take advantage of registration-free COM
(although I haven't seen any explicit mention of whether this should work
from an IE-hosted winforms control).  See
http://msdn.microsoft.com/msdnmag/issues/05/04/RegFreeCOM/default.aspx and
http://msdn.microsoft.com/msdnmag/issues/05/04/RegFreeCOM/default.aspx?side=true
for details.

If you need to support clients running earlier Windows versions, you might
be able to take advantage of the technique described at
http://blogs.msdn.com/mikhailarkhipov/archive/2005/04/01/404433.aspx.
However, for a "small intranet application", I'm guessing that installing
and registering the target COM component on the client machines would
probably be a simpler approach overall...




Show quoteHide quote
"poppy" <po***@discussions.microsoft.com> wrote in message
news:FC8E0F09-68DB-4F11-9421-E0D71115A1A8@microsoft.com...
>I have a windows control dll in my root folder and embedded it on a webpage
> which works fine.
> I then tried to make a reference to a COM object in the control which
> needs
> to run on the client machine.  I copied the dll for this object into the
> root
> as well.
>
> When I run the web application on my machine it works fine as I have the
> COM
> object registered on my machine.
> I then went to a colleagues machine and ran the .net configuration wizard
> in
> control panel and set the url "http://mymachinename/website/*" to full
> trust.
> Unfortunatley it did not work as I received a strange COM error.
>
> Can anyone tell me what I am doing wrong ?
> Can a windows control in a webform ever call a com object on the client
> machine ?
>
> It is essential that I do this for a small intranet application I am
> working
> on.
> TIA