Thursday, May 22, 2008

Picky Lists? - Upgrading from Microsoft CRM 3.0 to 4.0

Aaron Elder has a post Here on some info on upgrading 3.0 to 4.0. I have copied it below.

----------------------------------------------------

There is a lot of confusion out there around what will and will not upgrade and what happens after you upgrade from CRM 3.0 to 4.0.  The root of this is around the fact that the way Picklist INT valuing has changed in CRM 4.0 to better accommodate future growth.  In particular if you customize a system-provided Picklists under CRM 3.0, the INTs assigned would be sequential to the system values.  So if the last value provided by Microsoft was 4, your picklist option would get 5.  In CRM 4.0, this has changed to start all user-defined picklist options on system-provided picklists to start at 200,000 instead.

In an effort to answer the questions around upgrade from 3.0 to 4.0 vs. installing from scratch; I have done some in depth research and provided the results below.  I did a clean upgrade on our vanilla CRM 3.0 VPC and then imported a full export into a clean CRM 4.0 VPC.  It seems to have worked with the exception of the fact it won’t import the “Bulk Operation” entity; which appears to be safe to ignore (TBD after more tests and feedback).

The table below has the results:

Notes Upgraded from 3 to 4 Vanilla 4.0
Add new item to system picklists

Starts index at 200,000 Starts index at 200,000
Create a new custom picklist Starts index at 1 Starts index at 1
Customize a system picklist that was previously extended in CRM 3.0 Starts index at 200,000
Previous values preserved
N/A
Customize a custom picklist that was previously created in CRM 3.0 Starts index where last index left off N/A
Import and publish previously created custom entity with picklist into CRM 4.0 “vanilla” installation N/A Picklist values preserved, new values start where they left off (Ex: 3)
Import and publish previously modified system picklist into CRM 4.0 “vanilla” installation N/A Picklist values preserved, new start at 200,000
Customization XML File According to Visual Studio, the “upgraded” image’s customization XML has “inconsistent linefeed endings” and provides the option to normalize them.  This doesn’t seem to affect anything. No Errors
Customization XML File No such value Adds a new “AppDefaultValue” to picklists
<AppDefaultValue>-1</AppDefaultValue>
Customization XML File

Saved Query’s XML has empty “descriptions”.  Example:

<Descriptions>

<Description description="" languagecode="1033" />

</Descriptions>

The “descriptions” node is not exported unless there is a description.
Registry
HKLM\Software\Microsoft\MSCRM
Database Version
7.0.7219.0 (Very odd) 7.0.7333.3
Registry
HKLM\Software\Microsoft\MSCRM
CRM_Server_Version
7.0.7333.3 7.0.7333.3
File System
I compared the entire CRM Server folder and found the following differences between a “vanilla” 4.0 system and an “upgraded” one.  All files appear to be identical.
As a few legacy files remaining:
\crmweb\_resources\isv.config.xml
\server\gac\*.*
\tools\[Few files part of Rollup Updates 1&2]
\server\bin\assembly\workflow.config
\server\bin\assembly\
microsoft.crm.platform.
workflowassembly.dll
None of these files exist in a clean 4.0 install; everything else is identical.

 

After doing the upgrade, I decided to do several tests to see where we stood.

Here are those results: 

Test Result
Import “upgraded” customizations into vanilla system (All Entities) Passed (Note: Bulk Operation does not import, this seems to be "safe to ignore" but I need to do more tests)
Publish all customizations on “vanilla” system Passed
Add new entity with custom picklist, import from “vanilla” image into “upgraded” image Passed
Customize a system picklist on the “vanilla” image and import it into the “upgraded” image Passed
Publish customizations imported from “vanilla” into “upgraded” Passed
Do a full export from the “vanilla” image and import and publish them in the “upgraded” image Passed
Import and publish previously modified system picklist into CRM 4.0 “vanilla” installation and customize in “vanilla” system Passed
Import and publish previously modified custom picklist into CRM 4.0 “vanilla” installation and customize in “vanilla” system Passed

 

Cheers,

 

This posting is provided "AS IS" with no warranties, and confers no rights.

No comments: