Website Permissions (ACL) was altered after using VS web deploy

After publishing a project using Web Deploy the yourdomain_web user account cannot write to the root directory or any files within it (except App_Data).

By default Web Deploy sets the website permissions (ACL) of the yourdomain_web user to read only. To prevent this from happening when you publish your application, you will need to locate the project file and make some changes. The project file will end with the extension .csproj (c#) or .vbproj (vb.net). In the project file find:

<propertygroup condition=" '$(Configuration)|$(Platform)' ==
'Release|AnyCPU' "></propertygroup>

and change it to:

<propertygroup condition=" '$(Configuration)|$(Platform)' ==
'Release|AnyCPU' ">
<includesetaclproviderondestination>False</includesetaclproviderondestination></propertygroup>


This will ensure that ACL is not modified by Web Deploy.

The above example assumes you only have a ‘Release|AnyCPU’ propertygroup. If you have a ‘Debug|AnyCPU’  propertygroup also, then make sure to add the <includesetaclproviderondestination> attribute there also.


If you have already used Web Deploy to publish your site, please contact support and ask them to reset your yourdomain_web user's website permissions (ACL).