We had couple sites when during install of DotNetNuke(4.0.3) there was a known "Nothing to Install At This Time" message.
I've tried to investigate , how it could happen.
At the first installation the function Install.InstallApplication (Install\Install.aspx.vb) checks web.config file.
If InstallationDate is missing, it tries to call Config.UpdateMachineKey, which should add InstallationDate element and save web.config.
If the save not succced, the “DotNetNuke Configuration Error“ error(403-3.htm) is reported.
However if the new DotNetNuke Web Application with web.config file is attached to database with DNN tables installed,
Install.InstallApplication is not called and InstallationDate element is not added.
However in event handler Application_BeginRequest(App_Code\Global.asax.vb) web.config file is checked if InstallationDate is missing:
Dim installationDate As String = Config.GetSetting("InstallationDate")
If installationDate Is Nothing Or installationDate = "" Then
Response.Redirect("~/Install/Install.aspx?mode=none")
End If
mode=none invokes NoUpgrade() method(Install\Install.aspx.vb) which doesn't do any installation, but compares database and assembly version and shows link to install or shows "Nothing to Install At This Time" message.
It will be good if
1.NoUpgrade() name will be changed to more descriptive WriteResponseIfUpdatesRequired
2.the function will also check InstallationDate element in web.config and add clear instruction/link to update if the element is missing.
I've posted my suggestion to DNN support