azurevirtual-machineonedriveiis-expressazure-devtest-labs

IISExpress - redirection.config cannot read configuration file due to insufficient permissions


I have a virtual machine created from the Azure DevTest Lab environment. I CYOD this virtual machine, so I have onedrive business and all security restrictions of company.

I just tested all the solutions of lack of permission on the IISExpress folder and his items but nothing worked.

I notice that all files under Documents are owned to the company "File Owenership" column and no way to change ownership to personal

enter image description here

The problem is with the CYOD and onedrive. File ownership is restricting this operation but I don't know how I can change that.

enter image description here

Diagnose with Process Monitor:

enter image description here

This process is denied. Entering in the event properties in the tab of "Process" the user has full control on the entire Documents folder, so I don't know how is denied this access. --> Update: file ownership is restricting the access.

enter image description here

Changing location of IISExpress

Very good answer if someone will change the IISExpress location: How do I prevent IISExpress & My Web Sites folders from cluttering up my My Documents folder?


Solution

  • @matty-j answer fixed mines: How do I prevent IISExpress & My Web Sites folders from cluttering up my My Documents folder?

    Anyway, VS2017 installs IIS Express, which is what is causing these folders to be created. I have found two solutions for dealing with the unwanted folders.

    1. Uninstall IIS Express. You can do this from the normal Windows 'Uninstall a Program' part of Control Panel.

    2. Change the folder location that IIS Express uses, as follows. Be warned: anyone doing this risks causing problems with their computer if you don't know what you are doing, so you do so at your own risk. Please make appropriate backups along the way as well too!

      a) Close Visual Studio.

      b) Create a new folder fo r the IIS Express sub-folders:

      eg. D:\My Documents\Data\Microsoft\IISExpress

      c) Move the existing unwanted IISExpress subfolders (config, Logs, TraceLogFiles) from your My Documents > IISExpress folder to the folder created in step b).

      d) Create a new folder for the My Web Sites folder, I suggest also under the folder created in step b).

      eg. D:\My Documents\Data\Microsoft\IISExpress\Websites

      Under this folder, create a website for the default IIS Express website (in case it "auto-magically" reappears it's ugly head again later on).

      eg. D:\My Documents\Data\Microsoft\IISExpress\Websites\Default

      e) Go to the newly located config folder at:

      eg. D:\My Documents\Data\Microsoft\IISExpress\config, and:

      i. Open the file applicationhost.config in your text editor (eg. Notepad).

      ii. Find the node sites > site > application path > virtualDirectory path for WebSite1, and change the physicalPath value from %IIS_SITES_HOME%\WebSite1 to the IIS Express default website folder you created in step d).

      Eg. %IIS_SITES_HOME%\Websites\Default.

      Note that %IIS_SITES_HOME% points to your 'Documents' folder (this appears to be a "feature" of IIS Express, I can't find a way to change it, and it appears to be auto-configured when IIS Express starts up, which it does by using the applicationhost.config file).

      Do the same for any other sites created by IIS Express.

      f) Create a new registry entry pointing IIS Express to the new folders you created (partly explained by MS here: http://www.iis.net/learn/extensions/introduction-to-iis-express/iis-80-express-readme). FYI the registry key doesn't previously exist, as IIS Express uses a default of my Documents unless this key exists:

      i. Open the Windows 'Run' box, eg. (Windows Key) + R

      ii. Type regedit

      iii. Navigate to key: HKEY_CURRENT_USER\Software\Microsoft

      iv. Right click the Microsoft key (that you have just navigated to), and choose: New > Key

      v. Type IISExpress

      vi. Right click the IISExpress key that you have just created, and choose: New > String Value

      vii. Type CustomUserHome, and hit the Enter key to save it.

      viii. Double-click the CustomUserHome string to enter a value for it, and for the Value Data: field, type in the path to the new IIS Express folder you created in step b), for example: D:\My Documents\Data\Microsoft\IISExpress. Press OK, and you can now close the Registry Editor.

      g) Reopen Visual Studio, and it should start using the new folders, as well as not create the folders in your Documents folder anymore. Yay!!!!!