Fog Creek Software
Discussion Board




Moving IIS

Hi Folks

Any words of wisdom, advice, warning on how to move IIS to another server?

Jim Dandy
Monday, April 07, 2003

From one Windows box to another Windows box? Or from IIS to, say Apache?

Duncan Smart
Monday, April 07, 2003

IIS stores its settings in the "metabase".  It may be possible to export the relevant config settings and import them into the new one, much like registry settings.

On a related note, does anyone know why IIS uses the metabase and not the registry?

Brian
Monday, April 07, 2003

On your IIS box, look for iisback.vbs (by default, located in \systemroot\System32\inetsrv\MetaBack\ ).

Be careful, though.  Backup files created with this tool (as well as the built-in "Backup/Restore IIS Configuration" option in MMC) cannot be moved between servers without modification for the new environment.

-Jeff

Jeff MacDonald
Monday, April 07, 2003

There's a 3rd party tool called IISExport that (reportedly, I haven't used it) does very well in moving IIS settings over.

Metaback is also good, but not supported by anyone, anywhere, so keep that in mind if things get hosed up.

Not Joel Spolsky
Monday, April 07, 2003

Gotta love the lockin of IIS.  In V6 they actually give you a simple text file like Apache.  Although then MS will say they innovated.

Mike
Monday, April 07, 2003

In fairness, the metabase is stored in the registry. :-p Neither approach is a great one. I liked that ASP.NET moved to text-based config (in XML), and apparently IIS6 moves even farther this way. Hurrah. It's about time. :)

Brad (dotnetguy.techieswithcats.com)
Monday, April 07, 2003

The new XML file in IIS6 is less about ease of editing, and more about the ease of corruption of the v5 and older binary metabase file... too many support calls generated by broken metabases recoverable only via a backup.

Greg Hurlman
Tuesday, April 08, 2003

"does anyone know why IIS uses the metabase and not the registry" -- indeed, the metabase is separate from the registry. Physically it's %systemroot%\system32\inetsrv\MetaBase.bin.

I think one of the key reasons is that the registry, although it contains a directory structure, wasn't suitable for the hierachical nature of the way you apply settings in IIS. ie, you apply something at the site level and those settings propagate down to the child objects without being explicitly stored against them (unless you override them at the child level).

Still, thankfully we're going back to INI files now... sorry, I meant XML configuration files.

Duncan Smart
Tuesday, April 08, 2003

"Still, thankfully we're going back to INI files now... sorry, I meant XML configuration files."

What's old is new.  Sometimes I think we need to realize when we get something right and stick with it rather than botching it with a more complicated, "enhanced" architectures.  If you can handle something with a simple text file, repeat after me, "you don't need a database"

Mike
Tuesday, April 08, 2003

*  Recent Topics

*  Fog Creek Home