I am upgrading a DNN 6.0.2 installation to 6.1.0 and I am getting the following error:
00:00:00.886 - Executing Application Upgrades: 06.01.00 Error!
I decided to investigate and reverted to 6.0.2. Then I extracted the Upgrade package and also copied the symbols to bin folder and ran the upgrade again. I get this stack trace:
System.Data.SqlClient.SqlException: The UPDATE statement conflicted with the FOREIGN KEY constraint "FK_DesktopModules_Packages". The conflict occurred in database "icsinet", table "dbo.Packages", column 'PackageID'.
The statement has been terminated.
at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(SqlConnection connection, CommandType commandType, String commandText, SqlParameter[] commandParameters)
at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters)
at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, String spName, Object[] parameterValues)
at DotNetNuke.Data.SqlDataProvider.UpdateDesktopModule(Int32 desktopModuleId, Int32 packageID, String moduleName, String folderName, String friendlyName, String description, String version, Boolean isPremium, Boolean isAdmin, String businessControllerClass, Int32 supportedFeatures, String compatibleVersions, String dependencies, String permissions, Int32 contentItemId, Int32 lastModifiedByUserID) in c:\TeamCity\buildAgent\work\Library\Providers\DataProviders\SqlDataProvider\SqlDataProvider.cs:line 1613
at DotNetNuke.Entities.Modules.DesktopModuleController.SaveDesktopModule(DesktopModuleInfo desktopModule, Boolean saveChildren, Boolean clearCache, Boolean saveTerms) in c:\TeamCity\buildAgent\work\Library\Entities\Modules\DesktopModuleController.cs:line 365
at DotNetNuke.Services.Upgrade.Upgrade.AddModuleCategories() in c:\TeamCity\buildAgent\work\Library\Services\Upgrade\Upgrade.cs:line 844
at DotNetNuke.Services.Upgrade.Upgrade.UpgradeToVersion610() in c:\TeamCity\buildAgent\work\Library\Services\Upgrade\Upgrade.cs:line 2466
at DotNetNuke.Services.Upgrade.Upgrade.UpgradeApplication(String providerPath, Version version, Boolean writeFeedback) in c:\TeamCity\buildAgent\work\Library\Services\Upgrade\Upgrade.cs:line 4029
I checked Upgrade.cs and it looks like it is failing at 1st line of this method:
private static void UpgradeToVersion610()
{
AddModuleCategories();
//update languages module
int moduleDefId = GetModuleDefinition("Languages", "Languages");
AddModuleControl(moduleDefId, "LocalizePages", "Localize Pages", "DesktopModules/Admin/Languages/LocalizePages.ascx", "~/images/icon_language_32px.gif", SecurityAccessLevel.Edit, 0, Null.NullString, true);
//add store control
moduleDefId = AddModuleDefinition("Extensions", "", "Extensions");
AddModuleControl(moduleDefId, "Store", "Store Details", "DesktopModules/Admin/Extensions/Store.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0);
EnableModalPopUps();
var tabController = new TabController();
var tab = tabController.GetTabByName("Portals", Null.NullInteger);
tab.TabName = "Site Management";
Any ideas on how to workaround this?