diff --git a/src/Umbraco.Core/Configuration/GlobalSettings.cs b/src/Umbraco.Core/Configuration/GlobalSettings.cs
index bd3cc9c74a..cf0dd1e7d0 100644
--- a/src/Umbraco.Core/Configuration/GlobalSettings.cs
+++ b/src/Umbraco.Core/Configuration/GlobalSettings.cs
@@ -234,16 +234,16 @@ namespace Umbraco.Core.Configuration
var xml = XDocument.Load(fileName, LoadOptions.PreserveWhitespace);
var appSettings = xml.Root.Descendants("appSettings").Single();
-
var setting = appSettings.Descendants("add").FirstOrDefault(s => s.Attribute("key").Value == key);
+
if (setting != null)
+ {
setting.Remove();
-
- xml.Save(fileName, SaveOptions.DisableFormatting);
- ConfigurationManager.RefreshSection("appSettings");
+ xml.Save(fileName, SaveOptions.DisableFormatting);
+ ConfigurationManager.RefreshSection("appSettings");
+ }
}
-
private static string GetFullWebConfigFileName()
{
var webConfig = new WebConfigurationFileMap();
diff --git a/src/Umbraco.Web.UI/web.Template.Debug.config b/src/Umbraco.Web.UI/web.Template.Debug.config
index a28a069e17..f9dcde4d78 100644
--- a/src/Umbraco.Web.UI/web.Template.Debug.config
+++ b/src/Umbraco.Web.UI/web.Template.Debug.config
@@ -51,6 +51,13 @@
+
+
+
+
+
+
diff --git a/src/Umbraco.Web/umbraco.presentation/install/steps/Definitions/Database.cs b/src/Umbraco.Web/umbraco.presentation/install/steps/Definitions/Database.cs
index a11e3be5da..ccd713e78b 100644
--- a/src/Umbraco.Web/umbraco.presentation/install/steps/Definitions/Database.cs
+++ b/src/Umbraco.Web/umbraco.presentation/install/steps/Definitions/Database.cs
@@ -14,7 +14,7 @@ namespace umbraco.presentation.install.steps.Definitions
public override string Name
{
- get { return "Database"; }
+ get { return "Database"; }
}
public override string UserControl
@@ -22,7 +22,7 @@ namespace umbraco.presentation.install.steps.Definitions
get { return SystemDirectories.Install + "/steps/database.ascx"; }
}
-
+
public override bool MoveToNextStepAutomaticly
{
get
@@ -34,22 +34,10 @@ namespace umbraco.presentation.install.steps.Definitions
//here we determine if the installer should skip this step...
public override bool Completed()
{
- bool retval = false;
- try
- {
- var configuredVersion = new Version(Umbraco.Core.Configuration.GlobalSettings.ConfigurationStatus);
- var targetVersion = UmbracoVersion.Current;
-
- retval = targetVersion > configuredVersion;
-
- } catch {
- // this step might fail due to missing connectionstring
- return false;
- }
-
- return retval;
+ var configuredVersion = new Version(Umbraco.Core.Configuration.GlobalSettings.ConfigurationStatus);
+ var targetVersion = UmbracoVersion.Current;
+
+ return targetVersion < configuredVersion;
}
-
-
}
}
\ No newline at end of file
diff --git a/src/Umbraco.Web/umbraco.presentation/install/utills/p.aspx.cs b/src/Umbraco.Web/umbraco.presentation/install/utills/p.aspx.cs
index eef79a6cc6..d44285e93d 100644
--- a/src/Umbraco.Web/umbraco.presentation/install/utills/p.aspx.cs
+++ b/src/Umbraco.Web/umbraco.presentation/install/utills/p.aspx.cs
@@ -1,4 +1,5 @@
using System;
+using System.Configuration;
using System.Web.Script.Serialization;
using System.Web.Script.Services;
using System.Web.Services;
@@ -60,9 +61,18 @@ namespace umbraco.presentation.install.utills
var result = ApplicationContext.Current.DatabaseContext.CreateDatabaseSchemaAndDataOrUpgrade();
- // Remove legacy umbracoDbDsn configuration setting if it exists
- Umbraco.Core.Configuration.GlobalSettings.RemoveSetting(Umbraco.Core.Configuration.GlobalSettings.UmbracoConnectionName);
-
+ // Remove legacy umbracoDbDsn configuration setting if it exists and connectionstring also exists
+ if (ConfigurationManager.ConnectionStrings[Umbraco.Core.Configuration.GlobalSettings.UmbracoConnectionName] != null)
+ {
+ Umbraco.Core.Configuration.GlobalSettings.RemoveSetting(Umbraco.Core.Configuration.GlobalSettings.UmbracoConnectionName);
+ }
+ else
+ {
+ var ex = new ArgumentNullException(string.Format("ConfigurationManager.ConnectionStrings[{0}]", Umbraco.Core.Configuration.GlobalSettings.UmbracoConnectionName), "Install / upgrade did not complete successfully, umbracoDbDSN was not set in the connectionStrings section");
+ LogHelper.Error
("", ex);
+ throw ex;
+ }
+
var js = new JavaScriptSerializer();
var jsonResult = js.Serialize(result);
return jsonResult;
diff --git a/src/umbraco.businesslogic/BasePages/BasePage.cs b/src/umbraco.businesslogic/BasePages/BasePage.cs
index c6655d76a6..cc4148a0da 100644
--- a/src/umbraco.businesslogic/BasePages/BasePage.cs
+++ b/src/umbraco.businesslogic/BasePages/BasePage.cs
@@ -311,9 +311,18 @@ namespace umbraco.BasePages
private void DeleteLogin()
{
- SqlHelper.ExecuteNonQuery(
+ // Added try-catch in case login doesn't exist in the database
+ // Either due to old cookie or running multiple sessions on localhost with different port number
+ try
+ {
+ SqlHelper.ExecuteNonQuery(
"DELETE FROM umbracoUserLogins WHERE contextId = @contextId",
SqlHelper.CreateParameter("@contextId", umbracoUserContextID));
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Error(string.Format("Login with contextId {0} didn't exist in the database", umbracoUserContextID), ex);
+ }
}
private void UpdateLogin()