.Net & COM interop deployment
- From: ajharvey@xxxxxxxxx
- Date: 12 Dec 2006 06:14:56 -0800
Hi,
I have two applications based on the same codebase.
One is a standalone viewer application which is completely c#.
The second is the writing application which is a c# dll with a COM
wrapper that gets called from Excel/VBA which writes the data.
Both applications use remoting calls to a common Application Server.
(The assemblies making up the application sit in the bin directory not
in the GAC)
The problem I have is deployment.
The viewer is a breeze to deploy, we give the user a url to the
executable, everything downloads and executes while talking to the
AppServer.
The writer is a bit more complicated. Because the COM Wrapped dll is
called from Excel the AppBase seems to get set to the Excel install
directory. The COM Wrapped dll gets found find but it's dependencies
aren't. Without installing the application dlls into the AppBase
directory ie the Excel directory (really don't want to do that) I have
to install them in the GAC for them to be found. To install them in the
GAC they need to be strong named and hence vesioned. That would be ok
but then when the writer app starts talking to the Application Server
via remoting it wants the same version of dlls as are installed on the
client.
My design seems to have got into a bit of a mess. Is there a cleaner
way i should have set this up? Will I have to install every incremental
version of each dll in the GAC on the Application Server? Or best yet,
is there a way to set the AppBase property for a process to a specfic
directory when being called from a COM application like Excel? (in
which case i can remove the GAC all together and use an xcopy install)
If i've left out any required information let me know.
Thanks
Andrew
.
- Prev by Date: Re: .NET interop with multiple versions of Office (2002 and 2003)
- Next by Date: SQLMERGX, REPLERRX unable to get error messages
- Previous by thread: Insert values in one newly Inserted row in an existing EXCEL sheet
- Next by thread: SQLMERGX, REPLERRX unable to get error messages
- Index(es):
Relevant Pages
|