I just moved a Visual Studio solution containing a Web Application project from a Windows 7 based dev box to a Windows 8 based dev box, and in line with recommended security guidelines, I try to avoid running Visual Studio (2012 in this case) as an admin. However, in this case, the solution is to run VS as an administrator. Sigh… I do Wonder though as to why VS would need admin access to IIS. I’m sure there is a plausible explanation, but I just don’t see it.
I read Scott Guthries blog post today, http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx, and it seems MS have been listening to us developers. 🙂
————————- UPDATE ————————
Download from here, http://www.microsoft.com/download/en/details.aspx?id=1038
By default, Visual Studio and Visual Web Developer Express, randomly or dynamically assigns a TCP port to a new Web Site or Web Application when you create them. This is just fine when you’re testing functionality, but not so when you need to test access etc. after moving it to IIS. Now, here is how you change it:
Web Site Project (WSP)
- Right-click the Web site in Solution Explorer.
- Press F4 to open the Properties window, if not already open.
- In the Properties window, click False in the Use dynamic ports list.
- In the Port number box, type the desired port number.
Web Application project (WAP)
- Right-click the project in Solution Explorer, and then click Properties.
- In the Properties dialog box, click the Web tab.
- On the Web tab, click the Specific port option, and type the port number in the box next to the Specific port option.
- Close the Options dialog box.
Isn’t the IIS 7.5 Application Warm-Up Module what many Web administrators and developers have been looking for, instead of manually creating and using scripts etc. ? I’m loving it!
I see a lot of posts in ASP.NET forums about permissions, and many of these are related to the identity of the application, specifically when the Web application disallows anonymous authentication and doesn’t use impersonation. Here is how you can check your settings:
- Click Start, point to All Programs, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.
- In Internet Information Services (IIS) Manager, in the Connections pane of the left, expand the server on which you opened IIS, expand Sites, and then click the site for which you want to see the application pool used.
- In the Actions pane, which is by default located on the right side, under Edit Site, click Basic Settings.
- In the Edit Site dialog box, the name of the application pool is shown in the Application poolbox.
- Click the ellipsis (…) button next to the Application pool box, if you want to select a new application pool.
- Click Cancel to close the the Edit Site dialog box.
- In the Connections pane, click Application Pools.
- In the Application Pools pane in the middle, in the list, locate and click the application pool in question.
- In the list, notice the Identitycolumn, which tells you exactly which identity or account is being used for running the application pool.
- If you want to select a new identity, right-click the application pool, and then click Advanced Settings.
- In the Advanced Settings dialog box, under Process Model, click the box next to Identity, and then click the ellipsis (…) button.
- In the Application Pool Identity dialog box, click a new identity in the Built-in account list, or set a custom one by clicking the Custom account option, and then click Set.
- Close the dialog box(es).
- When done, close Internet Information Services (IIS) Manager.