12
votes

Hi I know there are a few threads on this but none of the solutions seem to work for me.

I have an ASP.Net website project which I am trying to load and publish in Visual Studio. However when I load the project I get the error:

Creation of the virtuald directory http://localhost:xxxx failed with the error: Unable to access the IIS metabase. You do not have sufficient privilege to access IIS web sites on your machine.

This error only occurs when I run Visual Studio as Administrator. If I don't run as admin then the above error does not occur but when I try to publish my app I get:

Please launch Visual Studio under administrator mode to perform this deployment action

It seems I can't win!


What I've tried so far:

  • Taking ownership of C:/Windows/System32/Inetsrv/Config
  • Setting <UseIISExpress>false</UseIISExpress> in my project_name.csproj file
  • Go back to and old team foundation server check in that didn't have the problem in admin mode and use that configuration.
  • Running Visual Studio as non-admin (works but note second error above)

None had any luck so far.


Extra Info:

Operating System: Windows 8.1 (64 bit)

Visual Studio: 2013

IIS: 8.5

Permissions on C:\Windows\System32\inetsrv\config (read only):

  1. Me: Full control
  2. Administrators: Full control

Permissions on Documents/IISExpress/config (read only):

  1. Me: Full control
  2. Administrators: Full control

Note "Documents" is on a network drive

6
Have you tried it where Documents isn't on a network drive?Tim
@Tim I wouldn't know how to set it up so it wasn't.Eduardo

6 Answers

36
votes

It turns out my Personal Folder was set to a network drive which occasionally went down causing the error described.

To change your Personal folder:

  • Open C://Windows/regedit.exe
  • Navigate to HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
  • Change the field Personal to %USERPROFILE% or %USERPROFILE%\{a folder of your choice}

This fixed the problem for me.

Note you may need to move over any files from your old Personal folder to your new one as they wont be picked up any more

3
votes

Have you tried the following fix ?

Here is the Fix that worked.

"I think we encountered a similar problem at work. For us, the solution was to go into Control Panel -> Programs and Features -> Turn Windows Features on or off... inside that, we had to select Internet Information Services -> Web Management Tools -> IIS 6 Management Compatibility -> IIS Metabse and IIS 6 configuration compatibility.

https://social.msdn.microsoft.com/Forums/en-US/1d5cb9c7-af77-4bcd-8421-e813aff88bd3/help-with-visual-studio-2012-error-unable-to-access-the-iis-metabase?forum=visualstudiogeneral

1
votes

I had the same problem after I mistakenly Cut and Pasted my Documents, Downloads and Desktop folders to my external hard drive, it changed the path of the folders to the F: drive (the external hard drive), I copied the folders back and set the path back to local.

  • Copy the items back to C:\Local Disk\Users\your_name
  • Right click on the folder (that isn't working) and click Properties e.g Documents
  • Click on the Location Tab
  • Change the location to normal e.g C:\Local Disk\Users\your_name\Documents

This is what worked for me :D

0
votes

Maybe a shot in the dark - but have you tried installing the 'IIS Management Console', 'IIS Management Scripts and Tools' and 'IIS Management Service' from Add/Remove Programs - Turn Windows Features On or Off? That may help.

0
votes

Left click on your project --> properties. Select WEB. Check the link [port] on project url. Click Create Virtual Directory. Should help.

0
votes

Step 1: Close if Visual Studio Opened.

Step 2: Open Project Folder and find ".vs" folder, it may be hidden

Step 3: Delete ".vs" folder

Step 4: Open Project Again