How to replace my ISAPI DLL on a remote Web server ?

Posted on 2000-03-23
Medium Priority
Last Modified: 2010-04-04

We try some CGI stuff on a web server.
Our web hosting is a US hosting compagny. We are working here in Europe. It's easy to replace a CGI EXE app on the remote server.

Now, we are working with DLL (ISAPI). When we try to replace the DLL with a new DLL, we are not allowed to delete the file !

How kill the DLL process to remove the DLL from memory and replace the old DLL with the new one.

Is it possible to put in the DLL a procedure to remove the DLL from the memory ?

We don't want to ask each time the people on the US hosting to kill the process ...

Could you give us a working solution ?

Best regards,

Question by:jpdupont
LVL 13

Expert Comment

ID: 2652333
You have to stop and restart the webserver. Then the DLL will be released.

Author Comment

ID: 2652394
Yes ... I'm in Europe and the Server is in the USA ...
Impossible to ask this to the guy at the hosting compagny !

Is it possible to create a EXE app, in the directory of the DLL, to excecute from here in europe, and kill the DLL ?



Expert Comment

ID: 2652571
I'm not sure, but you may try to load DLL library dynamically, instead statically:

Handle := LoadLibrary('LIBRARY.DLL');
/// update your library
Handle := LoadLibrary('LIBRARY.DLL');


Expert Comment

ID: 2652607
It seems like a web server configuration issue. In IIS you can specify that the DLL be kept in memory between executions (i.e. shared) or be released with each extention.

You are going to have to get the Web admin to changed the config as above and the restart the server.

After this has been done you should be able to replace the DLL in the future, provided that the application isn't running on another web server thread.
LVL 15

Accepted Solution

simonet earned 200 total points
ID: 2652858
Use CGI instead.

In your specific scenario, CGI is more appropriate, since you have no control over the server. With CGI, you are allowed to replace the EXE file, since it doesn't stay loaded at all times.

ISAPI DLLs works in the server's memory space (just like a regular DLL does), thus you cannot replace unless the webmaster brings the server down or explicitely unloads the DLL.

Another option is: if you don't want to work with CGI and need to debug the DLL, use IntraBob (www.drbob42.com), which works integrated to the Delphi IDE.

If you want to turn your ISAPI project into a CGI project without loosing any code and without much effort, look here:




Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
Hi, this video explains a free download that you can incorporate into your Access databases, or use stand-alone for contact management. Contacts -- Names, Addresses, Phone Numbers, eMail Addresses, Websites, Lists, Projects, Notes, Attachments…
Watch the video of Kernel Migrator for SharePoint, which demonstrate the process easily of migration from SharePoint to SharePoint, OneDrive for Business & Google Drive servers, Public Folder to SharePoint, File Server to SharePoint. The tool has va…

597 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question