Calling remote dll's from a server

  • Thread starter Thread starter Mike
  • Start date Start date
M

Mike

I have spent a good deal of time trying to find an answer to this and
keep running in circles.
I have an application which is deployed to several dozen computers.
Certain portions of the application require regular maint. and updates,
which currently require the entire application to be rebuilt and
reinstalled on each workstation.
I have begun moving the regularly updated functions to a seperate dll
which can simply be re-deployed to the various workstations upon an
update.
....now to my question.

Is there a way to place the updated dll on the central server that all
of the workstations talk to and have them call the dll from there,
rather than having to have it stored localy on each computer. I am
trying to minimize downtime caused by regular updates.

Any suggestions would be greatly appreciated.

Mike
JMT Systems Consulting, LLC
 
I see two relatively easy options:

1. Use the Updater Application block (part of the Enterprise Library) and
deploy the updated DLL through it.

2. Set up a web service (either ASMX or Remoting) on the central box and
start using a SOA pattern for access to that functionality. To make this
reasonable, the messages should be larger and not simple CRUD.

As a third option, you can set up the DLL in COM+ and export the package to
various machines. As long as you are not changing interfaces, this should
work well, although a routinely updated DLL will require a bit of manual
maintenance to keep this system up and running.

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

***************************
Think Outside the Box!
***************************
 
Why do not you use simple 'Check Update' functionality?

We were once in a similar situation and we did the following:

1. Keep the dll on a server and also keep the version of the dll updated in
a database (Or, even in a text file on the server). Also may be keep the
version of the local dll recorded (may be in .config file)

2. Write a small utility (independent of the main application) that does the
following and install this utility along with the application on all
computers.
a) Inform the user that the application is being updated
b) Kill the process of main application if running.
c) Download and update the dll, and update the version information for
local file.
d) Restart the main application.

3. Now every time a user starts the application, compare the version of the
current dll with the version on the server. If a newer version is available
just trigger the Update utility.

Check System.Diagnostic.Process class for help.

I hope it helps... Or, I am taking you even farther?

Sukhdev
 
I think option three does sound like our best bet as the users close
down the application each night before leaving work. Thanks for the
help, to both of you.

Mike
 
Back
Top