Solved

Register a DLL on the IIS

Posted on 1998-10-15
12
281 Views
Last Modified: 2013-12-25
I would like to know if there is any way to register a DLL-file without having to stop the IIS. I use InterDev 6.0 and IIS 4 with FrontPage Server Extension, and I have enabled the possibility to register a DLL from my client - that works fine. But still, I have to stop and restart the webserver in order to update a DLL to a newer version just because it is being used by the server.
0
Comment
Question by:mnprsd
  • 6
  • 3
  • 2
  • +1
12 Comments
 
LVL 10

Expert Comment

by:MasseyM
ID: 1829111
To update a DLL, you will always have to stop and start the server... To register the initial instance of the DLL (first installation) you don't have to stop and start... This is due to the fact that the DLL is loaded and is ready to run... Think of it as a train, you attach the car to the existing train and it is running... YOu will have to stop the train disconnect the cars in front and behind to remove the car then you can add back a newer car... if you are just adding a car, you can attach it to the end... (ok, bad example, but it gets an idea across..)
0
 

Author Comment

by:mnprsd
ID: 1829112
I think of it like this. The webserver is using my DLL, that's why I can't register it. If I stop the IIS it releases the DLL, and when I start it again, the FrontPage Server Extension takes care of the registration. I hope there is a way to release the DLL without stopping the IIS. Is there?

(Sorry MasseyM, but I just can't accept your answer, not yet anyway.)
0
 
LVL 10

Expert Comment

by:MasseyM
ID: 1829113
No.  There is no way to release the DLL while the server is running...
0
 

Expert Comment

by:narula
ID: 1829114
You can register any DLL while the server is up and running.  However, for you application to make reference to that particular DLL, you must restart your "application" server process.  

If you're running IIS4.0, simply make sure to isolate the application in a separate server process.  If this is unsatisfactory for you, then perhaps it would be a wise idea to partition your application into several server processes.  Granted, you will lose session information for your users when passing them from one application to another, but then you should be able to overcome this by writing a custom script/application.  
0
 
LVL 10

Expert Comment

by:MasseyM
ID: 1829115
No, this is false... YOu can register as many NEW components as you desire... You MUST stop the server to upgrade or remove a component.  I have found NO other way.
0
 

Author Comment

by:mnprsd
ID: 1829116
I tried it, and I'm sorry to say that MasseyM is right. The only option left now is to install a local webserver on each developer-machine.
0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
LVL 11

Expert Comment

by:mouatts
ID: 1829117
The problem that you are seeing is to do with the architecture of Windows (NT, 95 and 3.x).

A Dynamic Link Library will remain loaded whilst any application that is using it is still running. The only way to utilise a new one is to stop all processes accessing it or to have them each release the library using the FreeLibrary routine within the API. But as you don't have access to the IIS code you are stuck.

Steve
0
 
LVL 10

Expert Comment

by:MasseyM
ID: 1829118
Hey mouatts, that is what i have been saying all along...

INstalling a Personal Server on the development machine is THE best answer... This give the developers the option to test their programs and not wory about crashing the server... This is the way to go.
0
 

Expert Comment

by:narula
ID: 1829119
You're correct.  Clearly if the component is already registered and a running application is making reference to it, you will not be able to update/remove the DLL.  But if you're talking about a new DLL that has never been referenced, I believe my answer was incorrect.  You shouldn't need to restart the server for new DLLs.  And as for running a test server, I think that mnprsd's problem is that s/he wants to update an application while users are using it.  Is this right?  
0
 
LVL 10

Expert Comment

by:MasseyM
ID: 1829120
Would you like me to repost as an answer...
0
 

Author Comment

by:mnprsd
ID: 1829121
narula is almost correct, at least it makes no difference. The webserver I am using is used as a "developer webserver" on my company, by at the moment three developers which are working on three different projects. There are no plain users, but if I just stop the server I will most certainly hang the next morning:)

I guess MasseyM was first with a not-so-satisfying though a probably correct answer, so I must give him some points. And for your information, I'm about to install a webserver on my own machine right now!!
0
 
LVL 10

Accepted Solution

by:
MasseyM earned 150 total points
ID: 1829122
That is a good choice... Just to let you know...  I develope web sites and applications every day... I crash my server sometimes 2-3 daily just because of testing and "problem resolution" response times (Let's see how fast I can get it back up).  This is the best way to go for you from what you have been telling us...

0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Ever wondered how to display how many visitors you have online. In this tutorial I will show you an easy but effective way to display the number of online visitors in WhizBase. In this article I assume you have read my previous articles and know …
This tutorial will discuss fancy secure registration forms, with AJAX technology support. In this article I assume you already know HTML and some JS. I will write the code using WhizBase Server Pages, so you need to know some basics in WBSP (you mig…
Learn the basics of modules and packages in Python. Every Python file is a module, ending in the suffix: .py: Modules are a collection of functions and variables.: Packages are a collection of modules.: Module functions and variables are accessed us…
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

747 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now