Upgrading CRM 3.0 SBE to CRM 4.0 Professional

Well, I promised to blog on this, and it's taken me longer than I expected to find the time. I recently performed my first upgrade of CRM 3.0 SBE (on Small Business Server 2003 R2) to CRM 4.0 Professional.

First, a little background on system requirements if you are considering an upgrade to CRM on you Small Business Server. The newest version of CRM, version 4.0, requires SQL Server 2005, which means that if you have not upgraded your SBS 2003 to "R2" then you are probably still running SQL Server 2000. So the first thing you'll need to do is get SBS up to the R2 (that's shorthand for Release Version 2) which upgrades SQL to 2005, installs WSUS and also upgrades a number of other items in Small Business Server Premium.

If you've got R2 in place, you shouldn't have to do anything more than insert the CRM 4.0 disc (or download the installation package from Microsoft.com). Of course, you will want to have good backups of your server, and especially your SQL databases.

When you first begin installing CRM 4.0, the installer goes out to the web to check for updated installation files. So you will need an internet connection. It also installs and initiates the C++ runtime (and it will do this each time you try to run the CRM 4.0 installation, even if you've already downloaded it). So make sure you've got a good internet connection!

When I started this upgrade, I got to the point where the installer checked all the system requirements (more about that below) and when I proceeded to install, it kept failing with a weird error about the MsiInstallerServerAction. It said something like "the patch package could not be opened." I thought this might be related to the Windows MSI installer, so I went on a wild goose chase and ran Windows Update several times to get the server fully patched. It turns out the problem was because the antivirus software on the server was preventing the installer from opening the installation package! I could have kicked myself because I typically disable antivirus software when performing a complex installation like this, but it had slipped my mind this time. So take that as a warning: disable your antivirus solution while running your upgrade.

After working that out, I started running the installation and when I got to the part again where it checks all the system requirements (the part where you want to see a bunch of green checkmarks show up) I got a warning that "setup has detected that there are one or more bulk import jobs pending in the existing Microsoft Dynamics CRM 3.0 system." I searched through CRM and the database and could not locate any pending bulk import jobs. All of them were in a successful completed state, so I still don't know what this warning was about. I then proceeded with the upgrade, and after the installer started running it took about 35 minutes to complete.

After that I started doing my post-upgrade testing. One thing I found was that because CRM 4.0 was designed for multi-tenant, some custom dashboards in this particular installation were not showing images correctly. This is because the relative URLs in the custom .aspx page needed to be re-written to include the organization name. Where they had been pointing to "_custom/_imgs/image.jpg" for example, they needed to be re-written to "orgname/_custom/_imgs/image.jpg" (this particular custom dashboard had it's root folder inside the root folder of the CRM server which, strictly speaking, is unsupported).

Further testing since the upgrade has uncovered a number of minor bugs, mostly related to script errors when viewing or closing windows in the CRM web client. The script errors aren't related to custom scripts, but there appears to be some problems with code inside 4.0 that Internet Explorer 7 doesn't like. I'm still compiling the steps to reproduce these errors and haven't tracked them down. In most cases when a user gets these errors they are saving and closing (or just closing) a form for an activity or a history view on a record, and they get an error window that allows them to send the details to Microsoft. If they click through this the record they were working on is typically saved correctly, so, like I said, it's an annoyance at this point, but doesn't seem to have a critical impact. I'll post again later if/when I track down the source of these errors.


Anonymous said...

I'm encountering the same script error upon closing CRM windows after the V3 to V4 upgrade. Did you find a solution to it?

Eagerly waiting for your answer.


Matt Wittemann said...

It turned out that a lot of the script errors (not all of them, but most) were due to scripts in the OnLoad and OnSave events of the forms for many different entities.

We used to have a number of c360 add-ons installed on our CRM 3.0 system in order to try them out. We removed them, and removed the scripts that they had placed in the OnLoad and OnSave events, and we didn't have any errors in 3.0 after doing so. But somehow, after the upgrade, the scripts were all back in the forms, and were throwing errors because they were referencing c360 add-ons that had been removed a long time ago.

It doesn't make any sense to me, and I can't explain it, but that's what seems to have happened. After going through just about every entity and removing the scripts, we reduced most of the errors. Still a couple of others on occasion, but I haven't been able to spend the time to track them all down yet.

Anonymous said...

Hi Matt,

we did have same issue and i did remove the scripts from onload and onsave events. Now we don't see errors.

Did you upgrade the client yet?.

Could you please share any steps to do the migration for both server ans client?

Any help is appreciated.

Matt Wittemann said...

I have a later post about upgrading the client. The best approach we found is to uninstall CRM 3.0 for Outlook, use SQL Server Management Studio Express (a free download from Microsoft) to connect to the local databases and delete them, and then remove all files that remain in the Program Files folder. Lastly run the install for the 4.0 client. There are a couple of hotfixes out there for some unusual circumstances, so if Outlook crashes after the client install, you'll need to contact Microsoft for them.

Anonymous said...


Looking forward for your post about client upgrade.

Matt Wittemann said...

I have another post about upgrading the client. It's available at http://icu-mscrm.blogspot.com/2008/04/upgrading-crm-30-sbe-to-crm-40_28.html

ICU MSCRM © 2004-2009