Solved

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

Posted on 2000-03-23
5
210 Views
Last Modified: 2010-04-04
Hello,

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,

Jean-Pol
0
Comment
Question by:jpdupont
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 
LVL 13

Expert Comment

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

Author Comment

by:jpdupont
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 ?

Thanks,

JP
0
 
LVL 9

Expert Comment

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

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


Cheers,
Igor.
0
 
LVL 2

Expert Comment

by:ray_leach
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.
0
 
LVL 15

Accepted Solution

by:
simonet earned 50 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:

http://community.borland.com/delphi/webtech/0,1418,10005,00.html 

Yours,

Alex
0

Featured Post

Enroll in June's Course of the Month

June's Course of the Month is now available! Every 10 seconds, a consumer gets hit with ransomware. Refresh your knowledge of ransomware best practices by enrolling in this month's complimentary course for Premium Members, Team Accounts, and Qualified Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…

717 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