The default behaviour of Deployment Manager when deploying IIS websites actually avoids this problem altogether. It does not copy the new content over the existing site; instead, it creates a new directory containing the new content, and then reconfigures the site in IIS to serve content from the new physical directory. This means that the deployment is effectively an atomic operation as far as your users are concerned.
Deployment Manager's IIS deployment behaviour, and ways of configuring it, are described in more detail here
However, if you still need to do in-place deployment (by setting the RedGatePackageDirectoryPath
variable) and use an app_offline.htm, you could use PreDeploy.ps1 and PostDeploy.ps1 scripts to add that behaviour to the deployment.