dll's . re-building

im writting a server component using the atl etc.

no problem.

i compile and build the dll, fine, i then use it in my asp page , fine again.

its when i go back to vc++ and make a change and re-build. i get an error :

cannt open name.dll for writting.

now this is proably becasuse the web server still has it loaded. ive tried stopping iis etc. it make no difference

how do you get round this prob.  
LVL 10
makerpAsked:
Who is Participating?
 
kubeerjaCommented:
if you are using NT you have to close IIS from the services in the control panel and stop IIS Admin Service. if you are calling the component from ASP and interdev is runung , then you have to close the ASP pages that call the component in interdev because sometimes interdev keeps an insntance of that component.
0
 
nunyaCommented:
get it into the mts.
0
 
drittichCommented:
I am not sure if this would do it, but try unregistering the DLL:

C:\REGSVR32 PathToDLL\filename.dll /u

copying the new DLL in place,

and then re-registering

C:\REGSVR32 PathToDLL\filename.dll.

Another thing you could do which is more of a hack is to give the DLL a new name each time and register it as a new component.  This means modifying your ASP codew each time.  This is a last resort of course.  

0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
arikkaCommented:
To stop IIS issue this command:
net stop iisadmin /y
To start Web Publishing Service again, use: net start w3svc.
What SP are you using..?

0
 
ShaunWildeCommented:
arikka is right you have stop the IIS service and restart it again - it is a pain.

A better way would be to test your dll in a harness app and then when you are happy you can use it from IIS - this will at least reduce the hassle of having to up and sown the server
0
 
kubeerjaCommented:
Use MTS (Microsoft Transaction Server)and register your component with it. Then you will be able to shut down the package (unload your dll) any time.

This is the best way.
0
 
makerpAuthor Commented:
stopping iis makes no difference. once the component has been used once i get this error in VC++ when ever i try to re-build the .dll  .

i think i need to re-do the question and get some feddback from some people who have developed asp componenets in VC++.

have any of you ?
0
 
makerpAuthor Commented:
This question has a deletion request Pending
0
 
ShaunWildeCommented:
This question no longer is pending deletion
0
 
ShaunWildeCommented:
>have any of you ?

yes - and that is how I got round my problem I also had to stop the web server also
0
 
ajitmCommented:
u go to task manager and go to process tab and then find inetinfo.exe .End task wherever you find inetinfo.exe .
actually thing is even if u stop iis at times some inetinfo.exe is running which is still using that dll
hope this will help.
0
 
makerpAuthor Commented:
nice one

thanx

0
 
ShaunWildeCommented:
so which one was it? the IIS or the interdev that was causing the problem ?
0
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.

All Courses

From novice to tech pro — start learning today.