Sources
How we source this.
Every technical page carries an evidence grade and a date. Here is what those words mean and where the material comes from.
Evidence grades
- Primary, current docs
- Checked against Microsoft's current documentation.
- Primary, archived
- Checked against Microsoft's own material from the era, held in our archive.
- Observed artifact
- Taken from a real system artifact, describing only standard platform behaviour.
- Secondary, corroborated
- From secondary material, corroborated by at least one other source.
- Mixed evidence
- Parts of this page rest on different grades of evidence; each claim says which.
- Needs a primary source
- Not yet backed by a primary source. Treat it as a lead, not as documentation.
Archived Microsoft material
Some of what this site explains has not been on Microsoft's website for years. Where we rely on an original SDK or release-era document, the page says so and names it. That material is read, not republished: explanations here are written from scratch, and quotes stay short and attributed.
Old SDK packages are treated as documents, never as software. Nothing from them is installed or executed, and none of it ships as part of this site.
Real systems
Where something can only be shown by what a real Dynamics system produced, we describe the standard platform behaviour and nothing else. Customer and client specifics, custom tables and columns, organisation names, hostnames, identifiers and data do not appear here, and examples are written fresh rather than pasted from anyone's environment.
What happens when we cannot confirm something
The page says so, carries the "needs a primary source" grade, and stays out of search engines until it is backed up. Unverified claims are flagged rather than quietly filled in from memory, which is the only way the graded pages mean anything.
How a page gets published
A page is drafted, checked against whatever evidence exists, and graded before it goes up. The build refuses to publish one that cites a source we do not hold, claims a version that does not exist, or carries a verification date in the future. Pages that cover current Dataverse are re-checked at least every six months; historical pages change only when better evidence turns up.
What changed and when is on the changelog, and what is queued or stuck is on what is coming.
Think something here is wrong?
Every technical page has a feedback control at the bottom, and you can ask a question outright. A correction with a link to Microsoft's own material is the most useful thing you can send.
The source list
- Microsoft Dynamics CRM 2011 SDK (compiled help, CrmSdk2011.chm) Private archive: CRM-SDK-Rescue/2011-SDK_from_desk/SDK/CrmSdk2011.chm Microsoft's own SDK help for the 2011 release, from an owner-held copy. Static reading only; the package is never executed and is not part of this repository. Quote sparingly and cite; do not republish.
- Microsoft Dynamics CRM 2011 SDK sample code and schemas Private archive: CRM-SDK-Rescue/2011-SDK_from_desk/SDK/SampleCode, /Schemas Microsoft sample projects (C#, VB, JS) and service schemas shipped with the 2011 SDK. Useful for showing what the platform itself demonstrated as correct usage. SampleCode/CS/HelperCode/OptionSets.cs lists the component type values the 2011 SDK knew.
- Microsoft Dynamics CRM 4.0 Server readme Private archive: CRM-SDK-Rescue/Microsoft_Dynamics_CRM_4.0_Server_Readme.htm Microsoft’s December 2007 readme for the 4.0 server. Upgrade from CRM 3.0 is supported, but not from CRM 1.2 or pre-release builds. It lists the 3.0-to-4.0 upgrade traps: stop every Workflow service first; only one server’s workflow rules, assemblies and instances are upgraded; notes over 100,000 characters are truncated; custom indexes and statistics are flagged; some reports can’t be upgraded; workflows that reference missing objects fail. After upgrade, workflow jobs are owned by the workflow owner, some workflow attributes are no longer supported, and Status Reason changes can now start workflows.
- Microsoft Dynamics CRM 4.0 SDK message metadata exports Private archive: CRM-SDK-Rescue/FromServerISOs/CRM-4.0/SdkMessage*.xml SdkMessage, SdkMessageFilter, SdkMessageProcessingStep, step image and request/response field definitions taken from Microsoft install media. The most direct evidence available here for the 4.0 event pipeline, which the design package lists as a known gap.
- Microsoft Dynamics CRM 2016 / Dynamics 365 SDK (compiled help, Dynamics365SDK.chm, and SDK tree) Private archive: CRM-SDK-Rescue/2016-D365-SDK_from_DESKTOP-Code/SDK Microsoft SDK for the 8.x era, from an owner-held copy: the compiled help (Dynamics365SDK.chm, read as documents, never executed), sample code, schemas and UII material. Its what’s-new topic covers CRM 2016 (8.0), CRM 2016 Service Pack 1 (8.1) and the December 2016 update for Dynamics 365 (8.2). Quote sparingly and cite; do not republish. Its SampleCode/CS/HelperCode/OptionSets.cs lists the component type values the 2016 SDK knew.
- Dynamics CRM 2011 lifecycle (Microsoft Lifecycle Policy) Microsoft support dates for CRM 2011: start 18 May 2011, mainstream support ended 12 July 2016, extended support ended 13 July 2021. The lifecycle table shows end dates at 6:59:59 AM on the following day; the actual end date is the day before. Microsoft’s 2021 end-of-support list confirms 13 July 2021.
- IExecutionContext.Depth Property (Microsoft.Xrm.Sdk) Current SDK reference. Carries the 2011 wording on loop prevention, the maximum depth of 8 within one hour, and an explicit instruction not to take a dependency on Depth in code.
- IExecutionContext.CorrelationId Property (Microsoft.Xrm.Sdk) Current SDK reference. Same remarks as 2011: used by the platform for infinite loop prevention, and in most cases can be ignored.
- IPluginExecutionContext.ParentContext Property (Microsoft.Xrm.Sdk) Current SDK reference. Same remarks as 2011: populated for stage 20 or 40 on Create, Update, Delete or RetrieveExchangeRate when the platform internally generates another request, with Assign generating Update as the example.
- SetStateRequest Class (Microsoft.Crm.Sdk.Messages) Current reference. Marks SetStateRequest as deprecated in favour of UpdateRequest, and says valid state and status combinations vary by table: see the table reference for system tables, and the table definition for custom tables in your environment.
- Dynamics CRM 2013 lifecycle (Microsoft Lifecycle Policy) Microsoft support dates for CRM 2013: start 12 January 2014, mainstream support ended 8 January 2019, extended support ended 9 January 2024. Service Pack 1 (6.1) ran from 7 May 2014 to 9 January 2024; the original 6.0 release ended 12 July 2016. The lifecycle table shows end dates at 6:59:59 AM on the following day; the actual end date is the day before. Microsoft’s 2024 end-of-support list confirms 9 January 2024.
- Dynamics CRM 2015 lifecycle (Microsoft Lifecycle Policy) Microsoft support dates for CRM 2015: start 11 February 2015, mainstream support ended 14 January 2020, extended support ended 14 January 2025. The lifecycle table shows end dates at 6:59:59 AM on the following day; the actual end date is the day before.
- IPluginExecutionContext.Stage Property (Microsoft.Xrm.Sdk) Current SDK reference. Valid stage values are 10 (pre-validation), 20 (pre-operation), 40 (post-operation) and 50 (post-operation, deprecated); plug-ins within a stage are ordered by SdkMessageProcessingStep.Rank.
- Event Framework in Microsoft Dataverse Current Dataverse documentation. The four pipeline stages and their transaction rules, cancelling in PreValidation, rollback on exceptions, asynchronous steps in PostOperation, Execution Order, and the note that Update can run twice.
- Dynamics CRM 2016 (Dynamics 365) lifecycle (Microsoft Lifecycle Policy) Microsoft support dates for CRM 2016 (Dynamics 365): start 30 November 2015, mainstream support ended 12 January 2021, extended support ended 13 January 2026. Releases: 8.0 from 30 November 2015 to 10 July 2018; 8.1 (Service Pack 1) from 23 May 2016 to 8 January 2019; 8.2 (December 2016 Service Pack) from 16 December 2016 to 13 January 2026. The lifecycle table shows end dates at 6:59:59 AM on the following day; the actual end date is the day before. Microsoft’s 2021 end-of-support list confirms mainstream support ended 12 January 2021.
- Dynamics CRM 4.0 lifecycle (Microsoft Lifecycle Policy) Microsoft support dates for CRM 4.0: start 29 February 2008, mainstream support ended 9 April 2013, extended support ended 10 April 2018. The lifecycle table shows end dates at 6:59:59 AM on the following day; the actual end date is the day before.
- Dynamics 365 for Customer Engagement Apps, version 9.x (on-premises update) lifecycle Microsoft support dates for 9.x on-premises: start 31 October 2018. The page’s own note gives the end of mainstream support as 12 January 2029 and the end of extended support as 9 January 2031, while its table shows the following day at 6:59:59 AM. Version 9.1 runs from 7 June 2021 to 9 January 2031; 9.0 ended 11 July 2023.
- Ending Support in 2021 (Microsoft Lifecycle) Microsoft’s list of products ending support in 2021. Gives Dynamics CRM 2011 end of support as July 13, 2021, and Dynamics CRM 2016 (Dynamics 365) end of mainstream support as January 12, 2021.
- Ending Support in 2024 (Microsoft Lifecycle) Microsoft’s list of products ending support in 2024. Gives Dynamics CRM 2013 end of support as January 9, 2024.
- Upgrading from Microsoft Dynamics CRM 2011 and 2013 (CRM 2013 Implementation Guide) Microsoft’s archived upgrade guidance for CRM 2013. The only supported upgrade path to CRM 2013 is from CRM 2011, at Update Rollup 14 or later (Rollup 6 supported but not recommended); CRM 4.0 must go through CRM 2011 first. Organization upgrade merges each table’s base and extension tables into one, which can be deferred for large customised databases, and a table with more than 1023 attributes fails the upgrade with a CREATE VIEW error.
- What’s new for developers (Microsoft Dynamics CRM 2015 SDK, archived) Microsoft’s archived CRM 2015 developer documentation, in two parts. CRM 2015 and CRM Online 2015 Update (7.0): calculated and rollup fields, hierarchies and hierarchical security, server-side business rules, business process flow branching and scripting, field-level security on system fields, removal of deprecated form script methods, and .NET Framework 4.5.2 as the minimum for plug-ins. CRM Online 2015 Update 1 (7.1): alternate keys, upsert, change tracking, ExecuteTransactionRequest, optimistic concurrency, Update for specialized operations, plug-in trace logs, date and time behaviours, and the Web API preview.
- What’s changing in the next release (Microsoft Dynamics CRM 2013 SDK, archived) Microsoft’s archived CRM 2013 notice of coming changes: the 2007 SOAP endpoint deprecated in CRM 2013 and due for removal in the next release; getServerUrl, isOutlookClient and IsOutlookClientOnline to be removed in favour of getClientUrl, client.getClient and client.getClientState; getFormType no longer returning Quick Create or Read Optimized; old forms removed on upgrade only if deactivated; the Kit product type deprecated; Internet Explorer 8 and 9 support dropped.
- Create real-time workflows (Microsoft Dynamics CRM 2013 SDK, archived) Microsoft’s archived CRM 2013 guidance on real-time workflows: they run in an event pipeline stage like synchronous plug-ins, immediately and inside the current transaction, can be ranked within a stage, cannot contain wait or delay activities, cannot run on retrieves, and can be converted to and from asynchronous. In CRM Online they must be created in the web application; XAML workflows are on-premises or IFD only.
- Model business process flows (Microsoft Dynamics CRM 2013 SDK, archived) Microsoft’s archived CRM 2013 guidance on business process flows: stages and steps across up to five entities, ProcessId and StageId on participating records, ten activated flows per entity by default, thirty stages and thirty steps per stage, and enabling an entity for business process flows being one-way.
- What’s new for developers (Microsoft Dynamics CRM 2013 SDK, archived) Microsoft’s archived CRM 2013 developer what’s-new, in two parts. CRM 2013 and CRM Online Fall ’13 (6.0): entity images, access teams, business process flows, real-time workflows, custom actions, field-level data encryption, solutions no longer installable into older versions, asynchronous solution import, read-optimized forms removed, and AttributeTypeName replacing AttributeType. CRM 2013 Service Pack 1 and CRM Online Spring ’14 (6.1): duplicate detection on create and update restored, exporting a solution for 6.0, custom state model transitions, the Package Deployer, XRM Tooling and the updated Plug-in Registration tool.
- Prepare your solutions for the update (Microsoft Dynamics CRM 2013 SDK, archived) Microsoft’s archived list of CRM 4.0 features no longer supported from CRM 2013: 4.0 plug-ins, 4.0 client-side scripting, 4.0 custom workflow activities, the 2007 web service endpoints and ISV folder support for custom web applications. Points to the Custom Code Validation tool.
- Upgrade scripts to Microsoft Dynamics CRM 2013 (Microsoft Dynamics CRM 2013 SDK, archived) Microsoft’s archived guidance on form script upgrades to CRM 2013: the CRM 4.0 object model (crmForm), the 2007 endpoint, getServerUrl and AuthenticationHeader removed, and the supported Xrm.Page methods that replace common unsupported techniques.
- Upgrade plug-ins and custom workflow activities (Microsoft Dynamics CRM 2013 SDK, archived) Microsoft’s archived guidance on moving CRM 4.0-style plug-ins and custom workflow activities to CRM 2013: the changed IPlugin signature, CallerOrigin replaced by IsExecutingOffline and IsOfflinePlayback, IsInTransaction, FaultException<OrganizationServiceFault>, AssociateRequest replacing AssociateEntitiesRequest, signed assemblies, and CodeActivity with the Microsoft.Xrm.Sdk.Workflow namespaces.
- Download Dynamics 365 Customer Engagement (on-premises) version 9.x SDK Microsoft’s current page on the 9.x SDK: the developer tools (code generation, Configuration Migration, Package Deployer, Plug-in Registration, Solution Packager) and the SDK assemblies are NuGet packages, and the code samples are listed online. There is no single SDK download.
- Use Dynamics 365 Customer Engagement web services (on-premises 9.x) Microsoft’s comparison of the 9.x web services: the Web API reached parity with the organization service; server-side code keeps using the organization service; the SDK assemblies still use the deprecated 2011 SOAP endpoint; the OData v2 organization data service is deprecated and no longer documented for this release.
- What’s new in Dynamics 365 Customer Engagement (on-premises) Microsoft’s list of features new to on-premises in the 9.1 update and in version 9, including hybrid legacy dialogs in Unified Interface, the Power Apps Checker PowerShell module, custom help panes, and create, update and delete support for virtual entities through the OData v4 provider.
- On-premises plug-in development (Dynamics 365 Customer Engagement 9.x) Microsoft’s on-premises-only plug-in guidance for 9.x: objects passed into the pipeline are serialized, so a plug-in cannot rely on references to them, and on-disk assemblies go in the server’s binassembly folder.
- Best practices for developing with Dynamics 365 Customer Engagement (on-premises) Microsoft’s 9.x on-premises best practices: synchronous plug-ins designed to finish in under two seconds, the plug-in versus workflow comparison, single long workflows for throughput, InvalidPluginExecutionException in custom workflow activities, and server-side security guidance.
- Get started with virtual entities (Dynamics 365 Customer Engagement on-premises) Microsoft’s introduction to virtual entities, starting with version 9.0: external data represented as entities without replication, data providers as a kind of plug-in, and the initial limitations (read-only, organization-owned only, no auditing, change tracking, queues, offline, activities or business process flows).
- Authenticate users with Dynamics 365 Customer Engagement (on-premises) Microsoft’s 9.x authentication overview: claims-based, Active Directory, and OAuth 2.0 for IFD only, with CrmServiceClient as the recommended .NET class.
- About Unified Interface (Dynamics 365 Customer Engagement on-premises) Microsoft’s on-premises administrator page on Unified Interface, including the system setting that makes an organization use Unified Interface only.
- Client scripting in Dynamics 365 Customer Engagement (on-premises) Microsoft’s 9.x on-premises client scripting overview. It points to the model-driven apps client API documentation and warns that some client APIs are deprecated in this release, linking to Microsoft’s deprecation announcements.
- Important changes (deprecations) coming in Power Apps and Power Automate Microsoft’s running deprecation list, first published June 2017 and written for the online service. Its section on deprecated client APIs, linked from the 9.x on-premises client scripting page, lists Xrm.Page and its replacements.
- Microsoft Dataverse developer guide overview Microsoft’s introduction to developing for Dataverse. States that Dataverse isn’t available on-premises and that the guide leaves out on-premises and IFD-only options, pointing to the Customer Engagement (on-premises) developer guide for those.
- Developers: Understand terminology in Microsoft Dataverse Microsoft’s mapping between the Power Apps interface terms (table, column, row, choices, yes/no) and the names developers still meet in the SDK for .NET (entity, attribute, record, option set, boolean) and the Web API (EntityType, property).
- Transition apps to Dataverse ServiceClient Microsoft’s move from CrmServiceClient (ADAL) to ServiceClient in Microsoft.PowerPlatform.Dataverse.Client (MSAL, .NET Core support). Plug-ins and custom workflow activities are unaffected and keep the CoreAssemblies packages, and can target .NET Framework 4.8 or the legacy 4.6.2 and 4.7 versions. The timeline lists a planned, undated shutdown of the 2011 SOAP endpoint for clients not using the service clients.
- Use the Dataverse SDK for .NET Microsoft’s overview of the SDK for .NET and the organization service: ServiceClient recommended for new applications, plug-ins and custom workflow activities built on .NET Framework, and the 2011 SOAP endpoint deprecated but still working and supported until removed, with updated assemblies promised before removal.
- Use the Microsoft Dataverse Web API Microsoft’s Web API overview: OData v4.0, no Microsoft client libraries other than the Python SDK, and all data operations going through the underlying organization service, whose messages drive the event framework.
- Compose HTTP requests and handle errors (Dataverse Web API) Microsoft’s reference for Web API requests, including the version segment in the URL (current version v9.2) and the statement that code written against v9.0 keeps working when it references v9.0.
- Service protection API limits (Dataverse) Microsoft’s service protection limits: per-user limits over a five-minute sliding window on number of requests, combined execution time and concurrent requests, returned as 429 Too Many Requests with a Retry-After value, and automatic retry in Xrm.Tooling.Connector versions after 9.0.2.16.
- Create and use custom APIs (Dataverse) Microsoft’s guide to custom APIs, described as the developer-focused alternative to custom process actions, with request parameters, response properties, bindings, functions, privileges and an optional plug-in for the main logic.
- Use plug-ins to extend business processes (Dataverse) Microsoft’s plug-in overview for Dataverse: declarative options first, synchronous and asynchronous registration, the alternatives (workflow activities, calculated and rollup columns, custom actions, Service Bus and webhooks, Power Automate), and a hard time limit on plug-in execution.
- Write a plug-in (Dataverse) Microsoft’s plug-in how-to: Power Platform Tools for Visual Studio and the Power Platform CLI as the modern routes, stateless IPlugin classes because instances are cached, secure and unsecure configuration, the optional generated PluginBase class, and the Web API not being supported inside plug-ins.
- Build and package plug-in code (Dataverse) Microsoft’s packaging constraints for plug-ins: a 16 MB assembly limit, signing when dependent assemblies aren’t used, the dependent assemblies capability as a NuGet package stored in the PluginPackage table, and no support for ILMerge.
- Register a plug-in (Dataverse) Microsoft’s plug-in registration guide. Isolation mode and assembly location options apply to on-premises only; for Dataverse always accept Sandbox and Database.
- Replace classic Microsoft Dataverse workflows with flows Microsoft’s comparison of Power Automate and classic workflows, recommending flows for new automation and reviewing existing classic background workflows for replacement.
- Policies and communications (Power Platform and Dynamics 365) Microsoft’s description of how the online service changes: weekly minor service updates rolled out region by region, and two major release waves a year in April and October that are backward compatible, with disruptive features off by default.
- Client API form context (model-driven apps) Microsoft’s formContext documentation: Xrm.Page deprecated in favour of executionContext.getFormContext(), still supported for backward compatibility, at least six months’ notice before any removal, and the “Pass execution context as first parameter” handler option.
- Overview of application lifecycle management with Microsoft Power Platform Microsoft’s ALM overview: solutions as the mechanism for moving components between environments, Dataverse storing solutions and in-product pipelines, source control as the source of truth, and CI/CD platforms such as Azure DevOps.
- Microsoft CRM 3.0 Readme (server CD, September 2006) Private archive: Microsoft CRM 3.0 Professional server install media (CD 1), Readme.htm Microsoft’s release readme on the 3.0 server CD: the CD contents, where the Implementation Guide and SDK were published (the SDK’s Server Programming, Client Programming and Report Writers guides), upgrade from CRM 1.2 only, .NET Framework 1.1 SP1 and SQL Server 2000 SP4 requirements, the customization.xml import size limit, and privileges that upgraded custom roles do not receive. Read as a document from Microsoft install media; nothing on the disc was run.
- Microsoft CRM 3.0 application Help: customization topics Private archive: Microsoft CRM 3.0 Professional server install media (CD 1), wwwroot/Help/PRO/Content Microsoft’s built-in Help for CRM 3.0, read as HTML from the install media: customizing entities, attributes, forms, views and relationships, event scripts (onLoad, onSave, onChange), exporting and importing customizations, and troubleshooting what cannot be customized.
- Microsoft CRM 3.0 Workflow Manager and Workflow Monitor Help Private archive: Microsoft CRM 3.0 Professional server install media (CD 1), PFiles/MSCRM/Tools/WorkflowManager.chm and Workflowmonitor.chm Microsoft’s compiled Help for the 3.0 Workflow Manager and Workflow Monitor tools, decompiled with the Windows Help viewer and read as documents; the tools themselves were never run. Covers workflow rules, sales processes, templates, trigger events, run-as credentials and scope, workflow loops, and what was new for workflow in 3.0.
- Microsoft Dynamics CRM 4.0 application Help: customization and workflow topics Private archive: Microsoft Dynamics CRM 4.0 install media (DVD), Server/i386/wwwroot/help/1033/OP/Content Microsoft’s built-in on-premises Help for CRM 4.0, read as HTML from the install media: customization capabilities and privileges, 1:N, N:1, N:N and self-referential relationships, form scripting, workflows in the web application, duplicate detection, data import, translation of customized text, and the three WSDL files.
- Security roles and privileges (Dataverse) Microsoft’s explanation of security roles: privileges from all of a user’s roles are cumulative; table privileges (Create, Read, Write, Delete, Append, Append To, Assign, Share), miscellaneous and privacy-related privileges; and the access levels shown in the role editor, Organization, Parent: Child Business Unit, Business Unit, User and None, where a wider level includes the narrower ones.
- PrivilegeDepth Enum (Microsoft.Crm.Sdk.Messages) Microsoft’s reference for the privilege depth values that appear in privilege errors: Basic (records owned by or shared with the user), Local (the user’s business unit), Deep (the user’s business unit and those below it) and Global (the whole organization).
- Troubleshoot user access problems (Power Platform) Microsoft’s troubleshooting guide for user access: the Run diagnostics feature for a user in the Power Platform admin center, which checks licence, security roles and group membership, with the known issue that it checks only roles assigned directly to the user, not roles inherited through group teams.
- A privilege or permission error occurs in Dynamics 365 App for Outlook Microsoft’s troubleshooting article listing the privileges Dynamics 365 App for Outlook needs and the security role tab each is on, including prvReadEntity, prvReadAttribute, prvReadRelationship and prvReadAppModule on the Customization tab.
- Troubleshoot Dataverse plug-ins Microsoft’s plug-in troubleshooting guide, including “Sandbox Worker process crashed” (error code -2147204723) and its four usual causes, and errors due to user privileges inside plug-ins, handled by registering the step to run as a user with the privileges or by impersonation.
- Role-based security roles for Dataverse Microsoft’s overview of Dataverse role-based security and predefined roles, with its guidance that a user missing a privilege should ask the environment’s System Administrator to assign a security role with the required privileges.
- Microsoft CRM 3.0 SDK (compiled help, crmsdk3_0.chm, 2007 edition) Private archive: CRM-SDK-Rescue/3.0-SDK/crmsdk3_0.chm Microsoft’s SDK help for CRM 3.0: the Server Programming Guide’s callout model, method signatures, callout.config.xml reference, error handling and tracing, and the CrmService and MetadataService web services at /mscrmservices/2006/, including security, impersonation, DynamicEntity, FetchXML and QueryExpression. The owner’s copy came from a third-party software archive; it is a valid help file whose 6,937 pages all carry Microsoft’s 2007 copyright. Read as documents only, never executed. Quote sparingly and cite; do not republish.
- Microsoft CRM 3.0 SDK sample code Private archive: CRM-SDK-Rescue/3.0-SDK/sdk samples Microsoft’s sample projects shipped with the 3.0 SDK (C# and VB .NET): callout samples with their callout.config.xml files, CrmService and MetadataService reference samples, and ISV readiness samples. Read only; not built or run.
- Microsoft Dynamics CRM 4.0 SDK (compiled help, CrmSdk4.chm, version 4.0.13, November 2010) Private archive: CRM-SDK-Rescue/4.0-SDK/sdk/crmsdk4.chm Microsoft's SDK help for CRM 4.0 Update Rollup 13 and CRM Online: plug-in development (IPlugin, the execution context, the unsecure and secure constructor strings), the event execution pipeline and its parent and child pipelines, registration and deployment, impersonation, error handling, offline plug-ins, execution of CRM 3.0 callouts, the 2006 endpoint, and what is new in the 4.0 web services. Extracted without running anything from CrmSdk4.exe, whose Microsoft Authenticode signature is valid and which the Internet Archive captured from download.microsoft.com. All 12,022 pages carry Microsoft's copyright. Quote sparingly and cite; do not republish.
- Microsoft Dynamics CRM 4.0 SDK sample code and tool source Private archive: CRM-SDK-Rescue/4.0-SDK/sdk (server, client, tools) Microsoft's sample code from the CRM 4.0 SDK, including the source of the PluginRegistration and PluginDeveloper sample tools and plug-in samples. Extracted without binaries; read only, never built or run.
- Use Custom Process Actions with code: Compare Custom Process Action and custom API Microsoft's comparison of custom process actions and custom APIs: declarative workflow logic, required privileges, private messages, localizable labels, OData functions, table and collection binding, editing in solution files, and the 2-minute limit.
- Classic Dataverse background workflows Microsoft's overview of classic Dataverse workflows: background workflows, created with the Run this workflow in the background option, and real-time workflows documented with Power Apps.
- Microsoft Dataverse real-time workflows Microsoft's page on real-time (synchronous) workflows, which notes that there are better ways to create modern automations and points to Power Automate.
- Best practices for background workflow processes Microsoft's background workflow best practices: the infinite loop limit of 16 and its error message, templates and child workflows, deleting completed jobs, and lock timeouts when several workflows update the same table.
- Business process flows overview Microsoft's current overview of business process flows: stages and steps, stage-gating on required steps, concurrent process flows, multiple tables, and how flows interact with business rules, form scripts and workflows.
- Create a business rule for a table Microsoft's guide to table business rules: setting and clearing values, defaults, validation, and the form-only actions of requirement levels, visibility and enabling, with differences between canvas and model-driven apps.
- Solution concepts Microsoft's solution concepts: managed and unmanaged solutions, data lost when a managed solution is deleted, the 95 MB size limit, update, upgrade and patch, publishers and prefixes, and solution dependencies.
- Solution layers Microsoft's explanation of the unmanaged and managed layers, layers within a managed solution, top-wins behaviour, and the component types that merge (model-driven apps, forms and site maps).
- Removing dependencies overview Microsoft's guide to removing solution dependencies: unmanaged versus managed components, uninstall scenarios across publishers, diagnosing dependencies through solution layers, and why only topmost layers are compared.
- Dependency tracking for solution components Microsoft's description of automatic dependency tracking: blocked deletes, export warnings, import failures, managed-only dependencies, and internal, published and unpublished dependencies.
- Upgrade or update a solution Microsoft's steps for importing a newer version of a managed solution, with the Upgrade, Stage for Upgrade and Update options and what each does to components missing from the new version.
- Create and update solutions Microsoft's guidance on updating solutions and on patches and cloned solutions: not recommended, parent locking, deleting parents, and version numbering.
- Overview of pipelines in Power Platform Microsoft's overview and FAQ for in-product deployment pipelines: prevalidation, connections and environment variables, delegated deployments, no data or cross-tenant deployment, and managed environments for pipeline targets.
- Environment variables for Power Platform overview Microsoft's overview of environment variables as solution components: definitions and values, data types, and supplying values when solutions are imported.
- Use table segmentation in solutions Microsoft's guidance on adding only changed table components to solutions, when to use Include all objects, and how unintended components add layers that can deactivate existing customizations.
- SolutionPackager tool Microsoft's SolutionPackager reference, noting that the tool is no longer the recommended way to unpack and pack solutions and that pac solution incorporates its capabilities.
- Managed properties Microsoft's description of managed properties: controlling what can be customized after a managed install, set while unmanaged, changed only by the original publisher, and not a DRM or licensing mechanism.
- Solution Component (SolutionComponent) table/entity reference Microsoft's reference for the solution component table, including the ComponentType choices: the published number and label for each component type.
- Dependency table/entity reference Microsoft's reference for the dependency table, whose DependentComponentType and RequiredComponentType columns identify components by type.
- Handle exceptions in plug-ins (Dataverse) Microsoft's description of how synchronous and asynchronous plug-in exceptions are handled: rollback, InvalidPluginExecutionException messages, PreValidation inside another operation's transaction and IsInTransaction, system job logging, and retry up to four times.
- Understand execution context in Dataverse Microsoft's description of the plug-in execution context: InputParameters that can be changed in PreValidation and PreOperation, OutputParameters, SharedVariables, and entity images.
- Asynchronous service (Dataverse) Microsoft's description of the asynchronous service and system jobs, including the registration option to delete successful asynchronous plug-in jobs, which it recommends.
- Analyze plug-in performance (Dataverse) Microsoft's plug-in performance guidance: a message operation, including registered plug-ins, must complete within 2 minutes, or Dataverse throws a TimeoutException and rolls the operation back.
- Plan your upgrade to Microsoft Dynamics 365 Server (9.0) Microsoft's 9.0 upgrade planning: the only supported path is from the December 2016 Service Pack (8.2) or later; the three upgrade options; only the named organization upgraded in place; free space; Setup account requirements; one deployment per SQL Server instance; the 1023-field limit, custom database objects and the ignorechecks subkey. The page says it doesn't apply to the 9.1 update.
- Software requirements for Dynamics 365 Server (9.1) Microsoft's supported Windows Server and SQL Server editions for 9.1: Windows Server 2016, 2019 and 2022, and SQL Server 2016 SP2 or SP3, 2017, 2019 and 2022, with the 2022 versions needing Service Update 1.25.
- Software requirements for Dynamics 365 Server (9.0) Microsoft's supported Windows Server and SQL Server editions for 9.0: Windows Server 2016, and SQL Server 2016 SP2 or SP3 or SQL Server 2017, which needs 9.0 Update 0.3.
- Before you upgrade: issues and considerations (Dynamics 365 Server 9.0) Microsoft's note that earlier servers can't be upgraded in place to 9.0 directly, with the interim route: CRM 2013 SP1 to 2015 and then 2016 using trial keys, then the December 2016 update.
- Plan your upgrade to Microsoft Dynamics CRM 2016 Server (archived) Microsoft's archived CRM 2016 upgrade planning: the only supported path to Dynamics 365 Server is CRM 2015 to CRM 2016 and then the December 2016 Service Pack; the three upgrade options; Import-CrmOrganization and Deployment Manager for other organizations; free space.
- Upgrade from Dynamics CRM Server 2013 or Dynamics Server 2011 (CRM 2016, archived) Microsoft's archived guidance that CRM 2013 and 2011 can't upgrade directly to CRM 2016, and the interim route through CRM 2015 with a valid or trial product key. CRM 2013 for Outlook isn't compatible with CRM Server 2016.
- Upgrade a Microsoft Dynamics CRM Server (CRM 2015, archived) Microsoft's archived CRM 2015 upgrade planning: the only supported path is from CRM 2013 Service Pack 1; server roles disabled until upgraded; the three upgrade options; only the named organization upgraded in place; free space.
- Upgrade from Microsoft Dynamics CRM Server 2011 (CRM 2015, archived) Microsoft's archived guidance that CRM 2011 can't upgrade directly to CRM 2015: upgrade to CRM 2013 with a valid key in place or a trial key by migration, apply Service Pack 1, then upgrade to CRM 2015. Sync offline Outlook users first.
- Software requirements for Microsoft Dynamics CRM Server 2013 (archived) Microsoft's archived CRM 2013 software requirements: Windows Server 2008 SP2 or R2 SP1 and 2012 or 2012 R2 (R2 needing SP1 or Update Rollup 2), and SQL Server 2008 SP3 or R2 SP2, 2012 SP1 to SP3, and 2014.
- Software requirements for Microsoft Dynamics CRM Server 2015 (archived) Microsoft's archived CRM 2015 software requirements: Windows Server 2012 and 2012 R2 only, SQL Server 2012 SP1 or SP3 and 2014 RTM or SP2, with SQL Server 2008 not supported and the later service packs needing CRM 2015 Update 1.2.
- Software requirements for Microsoft Dynamics 365 Server (CRM 2016 and 8.x, archived) Microsoft's archived software requirements for CRM 2016 and Dynamics 365 8.x: Windows Server 2012, 2012 R2 and 2016, and SQL Server 2012 SP3, 2014 SP2 and 2016 with CU2.
- Upgrade Dynamics 365 Server (9.0 in-place upgrade) Microsoft's steps for the in-place upgrade to 9.0: only the December 2016 Service Pack or later can be upgraded, the backup strategy, and tasks before upgrading, including disabling SQL Server replication and uninstalling Reporting Extensions from the same computer.
- Microsoft Dynamics CRM 4.0 Implementation Guide (compiled help, 2011 revision) Private archive: CRM-SDK-Rescue/Microsoft_Dynamics_CRM_IG (1).zip, 'Microsoft Dynamics CRM Implementation Guide.chm' (files dated 4 April 2011) Microsoft's Implementation Guide for CRM 4.0 (planning, installing and operating), in its final 2011 revision, obtained by the owner from Microsoft's archived download. Read as documents only. Covers Internet-facing deployment: the three supported configurations, forms authentication and the ServiceProviderLicenseAgreement strategy, the IfdInternalNetworkAddress registry value, configuration by XML file or the IFD Configuration Tool, the root domain properties, DNS records per organization, wildcard SSL certificates, the Help server, ISA Server and perimeter networks. Also lists the supported Windows Server, SQL Server and IIS versions for 4.0.
- Microsoft Dynamics CRM 2011 Implementation Guide (compiled help, 2013 revision) Private archive: CRM-SDK-Rescue/crm 2011 implementation guide/Microsoft_Dynamics_CRM_2011_IG.zip, CRM2011IG.chm (files dated 15 May 2013) Microsoft's Implementation Guide for CRM 2011 (planning, installing, operating and maintaining), in its May 2013 revision, obtained by the owner. Read as documents only. Covers the only supported upgrade path (from CRM 4.0, with 32-bit servers migrated because CRM Server 2011 is 64-bit only), components not upgraded, queue, ISV and Mobile Express changes, re-enabling IFD with the claims-based authentication and IFD wizards, and the supported Windows Server, SQL Server and IIS versions for CRM 2011.