app_offline is simple technique to keep users informed and out of your hair for a bit. Using global to reroute requests under certain conditions is a more automated way of doing the same thing. I was just suggesting to use the content of the under construction page.
Ideally, you would run the install/upgrade procedure and it would automagically reroute requests during the upgrade to the under construction page. When the upgrade is complete the application would return to normal behaviour.
When you are upgrading a DotNetNuke website there are two periods where undetermined runtime behaviour may result - during the uploading of new/upgraded files for the application and the upgrading of database, templates or files by the application itself. The concern is that during either stage, any requests to the website may result in broken pages, page errors, or cause other undefined results. On an active site this can be a real concern, from simple data loss to incomplete procedures that may result in breaking the application.
ASP.NET tries to deal with updating by shadow copying and compiling a copy of the site and restarting the app. I haven't tested this extensively with DotNetNuke, but usually what happens once files are upgraded is that DNN goes into upgrade mode automatically. The next request from the site triggers the upgrade mechanism.
Does this mean that some strange user gets to watch the site update itself?
What happens if an app restart occurs during the database update?
The bottom line is that application maintenance is a bit convoluted and complicated with ASP.NET.