I joined the VS Setup team over1.5 years ago. The first project I worked on was to help reduce the number of reboots for the .NET Framework. We concentrated on reboots caused by mscoree.dll being in use which the CLR team agreed that a pending file rename operation on that file would not cause any ill effects if we did not prompt the user for a reboot after the framework install.
Jungwook (one of our setup devs) came up with an algorithm to figure out why mscoree.dll was requesting a reboot and he wrote some code in our setup code base to defer the reboot depending on certain known ignorable cases.
The result a year later...
After over 250,000 Beta framework installs, 19.8% would have caused a reboot but the install did not reboot because of the work we did. That's almost 50,000 machines that didn't require a reboot anymore during the installation. You might think that's a small number but if we end up getting millions and millions of 2.0 Framework installs, 19.8% of that becomes a significant amount.
Just a little tid bit I wanted to share with the community and hats off to Jungwook on this one. We're getting closer and closer to the finish line.