Solved

dll's . re-building

Posted on 2000-04-06
13
172 Views
Last Modified: 2010-04-02
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.  
0
Comment
Question by:makerp
[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
  • 4
  • 3
  • 2
  • +4
13 Comments
 
LVL 1

Expert Comment

by:nunya
ID: 2690451
get it into the mts.
0
 
LVL 8

Expert Comment

by:drittich
ID: 2690536
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
 
LVL 2

Expert Comment

by:arikka
ID: 2690712
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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 9

Expert Comment

by:ShaunWilde
ID: 2690817
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
 
LVL 2

Expert Comment

by:kubeerja
ID: 2691348
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
 
LVL 10

Author Comment

by:makerp
ID: 2692588
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
 
LVL 10

Author Comment

by:makerp
ID: 2692699
This question has a deletion request Pending
0
 
LVL 9

Expert Comment

by:ShaunWilde
ID: 2692714
This question no longer is pending deletion
0
 
LVL 9

Expert Comment

by:ShaunWilde
ID: 2692715
>have any of you ?

yes - and that is how I got round my problem I also had to stop the web server also
0
 
LVL 1

Expert Comment

by:ajitm
ID: 2692878
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
 
LVL 2

Accepted Solution

by:
kubeerja earned 50 total points
ID: 2693368
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
 
LVL 10

Author Comment

by:makerp
ID: 2693448
nice one

thanx

0
 
LVL 9

Expert Comment

by:ShaunWilde
ID: 2693566
so which one was it? the IIS or the interdev that was causing the problem ?
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Unlike C#, C++ doesn't have native support for sealing classes (so they cannot be sub-classed). At the cost of a virtual base class pointer it is possible to implement a pseudo sealing mechanism The trick is to virtually inherit from a base class…
Many modern programming languages support the concept of a property -- a class member that combines characteristics of both a data member and a method.  These are sometimes called "smart fields" because you can add logic that is applied automaticall…
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

690 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