Here are a few gotcha’s that I personally came across both in the forums and migrations I’ve done from IIS6 to IIS7. A lot of the confusion I see in the forums is Classic ASP and ‘native’ applications using COM+ trying to move to IIS 7. A classic ASP.NET 1.1 and 2.0 applications should migrate with little or no issues, that is my experience. You’ll need to install .NET 1.1 on Windows Server 2008. The biggest change is to try Integrated Application Pools first, then switch to classic mode. That is probably the biggest recommendation to think about in your migration.
I was involved in migrating a few sites recently with popular content engines. We used the migration tool MSDeploy provided by MS, the one thing that we needed to adjust was the Anonymous Authentication module. We had to adjust so the virtual directory inherited the application pool user account instead of IUSR. I highly recommend using the deployment tool. The one item that IIS 7 manager doesn’t match up to IIS 6 is SSL certificate management. It seems more mature in IIS 6 manager IMO.
Another common confusion point with IIS 7.0 is the modular architecture. In previous versions of IIS, most everything was installed or not too many options to have a module install. This was completely redone and thankfully, for the better in IIS 7.0. I’m not a Apache admin, but my limited experience, Apache is VERY modular. You have to know what you want so stuff will work. Like any new software, IIS 7.0 takes some getting used to, but once you get the swing of it, you won’t want to go back to IIS6, which is a pretty decent platform.
Here is my list with some links to articles.. If you have a tip, add it to the comments section or email me at [email protected]
1) CDONTS running in 64 bit boxes with 32 bit app pools. This applies to other components running in mixed bitness mode.
http://weblogs.asp.net/steveschofield/archive/2008/08/18/getting-cdonts-to-work-on-windows-server-2008-x64.aspx
2) Integrated vs. Classic Mode application pools.
3) Modules not being installed by default (Classic ASP, SMTP service (which is a feature now))
4) 32 bit app pools running on a 64 bit box and when you download a 64 bit installer, the application / isapi doesn’t work since most are running 32 bit app pools. Mixed ‘bitness’ ( I think that is the new cool term ).
5) Microsoft Access databases and older MDAC installs. Access databases in general and not having the right permissions, and / or correct versions of libraries not installed. I wrote a blog on Access 2007 not being installed.
http://weblogs.asp.net/steveschofield/archive/tags/Access2007/default.aspx
7) RDS (remote data services), which was part of MDAC, older versions don’t seem to migrate.
http://forums.iis.net/t/1149165.aspx
8) 3rd party COM+ not being installed or not being transfered to new systems. COM+ is still there, the component services MMC snap-in needs to be added.
9) UserLoadProfile = False instead of True. I think the default False.
10) Disable Double Escape
http://blogs.iis.net/thomad/archive/2007/12/17/iis7-rejecting-urls-containing.aspx
11) SMTP service not logging
http://weblogs.asp.net/steveschofield/archive/2008/02/29/windows-server-2008-smtp-service-logging-tip.aspx
12) Classic ASP tips by Bill S.
http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx
13) 3rd party vendors apps, especially native ones. Make sure they have a 64 bit and 32 bit version available. This will depend on your app pool preference.
14) Install .NET 1.1 w/sp1 on Windows Server 2008.
Enjoy,
Steve Schofield
Microsoft MVP – IIS
Great points Steve. I would also add that installing the Ajax 1.0 Extensions to Server 2008 seems to be a bit of a trouble spot. I’ve got a work around here: http://robbaugh.com/archive/2008/09/05/3657.aspx
Iis6 to iis7 migration tips tricks.. Great idea