Reviewing the Dynamics CRM 2013 LegacyFeatureCheck Logs

image

Here is the detail of that error:

Some plug-ins or custom workflow activities in your system appear to be using the Microsoft CRM 4.0 SDK. Use of the Microsoft CRM 4.0 SDK is not supported in this release. For information about how to upgrade custom code, refer to the Microsoft Dynamics CRM 2011 SDK topic “Upgrade Your Code from Microsoft Dynamics CRM 4.0 to Microsoft Dynamics CRM”.
We have detected the presence of legacy component(s) during upgrade, these components are not supported in Dynamics CRM 2013. Please refer to upgrade log file C:\Users\crmadmin\AppData\Roaming\Microsoft\MSCRM\Logs\LegacyFeatureCheck.xml for more information.

When you look at that XML file you will see the following:

<DeploymentVerificationResults xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Result>
    <OrganizationName>***Deployment***</OrganizationName>
    <OrganizationId>00000000-0000-0000-0000-000000000000</OrganizationId>
    <Issues>0</Issues>
    <Results>
      <VerificationResult>
        <Severity>Info</Severity>
        <Component>General</Component>
        <ComponentId>00000000-0000-0000-0000-000000000000</ComponentId>
        <Message>Checking for the ISV folder when running on the web server.</Message>
      </VerificationResult>
    </Results>
  </Result>
  <Result>
    <OrganizationName>TestOrg</OrganizationName>
    <OrganizationUniqueName>TestOrg</OrganizationUniqueName>
    <OrganizationId>00000000-0000-0000-0000-000000000000</OrganizationId>
    <Issues>4</Issues>
    <Results>
      <VerificationResult>
        <Severity>Info</Severity>
        <Component>General</Component>
        <ComponentId>00000000-0000-0000-0000-000000000000</ComponentId>
        <Message>Checking for Microsoft Dynamics CRM 4.0 plug-ins</Message>
      </VerificationResult>
      <VerificationResult>
        <Severity>Info</Severity>
        <Component>PluginAssembly</Component>
        <ComponentId>6674346c-b91b-4083-9867-47ca9b0b0dd7</ComponentId>
        <Message>Name: MainPlugin, Version: 1.0.0.0, Length: 21164, Location: 
                 Database, Is V4: True.</Message>
      </VerificationResult>
      <VerificationResult>
        <Severity>Warning</Severity>
        <Component>PluginAssembly</Component>
        <ComponentId>6674346c-b91b-4083-9867-47ca9b0b0dd7</ComponentId>
        <Message>Assembly "MainPlugin" with version '1.0.0.0' 
                 references the CRM 4.0 SDK.</Message>
      </VerificationResult>
      <VerificationResult>
        <Severity>Info</Severity>
        <Component>PluginAssembly</Component>
        <ComponentId>28c70061-56d3-4ec3-a62d-8fb83743a1b3</ComponentId>
        <Message>Name: ISV.MSCrm.Tools.Plugin.Crm40, Version: 7.0.0.0, Length: 98304, 
                 Location: Database, Is V4: True.</Message>
      </VerificationResult>
      <VerificationResult>
        <Severity>Warning</Severity>
        <Component>PluginAssembly</Component>
        <ComponentId>28c70061-56d3-4ec3-a62d-8fb83743a1b3</ComponentId>
        <Message>Assembly "ISV.MSCrm.Tools.Plugin.Crm40" with version '7.0.0.0' 
                 references the CRM 4.0 SDK.</Message>
      </VerificationResult>
      <VerificationResult>
        <Severity>Error</Severity>
        <Component>Plugin</Component>
        <ComponentId>41d526ec-0be1-4b46-84a9-695cc10ff248</ComponentId>
        <Message>'ISV.MSCrm.Tools.Plugin.Crm40.EntityConversionMonitor' 
                  registered for 'Create' of 'quote' appears to be using CRM 4.0 SDK.</Message>
      </VerificationResult>
      <VerificationResult>
        <Severity>Error</Severity>
        <Component>Plugin</Component>
        <ComponentId>41d526ec-0be1-4b46-84a9-695cc10ff248</ComponentId>
        <Message>'ISV.MSCrm.Tools.Plugin.Crm40.EntityConversionMonitor' 
                  registered for 'Create' of 'salesorder' appears to be using CRM 4.0 SDK.</Message>
      </VerificationResult>
      <VerificationResult>
        <Severity>Info</Severity>
        <Component>General</Component>
        <ComponentId>00000000-0000-0000-0000-000000000000</ComponentId>
        <Message>Checking for web resources accessing the 2007 web service endpoint</Message>
      </VerificationResult>
      <VerificationResult>
        <Severity>Info</Severity>
        <Component>WebResource</Component>
        <ComponentId>00000000-0000-0000-0000-000000000000</ComponentId>
        <Message>Checking 55 web resources</Message>
      </VerificationResult>
      <VerificationResult>
        <Severity>Info</Severity>
        <Component>WebResource</Component>
        <ComponentId>00000000-0000-0000-0000-000000000000</ComponentId>
        <Message>Did not find any web resources that contain calls to 
                 the 2007 web service endpoint</Message>
      </VerificationResult>
    </Results>
  </Result>
</DeploymentVerificationResults>

 

What you have in this list is the results of a series of tests performed by the validation process.  These tests check various components, such as plugins and web resources, for code that would cause a problem with a function Dynamics CRM 2013 system.

The Severity of the result will dictate if it passes or fails.  Here are the options:

Info is just an FYI message.

Warning contains warning information about a potential problem.  It is not enough to stop the upgrade, but it is something that needs to be reviewed and addressed.

Error conditions will actually cause the validation process to fail and keep you from performing the upgrade.

 

As you can see within the XML, the Error condition exists because one of the plugins is using the Dynamics CRM 4.0 endpoint (what they refer to as the 2007 endpoint).

The solution, in this case, was to remove the plugin assembly and associated steps from the database before proceeding with the upgrade.  That was fine in this case since it was a third-party plugin that we are upgrading anyway.  But, had it been a plugin that was actually used in production, it would have to be written.

Leave a Reply