Migrating ASP.NET Applications to IIS 7.0 Integrated Mode

Friday, November 14, 2008

Upgrading an ASP.NET application from IIS 6.0 and lower (Classic ASP.NET Integration Mode) to IIS 7.0 (Integrated Mode) can be a lot of work. To help, Microsoft provides an application that does the work for you.

IIS 7.0 takes care of migrating the application by using the APPCMD.EXE command line tool to perform the migration. The migration error message contains the command that is executed in command line window (which you must run--right click the Programs\Accessories\Command Prompt icon, and choose "Run as administrator") in order to instantly migrate your application to Integrated mode.

The basic format of the migration command is the following:

%windir%\system32\inetsrv\APPCMD.EXE migrate config <Application Path>

where is the virtual path of the application containing the site name, such as "Default Web Site/app1".

When migration is complete, your application runs in both Integrated and Classic modes without a problem.

Note: If you change the configuration after migration, the server will not prompt you to migrate again. After initial migration, you must make sure that your configuration remains in sync between the two modes – manually migrate the application again using the APPCMD.EXE command line tool.

Source: http://learn.iis.net/page.aspx/243/aspnet-integration-with-iis7/


I was having same issue on W3K 64bit (VPS siultoon). When I installed MailEnable (free edition) it auto installed the 64bit version (initially ME complained that I didn't have DotNet 3.5 installed so I installed that 1st then retried ME install which worked).ME WebMail worked just fine. But then I needed to install some 32bit ActiveX DLLs for my website (ASPUpload was one of them), and to get these working I had to run c:\inetpub\adminscripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1This got my 32bit DLLs working fine but WebMail stopped with an error like %1 not 32bit Win app (or something like that).So I ran your siultoon (C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i -enable) and hey presto, WebMail worked again *and* my 32bit DLLs kept on working. IIS6 added (and enabled) the entry ASP.NET v2.0.50727 (32 bit) to the Web Service Extensions list. ASP.NET v2.0.5072 was already in the list (I suspect from the DotNet 3.5 install). I think I also ended up with 2 Default.aspx entries in the Document list for all my websites (I just went and deleted one or both Default.aspx entires from all my websites that didn't use aspx).This took me several days to resolve. I hope my experience (and Alex's) helps others.Cheers Alex.Regards, Mark. Sydney, Australia.


At last, someone comes up with the "right" asnwer!

Leave Comment
Yay! You've decided to leave a comment. That's fantastic! Please keep in mind that comments are moderated. So, please do not use a spammy keyword or a domain as your name, or it will be deleted. Let's have a personal and meaningful conversation instead. Thanks for dropping by!