Applies to: Microsoft Dynamics CRM 2011, Microsoft Dynamics CRM 2013, Microsoft Dynamics CRM 2013 Service Pack 1, Microsoft Dynamics CRM 2015, Microsoft Dynamics 365 Customer Engagement (on-premises)Original KB number: 3036179
All plugins need to run in the sandbox in Dynamics 365. When they run in the sandbox, plugins cannot access third-party DLLs. Also, if upgrading from a version older than Dynamics CRM 2011, make sure you update the plugin code because of the SDK changes. In addition, if there is any code that directly accesses the CRM database, it should be replaced to pull and push data using the SDK-provided OrganizationService.
I am planning to upgrade my CRM (On premises) 2011 to CRM 2016 (On premises). And now I am looking for the best way to migrate the data. By the way, there're a lot of custom data (entities, fields, WFs).Microsoft recommends a step-by-step upgrade 2011->2013->2015->2016 (because db strucutre changed significantly, as they say), but this is not the best way for me. I want to do clean installation first and the move the data from 2011 to 2016.The solution I've came to is to investigate the new structure then write custom SQL scripts, that will do the work. Is there any out-of-the-box way?
3) Quite good answers were already given, Dynamics365 is simply an update for CRM 2016 (that's why it's version 8.2 not 9.0), so from CRM perspective there are not many changes. The biggest change that can be taken into consideration during upgrade is editable grid - it's very easy to prepare a view that can be editable (although it has it's drawback like no in-line record creation) which can simplify some scenarios (or will allow you to drop some custom solutions). Business Process flows are better handled, because they have separate database table, where all the important information about the process state is kept (that also introduces new SDK access to this processes) Other things are simply cosmetics, mostly for the business guys, not for developers.
4) As for the bounty question - all the apps can still be using plain old Organization.svc (by getting IOrganizationService object), which is a SOAP endpoint to CRM. There are no plans to remove this endpoint for now, so I cannot see any advantage in rewriting this application to be using webAPI (of course that's possible). XrmServiceContext is simply a wrapper over the IOrganizationService, which allows you to use it in more "Unit-of-work" way - certainly useful for retrieving data, but I don't like it as it comes to all other CRUD operations. But anyway - it is still only a wrapper, so the only thing that matters is how you obtain IOrganizationService. Back in CRM 2011 most likely you did that using OrganizatoinServiceProxy class which you instantiated using proper credentials data (like I explained here: ). Currently the suggested approach is to use Microsoft.Xrm.Tooling.Connector assembly (simply obtain it from nuget - Microsoft.CrmSdk.XrmTooling.CoreAssembly) and using CrmServiceClient together with connection string (see: -us/library/jj602970.aspx). This will allow you to get your IOrganizationService which you can wrap in xrmservicecontext or whatever you want. This approach is suggested, because most likely in the future, this package will start using webAPI instead of Organization.svc endpoint, so if Microsoft decides to remove or deprecate this service, your application will be still working without a problem.
You do not need to migrate data from 20XX to 20YY if you go by the migration upgrade route or for that matter any supported upgrade path. There is a thought process that an upgrade would inadvertently need a data migration, but in reality it does not. Unless you are moving data from another system or changing/cleaning up your existing CRM data structure (consolidating entities, moving notes around etc.) you most probably do not need any migration.
If you go for the 2011==> 2013 ==> 2015 ==> 2016 road, you'll have triple work since you'll have to cover each gap between versions (example there are 4 fields for Phone in a Lead in 2011 and only 3 in 2016) and will have to come up with solutions three times instead of just once.
None for the CRM. Unless I'm mistaken, the 365 version with Server Side Synchronization will allow you to use the 365 plugin for Outlook which has many more functionalities than the other version (which is pretty much similar to the 2011 one). Edit: I was mistaken. Dynamics 365 is the new name of CRM 2016 (following Microsoft's new 365 branding which was also applied to Dynamics AX). Your system should already be updated and besides the name change (and the brand new Outlook add-on I haven't tested yet), you have Voice of the Customer integrated into the system instead of coming as a Solution. I think there are some other changes as well. Note that you'll need to upgrade your solutions such as "Field Service" manually from the Administration interface.
You can also use NuGet to obtain Microsoft Dynamics CRM 2011 SDK binaries, but in this case if you will have to specify your version because the latest assembly versions published are for Microsoft Dynamics CRM 2013.
As a Microsoft partner, KTL Solutions has experienced a lot of different upgrades for Dynamics CRM, whether it be a simple upgrade for Dynamics 365 CE online and complex upgrades for on-premises systems where we are moving from CRM 4 to CRM 2015. In some cases, we are not performing all the upgrade cycle and just migrating data from the older version of CRM to the most recent one.
The last scenario is simple enough for the upgrade process but brings its own challenges with data migration. The client wanted to upgrade from CRM 2011 to CRM 2016 but without going through the normal upgrade path of CRM 2011-> CRM 2013-> CRM 2015 -> CRM 2016.
So, we have separate environments for CRM 2011 and CRM 2016 and the task is mostly all about data migration and porting over the customizations. The service module in CRM is the primary use case for this customer so other considerations like email/queue sync for production upgrade was also important. The steps followed for this upgrade were as follows:
Any solution exported from a newer version of Microsoft Dynamics CRM cannot be imported into an older version of Microsoft Dynamics CRM. This includes major and minor versions. You can install solutions exported from Microsoft Dynamics CRM 2011 and earlier releases of Microsoft Dynamics CRM Online into Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM Online 2015 Update. Solutions exported from Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM Online 2015 Update cannot be imported into earlier versions.
I will take a quick side track from the main topic to understand the package version numbers. There is an MSDN article called Export a solution for a specific CRM version and this talks about new functionality brought in with CRM 2013 Service Pack 1.
The likelihood is most people will never have to worry about this scenario, but this is the sort of problem that crops up when people assume they can load up their CRM 2011 solution into CRM 2015. When you try to do it, you get errors, a bit of head scratching before you need to import an unmanaged solution into CRM 2013 which you could then export to a managed solution and into CRM 2015.
This is the same version hop you run into if you want to upgrade a CRM version up more than one version e.g. CRM 2011 to CRM 2015, you first have to upgrade to CRM 2013 before you can upgrade to CRM 2015.
The blog also mentions CRM 2013 server roles are not compatible with a CRM 2015 deployment. So if I understand the blog correctly it means when you upgrade one server to CRM 2015 the other servers (if you have multiple servers) will become disable and need upgrading too.
The migration upgrade involves installing Microsoft Dynamics CRM 2013 on a new server that is seperate to your current CRM 2011 installation. This will mean that users can still access CRM 2011 up until the last minute.
Once you have installed Microsoft Dynamics CRM 2013 on the new server, you will be able to take a copy of the CRM 2011 organisation database and import it into Microsoft Dynamics CRM 2013. At this stage, users can still access CRM 2011.
To confound the support issue with 2011, there are additional compatibility issues with Dynamics CRM 2011, 2013 and 2015. Those compatibility issues surround Windows 10, Internet Explorer, Outlook and Edge.
NOTE: You need add microsoft.xrm.sdk.deployment DLL from SDK to access those Deployment classes and methods. User who is running this should be Deployment Admin in Deployment Manager and Sys Admin in CRM 2b1af7f3a8