For 3.1, a basic error dialog was added to inform the user about a missing runtime/framework (#8222). In 5.0, we should investigate if we can make it nicer / more user-friendly through Win32 Task Dialogs.
See https://github.com/dotnet/core-setup/issues/8222#issuecomment-539669978