It is very common for posters on newgroups to recommend that solution seekers run the “aspnet_regiis -i“ command to fix various problems and ASP.NET maladies. Unfortunately, the -i flag of the aspnet_regiis command does much more than is usually required to fix most problems. It is a sledge hammer when the pennyweight would be a much better choice.
The -i flag causes the aspnet_regiis command to perform its work on every website on the box, not just the one that needs it. As the .NET framework 2.0 begins to ship there will be more developers and production servers running both version of the framework. Running the aspnet_regiis command with the -i flag will associate all websites on the box with the framework from wence the command was run (there is one version of the aspnet_regiis command for every installed version of the .NET framework). It is also useful to note that the -i flag will reset auto-generated values with immediate impact on forms based logins and viewstate checksums. If you run the command with the -i flag on a live production server you may very well interupt the applications of logged in users of other applications on the same box. The “-i“ flavor of the command should never be run in a production environment unless there are no active users logged on, and all websites on the box happen to be on the same .NET framework version.
Running aspnet_regiis -? will show you the other options, which allow you to perform selected operations on individual websites instead of the entire box.
Source: http://geekswithblogs.net/paulmehner/archive/2005/08/03/48970.aspx