locked
CRM 2011 UR 16 fails to upgrade database due to corrupted language packs RRS feed

  • Question

  • Hello

    On my CRM 2011 OnPremise installation we had 2 Language packs in addition to English: French (1036) and German (1031).

    We've removed German, first by disabling it and then by removing it from windows' installed apps. The German LP was no longer appearing in the settings/administration/languages window in CRM.

    Now I'm trying to update to UR 16 but it completes without updating the database, leaving it to UR 15 version.

    The exception found in the log file is as follows.

    13:39:46|Verbose| Found 2 Mui packs in organization (<== error! there's only one!)
    13:39:46|Verbose| Found 1 custom activities
    13:39:49|Verbose| Analyzing Custom activity Entity xxxxx on presents of LeftVoiceMail/LeftVoiceMailName attributes
    13:39:49|Verbose| Custom activity xxxxx doesn't have LeftVoiceMail/LeftVoiceMailName attributes
    13:39:49|Verbose| Found 1 custom activities Without LeftVoice Attributes
    13:39:49|Verbose| Processing custom activity xxxxx
    13:39:49|Verbose| Adding LeftVoiceMail attribute into queue to be created
    13:39:49|Verbose| Adding LeftVoiceMailName attribute into queue to be created
    13:39:49|Verbose| Setting optionset.Name ='xxxxx_leftvoicemail'
    13:39:49|Verbose| Adding xxxxx_leftvoicemail optionset into queue to be created
    13:39:49|Verbose| Adding 6c09c74c-25d1-e311-b147-005056aa0001 picklist with value=1 into queue to be created
    13:39:49|Verbose| Adding 6f09c74c-25d1-e311-b147-005056aa0001 picklist with value=0 into queue to be created
    13:39:49|Verbose| Adding c10ac74c-25d1-e311-b147-005056aa0001 label with type=1, value=Nur zur internen Verwendung. and ObjectColumnName=Description into queue to be created
    13:39:49|Verbose| Adding c20ac74c-25d1-e311-b147-005056aa0001 label with type=1, value=For internal use only. and ObjectColumnName=Description into queue to be created
    13:39:49|Verbose| Adding c30ac74c-25d1-e311-b147-005056aa0001 label with type=1, value=Utilisation interne uniquement. and ObjectColumnName=Description into queue to be created
    13:39:49|Verbose| Adding c40ac74c-25d1-e311-b147-005056aa0001 label with type=1, value=Voicemail verlassen and ObjectColumnName=DisplayName into queue to be created
    13:39:49|Verbose| Adding c50ac74c-25d1-e311-b147-005056aa0001 label with type=1, value=Left Voice Mail and ObjectColumnName=DisplayName into queue to be created
    13:39:49|Verbose| Adding c60ac74c-25d1-e311-b147-005056aa0001 label with type=1, value=Messagerie vocale quittée and ObjectColumnName=DisplayName into queue to be created
    13:39:49|Verbose| Adding 690bc74c-25d1-e311-b147-005056aa0001 label with type=10, value=Voicemail verlassen. and ObjectColumnName=Description into queue to be created
    13:39:49|Verbose| Adding 6a0bc74c-25d1-e311-b147-005056aa0001 label with type=10, value=Left Voice Mail. and ObjectColumnName=Description into queue to be created
    13:39:49|Verbose| Adding 6b0bc74c-25d1-e311-b147-005056aa0001 label with type=10, value=Messagerie vocale quittée. and ObjectColumnName=Description into queue to be created
    13:39:49|Verbose| Adding 6c0bc74c-25d1-e311-b147-005056aa0001 label with type=10, value=Voicemail verlassen and ObjectColumnName=DisplayName into queue to be created
    13:39:49|Verbose| Adding 6d0bc74c-25d1-e311-b147-005056aa0001 label with type=10, value=Left Voice Mail and ObjectColumnName=DisplayName into queue to be created
    13:39:49|Verbose| Adding 6e0bc74c-25d1-e311-b147-005056aa0001 label with type=10, value=Messagerie vocale quittée and ObjectColumnName=DisplayName into queue to be created
    13:39:49|Verbose| Adding a80bc74c-25d1-e311-b147-005056aa0001 label with type=2, value=Ja and ObjectColumnName=DisplayName into queue to be created
    13:39:49|Verbose| Adding a90bc74c-25d1-e311-b147-005056aa0001 label with type=2, value=Yes and ObjectColumnName=DisplayName into queue to be created
    13:39:49|Verbose| Adding aa0bc74c-25d1-e311-b147-005056aa0001 label with type=2, value=Oui and ObjectColumnName=DisplayName into queue to be created
    13:39:49|Verbose| Adding b10bc74c-25d1-e311-b147-005056aa0001 label with type=2, value=Nein and ObjectColumnName=DisplayName into queue to be created
    13:39:49|Verbose| Adding b20bc74c-25d1-e311-b147-005056aa0001 label with type=2, value=No and ObjectColumnName=DisplayName into queue to be created
    13:39:49|Verbose| Adding b30bc74c-25d1-e311-b147-005056aa0001 label with type=2, value=Non and ObjectColumnName=DisplayName into queue to be created
    13:39:49|Verbose| countLabelsToBeCreated=18
    13:39:49|Verbose| Error occured: Microsoft.Crm.CrmException: Expected 6*countEnabledMuiPacks 12 == 18 actual labels to be created
       at Microsoft.Crm.CrmException.Assert(Boolean condition, String message)
       at Microsoft.Crm.SE.DllMethodActions.AddLeftVoiceMailAttributes.AddLabels(EntityMetadataDefinition customActivityDefinition, Guid leftvoicemailAttributeId, Guid optionSetId, Guid pickListId1, Guid pickListId2, MetadataHelper metadataHelper, Int32 countEnabledMuiPacks)
       at Microsoft.Crm.SE.DllMethodActions.AddLeftVoiceMailAttributes.Execute()
    13:39:49|   Info| Database update install failed for orgId = 81f14e86-2e41-4045-9258-9580088d95cc.  Continuing with other orgs.  Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Microsoft.Crm.CrmException: Expected 6*countEnabledMuiPacks 12 == 18 actual labels to be created
       at Microsoft.Crm.CrmException.Assert(Boolean condition, String message)
       at Microsoft.Crm.SE.DllMethodActions.AddLeftVoiceMailAttributes.AddLabels(EntityMetadataDefinition customActivityDefinition, Guid leftvoicemailAttributeId, Guid optionSetId, Guid pickListId1, Guid pickListId2, MetadataHelper metadataHelper, Int32 countEnabledMuiPacks)
       at Microsoft.Crm.SE.DllMethodActions.AddLeftVoiceMailAttributes.Execute()
       --- End of inner exception stack trace ---
       at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
       at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
       at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
       at Microsoft.Crm.Setup.Database.DllMethodAction.Execute(Guid organizationId)
       at Microsoft.Crm.Setup.Database.DatabaseInstaller.ExecuteReleases(ReleaseInfo releaseInfo, Boolean isInstall)
       at Microsoft.Crm.Setup.Database.DatabaseInstaller.Install(Int32 languageCode, String configurationFilePath, Boolean upgradeDatabase, Boolean isInstall)
       at Microsoft.Crm.Setup.Database.DatabaseInstaller.InstallUpdate(String configurationFilePath, Boolean upgradeDatabase)
       at Microsoft.Crm.Setup.Common.Update.DBUpdateDatabaseInstaller.OrgInstall(ArrayList orgIdArray)

    I've highlighted what I think are most important parts in this log.

    Seems like it thinks there are still  3 languages installed (french and german in addition to English) and tries to add 6*3=18 strings, when it should have added 6*2=12.

    Any clue?

    thank you

    Thursday, May 1, 2014 11:58 AM