Windows 7 - turn on IIS - failing - asp.net

I have been trying for a day now to enable various IIS services on a laptop.
Using Control Panel, Programs and Features, Turn Windows Features On and Off.
The key feature I am trying to enable is ASP.NET.
I get a stupid error message that gives no clue (An error has occurred. Not all of the features were successfully changed.), but the event log shows a whole string of errors, starting as below.
Unable to install counter strings because the
SYSTEM\CurrentControlSet\Services\ASP.NET_64_2.0.50727\Performance key
could not be opened or accessed. The first DWORD in the Data section
contains the Win32 error code. 020000000E0E0000
Installing the performance counter strings for service
ASP.NET_64_2.0.50727 (ASP.NET_64_2.0.50727) failed. The first DWORD in
the Data section contains the error code. 02000000C9120000
I have searched the net, and tried various remedies, all with no success.
These threads discuss the same topic, without solving it:
http://social.technet.microsoft.com/Forums/windows/en-US/d711ecd1-620c-473c-af39-e607bbe2ec18/turn-windows-features-on-or-off-application-development-features?forum=w7itproinstall
http://blogs.msdn.com/b/tom/archive/2008/04/11/asp-net-performance-counters-missing.aspx
I tried uninstalling all versions of ASP.NET using aspnet_regiis.exe -Ua on each and every version on Framework and Framework64, then adding them back. None of this has made any difference whatsoever.
Any ideas?

I had this problem too. I had 2 errors logged in the Windows Application Event Log:
Unable to install counter strings because the SYSTEM\CurrentControlSet\Services\ASP.NET_64\Performance key could not be opened or accessed
Installing the performance counter strings for service ASP.NET_64 (ASP.NET_64) failed. The first DWORD in the Data section contains the error code.
Note that these msgs are similar, but not the same as the original poster, probably due to different versions and time moving on. I'm on Windows 7 64-bit, with various .NET Frameworks installed, at least 3.5 and 4.x, plus some remnants at least of 2.x. I have Visual Studio 2010 Pro installed, and just installed VS 2013 Community this morning. I already had IIS installed, and I think it was installed before any VS versions. This is the first time I explicitly tried to enable ASP.NET under IIS on this machine.
If you look in the registry, it's true, this key does not exist: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ASP.NET_64
I narrowed down the problem to the .NET Extensibility feature, on which the ASP.NET feature depends and automatically checks/enables (not that this helped me).
I followed the other answer in this thread: "Control Panel > Programs > Turn Windows features on or off, and switched off Internet Information Services (which will turn off all the subfeatures), then clicked OK. [Reboot as prompted.] Then I went back to the Control Panel and turned on all the IIS services I needed and the error did not resurface."
HOWEVER, be sure to enable the ASP.NET feature (which auto-checks/enables related dependent features such as the problematic .NET Extensibility feature) at the time you are re-enabling IIS. If you do it at the same time, the registry key is successfully re-added, if not then not. Doing it piecemeal didn't work for me and just resulted in the same error message. A reboot was not required for the enabling (just the disabling), but I have found that changes over time.
Note that there are other problems out there that generate errors when this feature is added to IIS. Apparently if IIS is installed before ASP.NET then the solution is the register ASP.NET with IIS. There are MS pages around that tell you how. (e.g. http://blogs.msdn.com/b/tom/archive/2008/04/11/asp-net-performance-counters-missing.aspx) Use the link to the ASP.NET IIS Registration Tool to fix that problem (although this disable and re-enable of IIS may also work).
I went through these other fixes and they didn't help me. At least one generated an error, but again probably because I had that ASP.NET_64 registry key missing. The standard Windows Fix tool didn't do anything for me either. Updating my .NET Framework to the latest (there happened to be an update to 4.5.2 or something similar) didn't help either.
My guess, in hindsight, is that maybe VS 2010 is too old, and is 32-bit on my 64-bit OS, and it resulted in problems with my registry keys. Maybe. I'm just guessing.
(I would have simply commented on the other answer/solution, but apparently I don't have sufficient points - this would seem to be a flaw in that design.)

I was having the same issue with Windows 7 Enterprise but this worked for me:
Control Panel > Programs > Turn Windows features on or off, and switched off Internet Information Services (which will turn off all the subfeatures), then clicked OK. Then I went back to the Control Panel and turned on all the IIS services I needed and the error did not resurface.

Related

Developing .Net with Visual Studio 2015, after installing the Windows 10 update, aspx pages are blank

A forced Windows 10 update installed successfully. The update history shows "2017-07 Cumulative Update for Windows 10 Version 1703 for x64-based Systems (KB4025342)" among a total of 45 other updates installed on 7/29/2017.
After updating and attempting to launch my project in the debugger, which has always worked before:
I now get a blank page for every URL. I'm debugging in IIS Express on localhost. View Source yields an absolutely blank page also (this is definitely not the IIS file association problem that I've seen documented).
I did absolutely nothing else (to cause this) besides install Windows 10 (and I wouldn't have if MS didn't force me to). After this I did a clean/rebuild completely from scratch, I then removed the Bin folder, re-installed all the NuGet packages, still exactly the same result, F5 launches the web application in debug mode and launches the page as usual but it is completely blank. It does not execute any code, Page_Load is not called.
Visual Studio 2017 made no difference
I switched to IIS and got a 500.19 error with 0x80020021 error code which this page 500.19 error with IIS7.5 addresses, after unlocking the two subsections of system.web.server that were locked (why were they locked?)
it now returns 404.3 Not Found, with:
-- It is possible that a handler mapping is missing. By default, the static file handler processes all content. (well, not .aspx pages!)
-- The feature you are trying to use may not be installed. (somehow maybe this is true, but how?)
-- The appropriate MIME map is not enabled for the Web site or application.
(Warning: Do not create a MIME map for content that users should not download, such as .ASPX pages or .config files.) (right... there should not be a MIME map entry for .ASPX)
-- If ASP.NET is not installed. (how could this be?)
ASP.NET installation -- it is built in to Windows 10, I installed the .NET developer packs and tried 4.5.2, 4.6.1 and 4.7, No change.
In summary: nothing has helped. With IIS Express, or IIS, same problem. All .aspx urls return a completely blank page and no code in the code-behind .cs files gets executed. Fiddler says 503 (but 503 is not shown in the browser, either Edge or Chrome).
Latest unsuccessful effort: I went back to the previous build (rolled back the latest Windows update) by selecting "Go back to an earlier build" from "Update Settings/Windows Update/Update History" and I still have the problem. So, either I'm really stuck now, or I've opened up a lot of possibilities based on a wrong assumption that it was the update that caused the problem. Something is corrupt? Something changed in my project that I'm not aware of? Corrupt: I ran the system file scanner, sfc /scannow and it found no problems. Back to the drawing board...
Success!... OK, so the problem wasn't just Windows 10 Update directly breaking something which I wondered how that was possible, but it sure seemed like it.
I have now rebuilt my solution from scratch, creating a new web site project in VS and pouring the minimum number of files in first, basically Login and some utilities, enough to build and test and see that it worked. Then in about 3 doses I added everything else and it kept on working. I also reloaded all the Nuget packages, and switched from .NET 4.5.2 to .NET 4.6.1. (so I broke the rule of only 1 change). I did a full compare with Beyond Compare and the only differences are some obsolete page files that I just left out of the new one, and the binaries and the different build target (.NET 4.6.1).
Could the Windows update have broken/corrupted a binary? It force rebooted my system which I can't stand. Who knows... maybe, it was quite a coincidence. Oh well.

How can I debug an Web (ExtJS) .Net application

I have inherited an ExtJS project that uses ASP.NET Web Handlers (ashx files) to access a database.
I'm trying to debug the connection to the database which is in the C# portion of the code.
I've tried adding a break point just before the connection to my database is made, but I can't seem to get the application to stop there. They only briefly turn white during debug-execution. Hovering the mouse over the breakpoint when it's in that state shows:
The breakpoint will not currently be hit. No symbols have been loaded for this document.
I've been all over this question, with no better results
In the modules window, the Symbol Status of the DLL does indeed show Symbols Loaded.
The dll/pdb both seem to be copied over to C:\Users\myid\AppData\LocalTempTemporary ASP.Net Files\etc.
(this seems odd, because I would expect it to attach to the .dll in my work folder) Is there a way to tell the debugger to look there instead?
There of course is no exe since this is a web app.
I've:
tried cleaning the solution and rebuilding fresh including a fresh pull from the repository.
verified the build has the "Define Debug Constant" and "Define Trace Constant" are checked
deleted the contents of Temporary ASP.NET
checked the the project was set as Debug
checked that "Just My Code" was disabled in Debug / General
restarted the workstation completely
checked that the Solution has the right project starting (there's only one in it)
checked I'm building in debug (not release)
made small changes to the code to force a recompile
checked that "Automatically determine the type of code to debug " is selected in Attach to Process
run as administrator
checked Optimize Code is not turned on in the project properties
checked that "Use Managed Compatibility Mode" is turned off
There is no aspx involved so the CodeBehind/CodeFile issue is moot.
Beyond that, that answers are very much repetitive or I tried something at random and it worked.
What have I missed? Is there something basic that you are supposed to do with the project so it will let you debug the DLL that perhaps the original developer didn't do (no they aren't available to me)?
Problem resolved...
Ultimately there were two issues.
Originally, the DLL had been compiled as 32bit DLL which didn't play nice with the database (Oracle 64bit). Switching the platform target should have resolved the issue except, IE's cache of the web page hid the fact that I was now getting a classic "Could not load file or assembly xxx or one of its dependencies." error. [incidentally, I've now sett he cache to clear on exit]
This error was caused by IIS Express running in the 32 bit version instead of the 64 bit version. Which means the DLL never really run, and explains the "No symbols have been loaded for this document." warning.
That was then resolved by going to Tools -> Options -> Projects and Solutions -> Web Projects and turning on Make sure that Use the 64 bit version of IIS Express for web sites and projects.
Clean and rebuild, and everything works tickety-boo

Some performance counters shows wrong values after installing .net 4.5

after installing .NET 4.5 on a Windows Web Server 2008 R2, some performance counters shows the wrong values. I'm using the built in Performance Monitor and looking at the group
ASP.NET Apps v4.0.30319 for counters Anonymous Requests/Sec and Requests Executing.
Before those values reflected the current load with fluctuating values, but now they instead increases for each request, so they behave more like Total Requests and Total Requests Executing.
We have seen the same behavior in a production environment and also on internal servers.
Have any of you seen the same behavior, I can find anything when googling for it.
Regards
Patrik
Fix for this issue is available now. http://support.microsoft.com/kb/2805227 for windows8 and http://support.microsoft.com/kb/2805226 for windows 7 platform.
So below workaround is no longer required.
The workaround for this issue is to execute below commands from 4.5 installed directory, (e.g. “%systemroot%\Microsoft.Net\Framework64\v4.0.30319”)
aspnet_regiis -u
aspnet_regiis -I or aspnet_regiis -iru
One thing that comes to mind is permissions on this registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\version of ASP.NET\Names
I'd start off by checking those and ensuring they're correct. If you have multiple versions you can even cross-check/compare the settings (ie if 2.0 still works fine)..

w3wp crashes when starting debug in VS 2005

I know there were a couple similar questions, but none solved my problem.
This issue just started within the last couple of days. I don't always hit VS everyday, so I can't say for sure when it began.
When I start debugging, the app loads in IE, but the w3wp process dies with the message
"The program '[9252] w3wp.exe:
Managed' has exited with code 0
(0x0)."
I'm running Vista and debugging on IIS 7 (local machine). VS 2005. This is not a new environment. Everything had worked for months before this issue began.
I've Googled and found a number of solutions. I tried messing with the Process Model settings in the app pool. I tried changing the app pool. I've dug through all the settings of VS I could find that seemed applicable. I am running as administrator. Also, I run VS 2008 as well, and that is working fine.
Update: I tested another app and also had a problem. Though that app was configured to debug on the native VS web server (I forget what it's called off the top of my head), so the error is
The program [7192]
'WebDev.WebServer.EXE: Managed' has
exited with code 0 (0x0).
After about 8 hours of wasted time, I can answer my own question. It's an issue with VS2005/IE8. They, for whatever reason, do not play nice together. I uninstalled IE8 and everything is working fine.
I know Microsoft is a big company, but some interdepartmental communication and testing would be awesome.
I was having this same problem.
According to this Microsoft list of Visual Studio 2005 issues on Microsoft Vista, there are two requirements to fix this issue:
Start Visual Studio with Elevated Administrator Permissions
Make sure that the IIS 6 Compatibility Layer for IIS 7 is installed
The IIS 6 Compatibility components can be added by going to the Control Panel, selecting Programs and Features, and clicking Turn Windows features on or off. Make sure to check the IIS 6 Management Compatibility components under Internet Information Services.
Once I installed these components and rebooted I was able to debug.
EDIT: I still find that the process dies on my from time to time if I have other Internet Explorer browser windows open. Therefore, I have to make sure that the only Internet Explorer window that is open is the one that is debugging my Visual Studio 2005 code. I use FireFox to browse the web in parrallel if I need to.
This can happen if a stack overflow (no pun intended) occurs in your application. Stack overflows are usually caused by infinite recursion in your code.
I had the same problem since an update from latest weeks.
But solved by simply open the develompment tools and set the browser mode to ie7.
I get this if I have an existing IE window open when I start the debugger. Make sure you close all existing IE windows.
Using IE1 and VS 2003 (!) on Win 7 Enterprise N, I found that having additional IEs running made debugging impossible, but when starting the debug session after losing all IE windows worked.
Cost a lot of time and frustration.
I solved the issue on mine, by doing the following:
Go to IIS.
Go to Application Pools.
Click Advanced Settings on the relevant App Pool.
Find the key "Ide Time-out Action" and increase the value to something you think is right for you.

DotNetNuke 3.0.x on SQLServer 2005/Net 2.0.Win2003 - possible?

I've promised to take a look at an old DotNetNuke installation for a client with the intention of making a few, hopefully minor, changes. The installation is rather old - I believe version 3.0.013 - and the production copy is running against SQL Server 2000, Windows 2003 and .Net 1.1.
As the production server is live and significantly used we need a development installation first. I have attempted to install a copy on my local server - Windows 2003, SQL Server 2005, .Net 2.0, and although with a few tweaks I can successfully get it to display the site, I cannot login, or even access the login module (ie just putting in blank username and password attempting to generate a 'must enter username' type error) without getting the error 'Object reference not set to an instance of an object'
I've spent some time trying to get around this error, without success, although I am hampered by not having used this package before.
So my questions are
Has anyone managed to run DotNetNuke 3.0.x with this configuration (or do I need to setup a box with SQL 2000 and .Net 1.0 to get it to run)?
Any suggestions where I should start looking for this error, or has anyone come across anything similar before?
EDIT: Eventually chickened out and installed in on an old webserver with Win2003/SQL 2000/Net 1.1 and it went in fine on an identical install. So I guess the answer is no, it doesn't work straight out of the box.
My feeling is that you shouldn't have any trouble running in the above mentioned environment. But taking a closer look at the error itself will help us to prove that.
If the error is occurring only when you navigate to the Login module, it may be an issue loading the authentication provider. The best way to find out is to look in the DNN Event Log and take a look at the full error message.
Because you can't login to access the Event Log, you should probably just take a look at the row created in the database when you receive the error. The table is called EventLog and there may be a little bit of friction in parsing the error message out, as all of the details are stored in the database in an XML format.
In general, when moving a site from one environment to another there are only a couple of things that you'd need to do:
make sure you can connect to the database
set the file system permissions
It sounds like you already have database connectivity because you can load the site.
However, you may want to double check (just re-apply) the file system permissions for the root of the website on the machine in question. Make sure the identity of the website (typically ASP.NET Machine Account or Network Service) has 'Modify' permissions on the root website directory. Perhaps the web site can't load a particular assembly due to lack of permissions.

Resources