Will running aspnet_regiis.exe -ir create any problems? - asp.net

I've asked a question about changing the version of .Net sites in the IIS. If it affects classic asp sites etc (See Does asp.net setting affect classic asp (IIS 6 settings))
And that seems fine. So my follow-up question is, will running this command get me fired? What it does is changing the default value (and all existing?) of the .net version to 2.0.
This wont affect any of the .net sites since they're allready versioned to 2.0.
The classic asp pages needs to get its app pools updated so its functionoal with 2.0 but may I run into any other troubles?
I've tried doing this on a test environment and no sites whet down during the installation period (from the command) but I did not have any classic asp sites or any .net sites running though (which I should test, come to think about it) but may something else break?
Is this command doing anything else? We have some very large sites running and we cannot have downtime periods so I need to be 100% sure that this command is safe. Since all sites go down everytime we change a new sites .net version number we need to get this fix live asap.
Any good ideas?

This should not cause any side affect as it relates to what the IIS does with .NET pages (e.g. aspx extensions).
Since the classic asp pages are not handled by the .NET extensions in the IIS I can see no reason to worry.
EDIT:
According to MSDN you can use an option
-norestart - inhibits the restart of the World Wide Web Publishing Service after installing or updating ASP.NET script maps. If you do not use this option, all application pools are recycled.
so you can see from that application pools will be recycled.

long time since I asked, but Dror, thanks for your edit. I'll be sure to try it.
I actually found a solution to this problem some months ago.
You can export a sites configuration, and you get a XML file, edit this file and set the site name etc to something (like dev1). Then you import this and you got yourself a new site with .net pre-configured. Just make sure you change the name and other things that cannot be the same as another site (like host things, cant remember exactly what parameters there were) because that would cause a problem I guess.
Happy iising

Related

Classic ASP, IIS8 & VB6

I was hoping to get some people's expertise as I'm currently outside my main domain. I'm currently working for a client that has an old system written in VB6 COM Objects. They use these to do basic Database interaction. These COM Objects are used in a Classic ASP website.
I've been tasked with getting the site up, running and in a build-able environment (Windows 8.1 is what they want to use).
I've been working through all the blockers associated with this and I believe I have it in a running state (as in I've configured IIS and been able to run the website, log in and click around and so far nothing has crashed).
I can make changes to the code in Visual Studio 6 Enterprise and those changes are working so I'm confident I've got that about 90% of the way there.
I've now got 2 problems both somewhat related:
Problem 1:
Problem 1 is now debugging, both the ASP & the VB code.
I can put a break point in the VB code and 'Step-Into' it (to attach) and then run the site and the code that runs in the global.asa file gets run and hits that breakpoint no worries, can step through as I would expect.
The problem then comes when I go to 'login' to the system. I use the same user/password that works if I'm not 'attached' the system crashes with a "An unhandled exception ('Error in loading DLL') occurred in w3wp.exe [3284]." - If i try to load up a debugger from this Visual Studio 6 is not an option in the list. If I then detach and I can do everything as before.
Does anyone know what could be causing this? Or have another way to be able to debug/step through this?
Problem 2:
They had previously been 'running' the website through Visual InterDev 6.0 - they could add breakpoints to the Classic ASP code and be able to step through then into the VB components.
The problem is that although I can install InterDev on my machine, I can't actually set it up. It appears to need FrontPage Server Extensions which although they can be 'installed' on IIS 8.5 they don't seem to be officially supported by Microsoft. So I've managed to install it without any issues but it doesn't seem to be configured in the same way that InterDev needs it to be able to setup a solution file/run from it.
My Question is this: Has anyone been able to configure FrontPage Server Extensions in a way that InterDev works?
OR is there any other tools I could use to 'run' a Classic ASP site that would allow me to debug it properly.
Let me know if you need any more information.
Thanks in Advance,
Michael
I think you actually don´t need Interdev in order to debug the classic ASP code. Just create a blank solution in Visual Studio and add all the classic ASP files from the virtual directory (editor and debugging capabilities for classic ASP files are still supported, even in the latest version of Visual Studio).
I assume you run the web application in your local IIS... once you have the solution, open the script of interest, put some breakpoints and than attach the Visual Studio debugger to the web server´s worker process (which should be w3wp.exe). Maybe you need to manually select the Script code type (automatic code type detection might not work).

run classic asp without iis

I need to get a classic asp project up and running but do not have IIS installed on my computer. Is there away to run the project without it? I currently have visual studio 2005
thanks
jason
There is something called Abyss Web Server - I've never used it myself so can't vouch for it but from its description and features it looks promising.
If money is the issue, Microsoft came up with IIS Express some while ago which is free to download and use and from this question looks like it's supporting classic ASP as well.
I have no idea whether you can even get hold of this software anymore but Sun used to maintain a project called Sun One Active Server Pages (aka ChilliSoft ASP) which allowed you to run ASP sites without IIS
There may be some weird and wacky solutions (like a "compiler" to ASP.NET etc) out there, however I really doubt any such thing would be worth it.
I would make more sense to pursue the answer to this question: "Why don't you install IIS on your machine?".
godaddy.
$5/month until you cancel it.
instant gratification
call them now, and then start building your asp app a few hours later.
why hassle with the path you are inclining towards?

Script not served by static file handler on IIS7.5

I've just tried to deploy my first web application to IIS on my Windows 7 Home Premium notebook. After creating the application, I had to change to the Classic App Pool, then set that pool for framework 4.0. Now I get the following error:
HTTP Error 404.17 - Not Found The requested content appears to be
script and will not be served by the static file handler.
The requested URL is http://localhost:80/pvmms/default.aspx
I'm afraid extensive Googling has yielded nothing clear or definite enough for me to work with and as usual I've turned to the experts.
EDIT:
I suspect this is because there are no framework 4.0 handler mappings for .aspx files. However, aspnet_regiis even gives my admin user the finger and says I need admin rights to run it.
EDIT #2:
I registered all the frameworks (2 & 4, 32 and 64) and all now works. I found this by manually adding a script map for .aspx to aspnet_isapi and voila. I don't understand why the installation of the framework doesn't do this, unless my memory fails me and I only enabled IIS after installing VS.
Maybe too late now, but more often than not you need to run
aspnet_regiis.exe -i
after installing asp.net. Maybe I would do it anyway now.
In addition to above, if you need WCF support, you might need to run this:
c:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe -i
Replace v3.0 to whatever your current framework version is.
I encountered this error from IIS 8.5 when trying to access a WCF service I had written. Turns out the server didn't have the WCF HTTP Activation features turned on. Checked the boxes and clicked through the wizard, iisreset, started working.
If you are using iis 7.5.
Just go to IIS Manager, open your website properties.
You will see 'Handler Mappings' section there, just go to that section and Search for 'staticFile'.
Most probably its a last file in the list.
Then Right Click on it and Select 'Revert To Parent'.
I have wasted so many hours while i have faced this first time, anyways this will solve your problem.
I had this issue with Windows Server 2012 with ASP .NET 4.5 you can't use aspnet_regiis.exe, and just have to install ASP .NET 4.5 via the Add Roles and Features Wizard:
You can find the menu item "Add Roles and Features" in the menu "Manage", in the right corner of Server Manager
should check out this option i suppose
I solved this problem by enabling WCF Services
Programs and Features > NET Framework 4.5 Services > WCF Services> HTTP Activation node
But you have to admit it guys this ENTIRE IIS setup configure/guess/trial and see/try this/try that spends 4 or 5 of our days trying to find a solution around approach IS A COMPLETE AND UTTER JOKE.
SURELY, 'IIS' IS THE BIGGEST CONFIDENCE TRICK EVER PLAYED ON MANKIND TO DATE
I know this is an old question, but I've just had this with a 3.5 application on my rebuilt Windows 8 machine and I was still getting this after aspnet_regiis -iru and it turned out the be ASP.NET 3.5 wasn't ticked within Application Development Features (not enough reputation to post an image).
There is a chance that application pool created for you application by default is version 2. So although you see a handler for .svc extension in the list it does not work and treat it as static file. All you need is to open application pool properties and switch it to version 4.
Register asp.net again....will solve the issue.
Go to Visual Studio Command Prompt, And register asp.net as windows\microsoft.net\Framework[.Net version num]\aspnet_regiis.exe -i
I had this same issue on a windows 8 machine I am setting up. I had installed vs2012 before vs2010, which installs .NET framework 4.5. I have my app pools running in 4.0. I made sure I had aspnet registered for 4.0 using aspnet_regiis -i. That still didn't do the trick. Then I opened up the Windows Features and noticed that 4.5 added a set called ".NET Framework 4.5 Advanced Services". I enabled the WCF Service node and its children and then my svc endpoint operated correctly. Hope this helps folks who are making the move to Windows 8.
I stumbled upon this question when I ran into the same issue. The root cause of my issue was an incorrectly-configured app pool. It was set for 2.0 inadvertently, when it needed to be set to 4.0. The answer at the following link helped me uncover this issue: http://forums.iis.net/t/1160143.aspx
For Windows 10/Framework 4.7, I had to turn on HTTP Activation through the following method:
Control Panel > Programs and Features > Turn Windows Features on or off
Under .NET Framework 4.7 Advanced Services, expand WCF Services, select to check the HTTP Activation and whatever else you need when working with WCF
Click OK and let the install do its thing, then open an administrative command prompt and issue the IISRESET command
cmd -> right click -> Run as administrator
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
For other people reading this:
This can happen is if the .Net version that you have registered isn't the one selected under the 'Basic Settings' of the application pool attached to your website. For instance, your sites application pool has .Net v2.0 selected but you registered v4.0
Just another possible solution I found having the same error message.
When trying to setup a .NET 4.0 web application to a new applicition pool I was receiving this strange error telling me it was trying to process my aspx file with the static file handler, which didn't make sense.
For some reason the ISAPI for .NET 4.0 was set to disabled in the ISAPI and CGI Restrictions area of the server level in the IIS manager. Setting it to enabled was all that was required, however the IIS 7.5 manager is so convoluted and hard to follow it took me a long time to figure this out.
I'm guessing that since it was a 4.0 Application that could not be processed by the 4.0 Engine the static file handler was being used by default.
I had the same problem. When I added Static content feaute for IIS, It works fine.
it could be multiple reason, in my case under Application pool->advance setting->Enable 32 bit application (should be true).It was set to false before.
Using IIS manager, I found that .aspx files were mapped (under "Handler Mappings") to ISAPI 2.0 - even though ASP.NET 4.5 had been previously installed. Editing them to point (also) to an executable for ISAPI 4.0 64bit fixed the issue.
The executable was found in
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
i received this message for an application on iis 7.5 with a classic app pool assigned to .net 2.0. i needed to go to Handler Mappings and add two script maps, both were the same with except for the name. one name was svc-ISAPI-2.0-64, the other was svc-ISAPI-2.0. The request path was .svc. And the Executable was %SystemRoot%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll. i restarted iis and all was happy
One of the worst case scenario I just solved is - having conflicting entry in Web.config.
On my local machine I didn't had .woff extension registered in IIS, so I added it using Web.config. But on production server .woff had mime type registered. This caused application level conflict.
Funny part is there are no error logged for this. Just a guess work (first time of course).
So for me solution was just to remove and/or elements from web.config.
I had the same issue, I just changed the target framework version on the website to the version it is developed in,Same in IIS. This solved my problem. Hope this helps...
Thank You

Can Classic ASP pages run in Azure?

I'm looking into Azure and unsure if Classic ASP (i.e. ASP 3.0 with .ASP extensions) can run in Azure?
I found this blog post from January 2009 indicating Classic ASP can NOT be run in Azure. But on this interoperability page it looks like now, other platforms like PHP can be run on Azure. I still see no mention of Classic ASP though.
Can Classic ASP pages run in Azure?
Check this out - http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-31-Startup-Tasks-Elevated-Privileges-and-Classic-ASP, at about 15 minutes in they tell you how to run Classic Asp in Azure
The actual startup command is at 23:51 within the video.
I've tried replicating the code that they have on the show but I get an error - "CloudServices64 : Cannot find file named 'approot\bin\startup.cmd'" for startup task startup.cmd when I try to build the project. Hopefully its just me and you'll have better luck.
To solve the error "CloudService...." - have a look at http://207.46.16.248/en-us/library/gg456327.aspx It tells you that you need set the properties on the file to "copy to output directory" to always
Yes, the instructions for enabling it are here:
http://coderead.wordpress.com/2011/09/20/running-classic-asp-on-azure/
Not yet, but as soon as the new "virtual machine role" becomes available, you'll be able to configure your own virtual server(s) to support classic ASP. No timeline given AFAIK, but "soon" has been mentioned.
These servers will run on the Azure hardware, but they won't run the Azure Guest OS 1.x, so you cannot easily use Azure features like Storage or AppFabric... then again, you might not want to from a classic ASP environment :-)
EDIT: at the time of asking my answer was correct (there was no full IIS available), but a lot has changed, so the answer in 2012 would definitely be "yes", as detailed below.
Nope. You can attempt to get around recoding your ASP pages with something like the ASP Classic Compiler.

How do I set up a local ASP.NET 2.0 site in IIS7 for local testing?

This thing is so confusing compared to the old IIS, I haven't even found where to pick the version of .NET still. I had to comment out the and from my web.config because I kept getting:
This configuration section cannot be
used at this path. This happens when
the section is locked at a parent
level. Locking is either by default
(overrideModeDefault="Deny"), or set
explicitly by a location tag with
overrideMode="Deny" or the legacy
allowOverride="false".
And after that I am now getting an HTTP Error 404.3 Not Found on Default.aspx BUT IT IS THERE (and I created a default page entry for it). It says it is possible it is missing a handler mapping, what the hell is that? Why did they make it so confusing to use the new IIS? I am losing a lot of time on this project trying to set this up. Did me commenting out the from my web.config create this new problem? Please help!
Oh wait it also says it's possible ASP.NET is not installed but I'm pretty sure it is I am running Windows 7. Is there something I need to configure in IIS to enable ASP.NET aspx/ashx handling?
UPDATE: Yeah I had to install asp.net now I am getting 500.19:
Module DefaultDocumentModule
Notification ExecuteRequestHandler
Handler StaticFile Error Code
0x800700b7 Config Error Cannot add
duplicate collection entry of type
'add' with unique key attribute
'value' set to 'Default.aspx' Config
File \?\C:\Users\Ryan\Bancroft
Archive\SANTIAGO\Santiago
Code\trunk\web.config
Hmm...
UPDATE (2): Removed that line in web.config where it was adding Default.aspx as a default document because I already added it manually in ISS7 and it was a duplicate. Seems to be working now. Funny that I solved it after posting but I kept updating so hopefully it's not tottally a waste and this adds to the useful content of this site. Thanks for all the replies.
make sure to check enable 32- bit application to true in the application pool advanced setting, specially if you are running in classic mode, i don't really know why but i had crazy headaches until i enabled it.
hope this helps
I've found the best way to do this is to let Visual Studio do it for you. If you're using a Web Application Project, then in the project properties, on the Web tab, you'll have the option to use IIS. Within that option group, you'll have the choice to let Visual Studio create the virtual directory for you.
You mention version of .NET. There is only one .NET CLR version - 2.0. There is no .NET 3.0 or 3.5 CLR, if you were looking for one of those versions.
Have you set the application pool to use Classic as its Managed Pipeline mode?
I find IIS7 a lot easier to configure than IIS6. I mean heaps easier.
In terms of adding a site it is not that different though, you just add a site in the IIS manager and configure the bindings you want to use. You don't need to do anything special to get it to work with asp.net 2.0, it should work out of the box.
I think I'm missing something from your question though.

Resources