MS CRM 4.0 Upgrade

| No Comments | No TrackBacks
I am currently working on upgrading MS CRM (Microsoft Customer Relationship Manager) software; the company are upgrading from MSCRM 3.0 to MSCRM 4.0. Thrown into the project to perform the upgrade while maintaining the configurations of the existing application, I worked with a consultant and created a structure for the upgrade process. All facts were gathered and certain individuals' laptops were upgraded to cope with the upgrade.

Additionally, separate and special user accounts needed to be created in order to make changes to the system; configurations should be linked to the particular user account. There were instances of users creating major configurations to the system who then left the company; the configurations became unusable after their accounts were disabled. (The user who installs CRM 3.0 must install CRM 4.0.)

The rough upgrade process is detailed below:

1. If MSCRM is installed on the server, ensure that it is removed and restart the machine.

2. Restore the test databases for MSCRM 3.0

3. Ensure that the SQL 'Reporting Services'are set up and can be retrieved through a web URL (http://databaseserver/ReportServer). Connect to ReportingService in SQL Management Console and give the group permission.

a. Make sure that the user who has been set up is in the CRM_REPORTS_CONTENTMGRACCESS group so the user has permissions to the ReportsServices.

4. Ensure that IIS is installed on the server where you plan to install MSCRM.

5. Ensure that the user who will be doing the installation has the correct user permissions to complete the installation.

6. Ensure that the user who will be doing the installation is a db_owner for the MSCRM databases / METABASE database. The user also needs to be sysadmin on the database server.

7. Do the changes for the build version revision number. This is in the database in the BuildVersion table. Revision number column should be the number. Version 3.0.5300.9 is used for this installation. Format: MajorVersion.MinorVersion.BuildNumber.Revision.

8. Change the organisation name in the database. This table is called OrganisationBase and the column is 'Name'. This should be the name of the database. 


Before the installation, complete the following change to regedit so the database works. The error "MachineName value [server_name]\[instance_name] is invalid" exists. The following is an email excerpt.


The following steps will allow you to install CRM 3.0 to a named instance of SQL Server.

*Please note: After performing these steps you will still get the same error message, but the "Next" button will be enabled and you will be able to continue with the installation.

**Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk. To resolve the problem, add the IgnoreChecks registry key to the Microsoft CRM server. To do this, follow these steps:

1.  On the Microsoft CRM server, click Start, click Run, and then type regedit .

2.  Open the following registry key:

HKEY_LOCAL_MACHINE\Software\Microsoft

3.  If the MSCRM registry key exists, go to step 6. If the MSCRM registry key exists, go to step 4.

4.  Right-click Microsoft, point to New, and then click Key.

5.  Type MSCRM as the name of the registry key.

6.  Right-click MSCRM, point to New, and then click DWORD value.

7.  Type IgnoreChecks as the name, and then press ENTER.

8.  Right-click IgnoreChecks, and then click Modify.

9.  In the Value data box, type 1 , and then click OK.

10.  In the Environment Diagnostics Wizard, click the Back button, and then click the Next button to run the Environment Diagnostics Wizard again. You will still receive the error message. However, the Next button will now be available. Click Next. Ignore the error messages. 

*Note You should use the IgnoreChecks registry key only to bypass the error message that is mentioned in the "Scope" section. Correct any other problems before you continue trying to install Microsoft CRM.

  1. Start to install MSCRM 3.0.
    1. Type in the key and click 'add'. Select the terms and conditions.
    2. In Organisation name, type in the name of the database, as above in step 8. 
    3. Select the default website or a new website for running the web-based version of MSCRM.
    4. Type in the database. If the database can not be connected to and no tables appear, make sure you have set up user permissions correctly, as per step 6.
    5. Select the ReportServer: (ie: http://Databasename/ReportServer)
  2. Run the workflows cleanup SQL script on the MSCRM database.
  3. Apply MSCRM 3.0 rollup 2. It may ask if it's ok to restart some running services - click OK.
  4. Test MSCRM works by logging onto the server and checking the web address. If the application comes up, then it has worked.
  5. Install the hotfix and complete the following:

Note If the default values are small, you may have to create or change the OleDbTimeout value and the ExtendedTimeout value. Then, the MSCRMFastReassign.exe tool can process all the records. To do this, follow these steps.

Create or change the OleDbTimeout value

1.       In Registry Editor, locate and then click the following registry subkey:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM

2.       Double-click the OleDbTimeout value. 

Note If the OleDbTimeout value does not exist, create an OleDbTimeout value. To do this, follow these steps:

a.       Right-click MSCRM, point to New, and then click DWORD value.

b.       Type OleDbTimeout.

3.       In the Edit DWORD Value dialog box, click Decimal, type 600 in the Value data field, and then click OK

Note The value of 600 represents 600 seconds. By default, the value is 30 seconds.

Create or change the ExtendedTimeout value

1.       In Registry Editor, locate and then click the following registry subkey:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM

2.       Double-click the ExtendedTimeout value. 

Note If the ExtendedTimeout value does not exist, create an ExtendedTimeout value. To do this, follow these steps:

a.       Right-click MSCRM, point to New, and then click DWORD value.

b.       Type ExtendedTimeout.

3.       In the Edit DWORD Value dialog box, click Decimal, type 5400000 in the Value datafield, and then click OK

Note The value of 5400000 represents 5,400 seconds. By default, the value is 900 seconds.

To install this hotfix, follow these steps:

1.       Move the MSCRMFastReassign.exe file to the following folder:

C:\Program Files\Microsoft CRM\Tools

2.       Log on to the Microsoft Dynamics CRM server as a user who has the Administrator role.

3.       Run the MSCRMFastReassign.exe file.

4.       In the Entity Reassignment Tool dialog box, select the user in the Current User list from whom you want to reassign the records.

5.       In the New User list, select the user to whom you want to reassign the records.

6.       Click Reassign

Note You cannot undo this action.

After you finish the reassignment process, you receive the following message:

You have successfully reassigned all entities to the new user. 
Previous User: User1
New User: User 2

Notes

  • The User1 placeholder represents the actual user who you select in the Current User list.
  • The User2 placeholder represents the actual user who you select in the New Userlist.
  • The tool may take 90 minutes or longer to reassign 900,000 records or more records, depending on the performance of the Microsoft Dynamics CRM server and the Microsoft SQL Server that are used.
  • To determine the number of records that a user has, you must run a query against the Microsoft Dynamics CRM database in SQL Query Analyzer or in SQL Server Management Studio. You must run the query as a Microsoft Dynamics CRM Administrator, because the records that are displayed depend on which records the user has access to or has the visibility to see. If you want to see the records that are owned by the user for other entities, you must change FilteredContact toFiltered_EntityNameEntityName is the name of the other entity, such as FilteredAccount. This query estimates how long it will take the MSCRMFastReassign.exe tool to assign records from one Microsoft Dynamics CRM user to another Microsoft Dynamics CRM user. If accurate estimates of the time to run this tool are required, you should run this tool in a test deployment that contains a copy of the Microsoft Dynamics CRM production databases on similar hardware. To determine the number of records that a user has, run the following query against the Microsoft Dynamics CRM database in SQL Query Analyzer or in SQL Server Management Studio, as a Microsoft Dynamics CRM Administrator.
·                SELECT OwnerIdName, count(*) as 'RecordCount'
·                FROM FilteredContact
·                GROUP BY OwnerIdName
·                ORDER BY 'RecordCount'

 

  1. Turn on log tracking - the following link explains how: http://support.microsoft.com/kb/907490
  2. Make sure that workflows, custom reports, etc are working
    1. All users should see reports in the GUI. (There is currently a problem with this displaying to certain users, and there is no fix found for this yet.)
  3. Delete workflows by going into the 'workflow manager' and deactivating and deleting the workflows.
  4. Delete old reports in the CRM user interface under 'Reports'
  5. Apply MSCRM roll up 3 (it will stop and start services that are running) and test that the system works.
  6. Run the MSCRM 4 upgrade.
    1. Make sure that the name is correct
    2. Select GBP in currency (Pound)
    3. Report server - URL
    4. There will be an error with SQL; ignore it. Higher level above sysadmin (server admin) is needed on the database.
  7. Ensure that the tracking is still set up. NOTE: Logs are installed under the Trace folder where MSCRM is installed.
  8. Install rollup 2 for MSCRM.
  9. Install rollup 3 for MSCRM.
  10. Under the web location, browse to ISV. Create a folder called [Name].
  11. In the zipped file, extract the files and put them underneath the [Name] directory created in the step above.
  12. Modify the security on the RSR folder and all sub-files and sub-folders. Add 'Autjhenticated Users' and give FULL CONTROL.
  13. Copy the DLL into the directory: [CRMWEB]/bin. And set the permissions on this one as above.
  14. In the [Name] folder, open web.config file and the CRMServer should be correct to what is installed, and change the OrgName to the name of the database as earlier defined. (For this, remove the port number 5555).
  15. In the web.config file, need to enable GET/POST for web services. Add this:
<configuration>
    <system.web>
    <webServices>
        <protocols>
            <add name="HttpGet"/>
            <add name="HttpPost"/>
        </protocols>
    </webServices>
    </system.web>

</configuration>

  1. In the web-based software, browse Settings>Import Customisations.
  2. Click Browse to locate the customisations.zip file. Then click UPLOAD.
  3. The customisations will be displayed. Select all of them except for InstallBase. (InstallBase does not import) and click on 'Import Selected Customisations').
  4. Go to Settings>Customise Entitites. Select 'publish all customisations' under actions.
  5. Go to settings>administration>system settings. Select the tab 'Customisation' in the popup. DLR is the prefix. Ensure that the box contained Web App, Outlook, and Outlook Offline.
  6. Test!

An additional issue I noticed was when viewing the web-based tool was the file blank.aspx kept displaying. A quick fix for this issue is to remote-access into the CRM server, and open Blank.aspx in notepad.  (note: Blank.aspx can be found in: My Computer -> Program Files -> Microsoft Dynamic CRM -> CRMWeb -> _root -> Blank.aspx). On the header of Blank.aspx, add the word test (or a blank space) and save Blank.aspx. Restart IIS, and then clear the temporary internet files of the user with the issue.

Related Entries

No TrackBacks

TrackBack URL: http://jenikya.com/cgi-bin/mt5/mt-tb.cgi/173

Leave a comment

Archives

OpenID accepted here Learn more about OpenID