Groups | Blog | Home
all groups > dotnet distributed apps > december 2004 >

dotnet distributed apps : How do I distribute EnterpriseServices components as COM+ proxies?


Furzehill Bill
12/14/2004 7:35:01 AM
I have updated an old MTS based application to .Net. All seems fine on a
development machine but I have a problem with deployment. I can create
EnterpriseServices based COM+ applications on the server and export proxies.
However when any of these are installed on the client machine the application
complains that it cannot find the assembly unless I manually add it to the
Global Assembly Cache. This is not a real world option as we need the
application to be deployed automatically (via AD in this case).

Is there a way to overcome this issue? Have I missed some attribute in the
code? Or is there some option at the export time?

Sam Santiago
12/14/2004 9:28:46 AM
Check out this KB article:
http://support.microsoft.com/default.aspx?scid=kb;en-us;313243

Essentially, export as a server application not a proxy.

Thanks,

Sam

--
_______________________________
Sam Santiago
ssantiago@n0spam-SoftiTechture.com
http://www.SoftiTechture.com
_______________________________
[quoted text, click to view]

Furzehill Bill
12/15/2004 7:07:07 AM
Thanks for replying but I am not sure whether I have made myself clear.

If I were to export the application itself, rather than the proxy, and
install this on the client PC surely I would no longer be using the component
on the original server?

To restate the problem I can export the EnterpriseServices based COM+
applications from my development machine and install them on a server. I then
want a client PC application to be able to use these applications as Server
components, i.e. I want to replicate the architecture of the original MTS
based application. I understood that, as with MTS, I should export the
application proxies from the server and install these on the client machine
to allow DCOM based communication between the client PC and server.

This process works if I subsequently add the assemblies installed by the
proxy to the GAC, but this is not done automatically. I need some mechanism
to achieve this automation and am not sure whether I have missed something in
the coding of the component or its configuration.


[quoted text, click to view]
Ice
12/15/2004 11:36:57 AM
you didn't miss anything. the assemblies have to be in the GAC.

ice
[quoted text, click to view]

Furzehill Bill
12/20/2004 6:45:04 AM
Again thanks for the reply, but I still do not have a clear understanding of
what is happening as I now have two proxies, one of which automatically
installs itself into the GAC, the other does not. They share very similar
settings and code attributes, but the slightly more complex one fails to
install itself in the GAC when the proxy install is run.

Does anyone have any idea as to what could make the difference in behaviour?


[quoted text, click to view]
Randys
1/1/2005 5:51:02 AM
I went through the same problems. What I finally came up with was to use
remoting for the communication between the server and client, This allows me
to use xcopy installs or a very simple install program. Even if you can get
the COM+ server exports installed on the client, the next time you need to
install an update the old version will need to be UNINSTALLED first, which
defeats the AD install option. If you need transactions (the main reason for
COM+) I have the server remoting objects call COM+ objects that are installed
on the server this way ALL the COM+ stays on the server with no need to
export it. It's a little extra overhead but the deployment is a lot easier.
We also tried using Wise installer (they said they could install COM+
objects) but we could never get it to work.

[quoted text, click to view]
AddThis Social Bookmark Button