Microsoft Knowledge Base Email Alertz

.NET Runtime Optimization Service event 1101 Errors after Domain Controller Promotion

Search KbAlertz

Advanced Search

Receive Microsoft Knowledge Base articles by E-Mail?

Every night we scan the Microsoft Knowledge Base. If technologies you're interested in are updated, we'll send you an e-mail. You only get one e-mail a day, and only when new articles are added.

Click here to create a
FREE account
Already have an account?
[Click here to Login]











Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks

Article ID: 200260 - Last Review: May 2, 2006 - Revision: 4.0

PRB: Permission Denied Error When Attempting to Recompile an ASP DLL

This article was previously published under Q200260

On This Page

SYMPTOMS

When attempting to recompile a custom-built ActiveX dynamic link library (DLL) on a Windows 95 or Windows 98 computer that is running Microsoft Personal Web Server (PWS) 4.0, you may get an error message similar to the following:
Permission denied: '<FilePath>'
Where <FilePath> is the path to the Active Server Page (ASP) DLL.

You may see an error message similar to the following if you attempt to rename the DLL in Windows Explorer:
Cannot rename <FileName>: Access is denied.

Make sure the disk is not full or write-protected
and that the file is not currently in use.
Where <FileName> is the filename of the DLL.

You may see an error message similar to the following if you attempt to delete the DLL in Windows Explorer:
Cannot delete <FileName>: Access is denied

Make sure the disk is not full or write-protected
and that the file is not currently in use.

CAUSE

When an ASP instantiates a custom-built ActiveX DLL using
Server.CreateObject("ActiveX.Class")
the DLL gets instantiated within the Web services process, in this case, PWS. PWS does not release the DLL once the DLL is instantiated.

RESOLUTION

Stopping and restarting PWS from the SysTray icon does not release the lock on the ActiveX DLL that is instantiated by an Active Server Page (ASP).

In order to release the lock on a DLL, PWS must be manually stopped using the command prompt. By default, Pws.exe resides in the folder C:\Windows\System\Inetsrv. To stop PWS, type the following command:
windows\system\inetsrv\pws.exe /stop
You can then restart PWS manually restarted from the Command Prompt by using the following command:
windows\system\inetsrv\pws.exe /start
Once PWS is stopped, this will release the ActiveX DLL. Recompile the DLL, if necessary. Once PWS restarts, it will again lock the DLL when it gets instantiated by an ASP.

Another Resolution

At the run line, type: net stop iisadmin /y and then press Enter. This will stop all services while running the make on the DLL.

After the make DLL is complete, type: net start w3svc from the run line. Your services will be up again.

STATUS

This behavior is by design.

REFERENCES

For the latest Microsoft Knowledge Base articles and other support information on Microsoft Visual InterDev and Active Server Pages, see the following Web page on the Microsoft Technical Support site:
http://support.microsoft.com/search/default.aspx?qu=vinterdev (http://support.microsoft.com/search/default.aspx?qu=vinterdev)

APPLIES TO
  • Microsoft Active Server Pages 4.0
Keywords: 
kberrmsg kbprb kbsecurity KB200260
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
       

Community Feedback System

Very often, it takes hours to solve a problem. Very often, you've looked high and low, and have tried a lot of solutions. When you finally found it, chances are, it was because someone else helped you. Here's your chance to give back. Use our community feedback tool to let others know what worked for you and what didn't.

Please also understand that the community feedback system is not warranted to be correct, it's simply a system that we've built to let people try and help each other. If something in a feedback response doesn't make sense to you, or you're not comfortable making changes that the feedback talks about (like registry edits), please consult a professional.

Thank you for using kbAlertz.com Feedback System.

-- Scott Cate