Anyone who installs SQL Server frequently must get this all the time.
Shutting down an in use server is rarely an easy option.
I’ve been doing the following hack to get round this since SQL 2008 came out with its new installer, but I never told anyone as I thought bad things could happen and I didn’t want to be responsible. Then the other day I called Microsoft Support about a bug in SQL Server and the MS technician told me to do it to avoid a reboot. Well if it’s good enough for them to tell customers then it good enough for me.
During the SQL install it checks the following registry locations to see if a reboot is required.
PendingFileRenameOperations is a registry value and RebootRequired is a registry key. You can just rename them both to something else. Then after it passes the SQL install check you can put them back.
I’ve done this literally hundreds of times and never had an issue. I even wrote a simple tool to do it which I keep with my SQL install set to speed up the process. It’s probably rare to install SQL as much as me so just change the registry manually.