A few months ago, I tried upgrading my DNN install, but ran into errors. I didn't have time to work through the errors at the time, so shelved the upgrade for awhile.
Over the last couple of snow days, I had time to tackle the upgrade. I downloaded the latest version (7.2.1) and attempted the upgrade.
For some reason though, I could not log into the host account to finish the upgrade, so I restored the website from backup and tested the host account. Apparently that account was corrupted, and I could not figure out how to fix it. So, I created a new DNN super user login (the one I usually use is AD-based), and tried the upgrade again.
This time, I got an error about the module creator. I was able to find a similar situation in these forums, and the solution was to remove that module. So, I again restored from backup, logged in, removed that module, and attempted the upgrade again.
This time, the upgraded failed with this error:
ERROR occured - Error: Sequence contains more than one element at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
at lambda_method(Closure ) at System.Linq.EnumerableExecutor`1.Execute()
at System.Linq.EnumerableQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression)
at System.Linq.Queryable.SingleOrDefault[TSource](IQueryable`1 source)
at DotNetNuke.Services.Upgrade.Upgrade.ImportDocumentLibraryCategories()
at DotNetNuke.Services.Upgrade.Upgrade.UpgradeToVersion720()
at DotNetNuke.Services.Upgrade.Upgrade.UpgradeApplication(String providerPath, Version version, Boolean writeFeedback)
I searched quite a bit, but never came across any solution for this one, so I again restored from backup, tweaked a few things, and tried again, same result.
So, I instead tried upgrading to version 7.1.2 (I've had situations in the past where skipping a version caused problems). This upgrade appeared to work, so I tried the next version (7.2.0). I again ran into the same error as before. So, I once again restored from the backup and decided to leave it at that version.
However, while the website was working for DNN logins, apparently it was no longer working with AD logins. And, since my backup scripts only with the version I was upgrading from, I am no longer able to go back to 7.1.1.
Whenever an AD user attempts to login now, this error shows up in the Event Logs:
AssemblyVersion:7.1.2
PortalID:32
PortalName:Website
UserID:-1
UserName:
ActiveTabID:1338
ActiveTabName:Login
RawURL:/Home/Login/tabid/1338/Default.aspx?portalid=32
AbsoluteURL:/Default.aspx
AbsoluteURLReferrer:http://(domain removed)/Home/Login/tabid/1338/Default.aspx?portalid=32
UserAgent:Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
DefaultDataProvider:DotNetNuke.Data.SqlDataProvider, DotNetNuke
ExceptionGUID:3a1a81a4-0f52-4a5b-9fa2-c0cd1288c8dc
InnerException:The user account has been locked out.
FileName:
FileLineNumber:0
FileColumnNumber:0
Method:System.Web.Security.SqlMembershipProvider.GetPassword
StackTrace:
Message:
DotNetNuke.Services.Exceptions.PageLoadException: The user account has been locked out. ---> System.Web.Security.MembershipPasswordException: The user account has been locked out.
at System.Web.Security.SqlMembershipProvider.GetPassword(String username, String passwordAnswer)
at WebMatrix.WebData.SimpleMembershipProvider.GetPassword(String username, String answer)
at System.Web.Security.MembershipUser.GetPassword()
at DotNetNuke.Authentication.ActiveDirectory.AuthenticationController.AuthenticateUser(UserInfo objUser, ADUserInfo objAuthUser, UserLoginStatus& loginStatus, String ipAddress)
at DotNetNuke.Authentication.ActiveDirectory.AuthenticationController.ManualLogon(String userName, String strPassword, UserLoginStatus& loginStatus, String ipAddress)
at DotNetNuke.Authentication.ActiveDirectory.Login.cmdLogin_Click(Object sender, EventArgs e)
at System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e)
at System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument)
at System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
--- End of inner exception stack trace ---
I've tried many-many fixes on this, with no success. So now I'm stuck with a system that nobody can log into. We have about 200 portals on this system, almost all of which are AD-only.
I need to either fix the login issue, or fix the upgrade issue and then test again once I get it upgraded. Which is the best route?