Solved

Register a DLL on the IIS

Posted on 1998-10-15
12
287 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
How our DevOps Teams Maximize Uptime

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us. Read the use case whitepaper.

 

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
 
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

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

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

Making a simple AJAX shopping cart Couple years ago I made my first shopping cart, I used iframe and JavaScript, it was very good at that time, there were no sessions or AJAX, I used cookies on clients machine. Today we have more advanced techno…
Batch, VBS, and scripts in general are incredibly useful for repetitive tasks.  Some tasks can take a while to complete and it can be annoying to check back only to discover that your script finished 5 minutes ago.  Some scripts may complete nearly …
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

791 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