Larry said:
I have a "homegrown" dll that I am using in IIS (VBScript). I need to
replace it on a production server, but I don't want to stop/restart server
in order to replace the dll.
Possible?
from
http://www.google.com/groups?q=comp...ng=r&[email protected]&rnum=3
Handling component modification on production servers
=====================================================
Motivation:
A modified component is a *different piece of software* than the
original component. For that reason, it (both source and object code)
*should have a different name*. The name should include the version of
the component. This is useful primarily for assisting you in tracking
which version of a component is in production, but has other uses. So...
Method:
1. Every time you modify a component, *give it a new name*, preferably
one that indicates the version. e.g.,
myobject = Server.CreateObject( "myspritzer1.seltzer")
is supplanted by the new component
myobject = Server.CreateObject( "myspritzer2.seltzer")
Now since you don't want to modify all of your ASP CreateObject calls
each time you modify the component, instead do the following:
2. In all your ASP code, don't hard-code the object name as shown in 1.
above. Instead use a variable name, e.g.:
myobject = Server.CreateObject( strSeltzerObject )
This code need never change.
3. Define strSeltzerObject in an Include file used by all ASP pages that
reference the component:
Const strSeltzerObject = "myspritzer1.seltzer"
4. Register the new component. Now both components are available to ASP
pages, but only the old component is being used by production ASP code.
5. When you're ready to bring the new component into production, modify
the Include file entry to point to the new component:
strSeltzerObject = "myspritzer2.seltzer"
Once this change is complete, ASP pages will begin using the new
component.
If problems develop, you can quickly rollback to the old version by
modifying the Include file to point to the old component.
The old component remains locked by the server. Eventually the server
will have to be stopped and restarted, so you shouldn't have to wait
more than a day or two!-)) Once the server has been stopped and
restarted, you may delete the old component if you wish.
Good Luck,
Michael D. Kersey