I just installed IIS on Windows XP.
When I try to execute an app, I get an error:
Access to the path 'c:\inetpub\wwwroot\myapp\App_Data' is denied. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.UnauthorizedAccessException: Access to the path 'c:\inetpub\wwwroot\myapp\App_Data' is denied.
ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6) that is used if the application is not impersonating. If the application is impersonating via , the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.
To grant ASP.NET access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.
Source Error:
Line 70: Protected Sub cmbSettingFiles_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbSettingFiles.SelectedIndexChanged
Line 71: Dim doc As XmlDocument = New XmlDocument()
Line 72: doc.Load(Path.Combine(basePath, cmbSettingFiles.SelectedValue)) Line 74: Dim settingsNode As XmlNode = doc.SelectSingleNode("/settings")Source File: C:\myapp\install\install.aspx.vb Line: 72
I have tried grating permission by doing this:
To grant ASP.NET access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.
But the error persists.
Does this have anything to do with my code?
How can I resolve this?
EDIT
I have solved the problem on my dev machine, but I am still getting the error on my web server.
Thanks.
Inetpub is a folder which consists of five subfolders and is categorized as a default folder for Microsoft Internet Information Information Services (IIS). You can locate Inetpub folder in the C drive that is also known as C:\\inetpub. Note that all web apps and content will be stored in this folder.
The \inetpub\wwwroot subfolder of the inetpub folder contains all the web pages and content that will be published on the web. It is the default directory for publishing web pages.
If you're getting this error, you're probably trying to write to wwwroot
. By default this is not allowed, for good reason.
Instead, consider storing your files somewhere besides wwwroot
. If you just need to serve the files, store them in a folder outside of inetpub
and use a virtual directory to make them visible to IIS.
Original answer:
For those running IIS on Windows Server:
By default, the IIS user does not have write permissions for the wwwroot
folder. This can be solved by granting full permissions to the IIS_IUSRS
user for wwwroot
.
C:/inetpub/
IIS_IUSRS ([server name]\IIS_IUSRS)
.Try to go to App_Data folder property and add ASPNET user with read and write privileges
Ref:
How to assign correct permissions to App_Data folder of WebMail Pro ASP.NET
Permissions on APP_DATA Folder
ASP/ASP.NET Best way to handle write permissions?
If it does not solve your problem then check whether your XML files are not open by another thread using these configuration files.. and provide some more details if still persists.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With