Search Search

#1 worldwide
FREE Coding Lessons

since 1996
   THE BEST WAY to learn ASP & Asp.net!
Advertise Here!
click for details
Credits Host:
DiscountASP.net
Server Admin:
The "Team"
Contact Info.
Charles M. Carroll

my Blog
[prev. Lesson]  VB: Registering Component
     [next Lesson]  VB: ADO, Run It!

FAQ #1:I cannot overwrite a DLL I want to update....
writeup thanks to Michiel van Otegem <michiel@itcomposer.nl>

This happens when the DLL is loaded in memory because it is in use or has been used by an application. The DLL needs to be unloaded before it can be overwritten. The solution depends on the version of Internet Information Server (IIS) and if Microsoft Transaction Server (MTX) is being used or not.

IIS version 3 (no MTX)
In order to unload the DLL, you need to stop the webservice. This can be done through Control Panel->Services or with the Internet Service Manager. After the webservice has stopped, the DLL can be overwritten. When the webservice restarts the new DLL is in place and will be used for subsequent calls.

IIS version 4
If the DLL is not registered as an MTX package and the website(s) using the DLL do not run in a separate memory space (check this with the Internet Service Manager), the same course of action as with IIS 3 is to be taken. Because of the complexity of the webservice in IIS 4, the easiest way to shutdown the webservice is through Control Panel->Services.

If the DLL is not registered as an MTX package and the website(s) using the DLL all run in a separate memory space, stopping those websites will suffice. The DLL can then be overwritten en the sites can be restarted.

If the DLL is registered as an MTX package, the DLL will be unloaded after the amount of minutes set with the Transaction Server Explorer for that package, after which you can overwrite the DLL. If the DLL hasn’t been unloaded yet, you can force it to unload with the Transaction Server Explorer by choosing Shutdown (right click on a package). After the new DLL is in place choose Refresh All Components (right click on the computer with the DLL).

There’s a catch however… the new DLL needs to be compiled with binary compatibility with the old DLL. If you don’t do this, you have to unregister and remove the old DLL, place the new DLL, register it and import it into the right package again.

There are many worthy charities!!. But perhaps help starving children in Africa or South America AND help Charles too. a $5 tip buys him lunch at McDonalds, a $20 tip buys his kid Hitoshi a new computer game, a $39 tip buys his daughter Michiko a few nice outfits. See our donor list.