Dynamics CRM 3.0 Clients on Windows 2003 Terminal Services or Citrix Presentation Server 4.0

When the CRM 3.0 was about to be released last year, we heard lots of feedback from the customers and partners about running the CRM Outlook Clients under the Terminal Server or Citrix servers (TS/Citrix). Since we didn’t have enough time to address the request before the product rolled out, we decided to address it post release. So after we released CRM 3.0, we published these two articles:

Microsoft CRM 3.0 Desktop Client for Outlook Deployment with Terminal Server

Microsoft CRM 3.0 on Citrix Presentation Server 4.0

The “solution” above is a set of scripts that runs under a command prompt. The intention was that the user will update the script as needed to fit their business needs (many of them already have logon scripts for each user and this can be part of that process). 


The basic issue was that CRM 3.0 client setup did BOTH installation and the configuring settings for the user. It worked great, unless you were running on Terminal Server or Citrix servers, where the admin user installs the bits once, and the end-users configures the settings and use the services.
The TS/Citrix end-user would need to run configuration part to configure the CRM client for their first time use (very similar to Outlook email profile creation wizard that need to be run for each user). However, we didn’t have a separate configuration tool. It was built into the setup.

The end-user would have to run the setup to get to the configuration portion. Obviously the regular end-user on a TS/Citrix will not be able to run any kind of setup.exe or msi files. Therefore we had to provide a solution where the configuration can be done outside of the setup.

Current Solution

So the provided script above does just that. It configures the CRM user settings by creating some user registry settings, copying some files and configuring the Outlook and PST files for each user.

The following configures the settings for the CRM client user

1. Add CRM related registry keys and values
    a. Create a CRM hive under HKEY_CURRENT_USER for each CRM user - mscrmclasses.cmd file has the list of registry values that needs to be created for each user
    b. Register CRM add-in – you will need to update a couple values in the "<HKCU>\Software\Microsoft\Office\Outlook\Addins". Terminstall.cmd file has the list
    c. Register CRM registry keys – you will need to update a few registry keys to "<HKCU>\Software\Microsoft\MSCRM Client". Terminstall.cmd file has the list

2. Copying PST file to each CRM user - You will need to copy the provided MSCRM.pst file to Documents and Settings>\<user>\Application Data for each user

3. Copy mail merge files to each CRM user - Copying Word Merge files to the folder "<Documents and Settings>\<user>\Application Data\Microsoft\Templates\Mail Merge"

4. Register CRM PST Service and CRM Address Book Provider with Outlook - This portion can only be done by calling the provided CrmForOutlookTSInstaller.exe directly. Terminstall.cmd file has the detailed parameter that you will need to pass in

All of the above steps happen automatically within the termininstall.cmd file, but if you need to automate the process with your own script or tools, you will need to make sure those four things above is done for each user.


We understand that this was a “quick” solution for the current release. We will be addressing this issue directly within the product so you do not need a set of “script” to enable running CRM clients under TS/Citrix. As you can guess, the setup and configuration phase will be split into two and you can run them independently.

John Song

Comments (14)

  1. I Bet You Look Good On The Dance Floor… Back in May, I wrote that our sustained engineering (SE) team

  2. jon says:

    i have had serious issues installing on a windows 2003 standard terminal server.  Crm is installed on the SBS 2003 premium server but in outlook for the users it only comes up with the crm folder and no functionality.  After closer inspection in the registry in current user for the user it does not have any of crm entries.  how do i fix this?



  3. John Song says:


    Do you know if you are running roaming profile for the users? If so, roaming profile will wipe out the HKCU registry hives every time the user logs off and the CRM client will no longer function.

    If you restore this (HKCU keys) as part of login script every time the user logs in, then it will work. (however, we do not support roaming profile in CRM 3.0. This will be addressed in our next release)

  4. Greg Kaeser says:

    I’m getting errors in updating the registry while running the modified terminstall.cmd install manually.  Have there been any problems with the script.  How can I find out which lines are failing and how can I fix it?  Thanks!

  5. justin.m.farr says:


    Have you found a fix to your problem yet? I have uncounted the same issue as you running 2003 std PS4.0. John’s solution didn’t quite make sense to me as the installation doesn’t work from the start. e.g. I install the client logged on as an administrative user no other users logged on placed in user install mode. The install completes successfully however when you launch outlook you get an error saying could not load CRM addin. This is before I have logged off so whatever HKCU keys should still be there. I get the following event in the event log.

    Event Type: Error

    Event Source: MSCRMAddin

    Event Category: None

    Event ID: 16931

    Date: 27/10/2006

    Time: 15:29:43

    User: N/A

    Computer: $$$$$$$$


    A problem occurred initializing Microsoft CRM COM interop.  Restart Microsoft CRM and try again. HR=0x80131522. Context=. Function=CAddin::HrActivateAddin. Line=279.

    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

    Any help would be much appreciated.



  6. Bobby Hyam says:

    Other applications that need to set up per user things like registy and copying files on first run and things like that by planting things in the Default User profile (like in the RunOnce command in the registry) so that when a new user logs on they automatically set themselves up. You are then faced with the problem of users that already have profiles, but you could simply add the same things to all existing local profiles.

  7. Today we have a relatively serious topic: Registry Settings. Unfortunately this can be an extremely boring

  8. In answer to JJbrisbane, it’happen when the product build in terminstall.cmd is incorrect … for this information you must use .net framework configuration and show propriety off the addin assembly instead of the information specified in the readme that come with terminstall.cmd …

    For exemple for me in "add or remove program" i found 3.0.5300.1 but in the .net framework it’s 3.0.5300.0 and it work with this version …

  9. Chris Krause says:

    Hi David,

    I fiddled with the product build – actually I installed the CRM Desktop Client as an Admin, and it says in "Add/Remove Software" it is Version 3.0.5300.1, but in the .net Konfig the Assembly is indeed registered as 3.0.5300.0 –

    I had the exact errors jjbrisbane & justin.m.farr encountered – I found out for me that I falsely changed the line

    SET PRODUCTBUILD="3.0.5300.1"



    SET BUILD="3.0.5300.1"


    in terminstall.cmd. If set

    SET PRODUCTBUILD="3.0.5300.1"



    SET BUILD="3.0.5300.0"


    it works like a breeze.

    If both lines are set to "3.0.5300.0", in my environment Outlook coughs up an error message stating "the CRM client must be updated" or the like…

    Was so happy it worked I truly had to share this, Seasons Greetings & happy new year,


  10. Alex says:

    I am curious what the correct version settings are like, now Rollup 1 is installed on the CRM Server and Citrix Outlook client.

  11. Huppeldepup says:

    Hi ,

    Does someone also had the same problem, that when i want to select a column to remove in the associated view  of a entity (every view actually) i can’t select it. I does not contain a green rectangle. I have the hand and the tool tip to click here, but when i click noting happens ?????????

    Does someone know anything that could cause this ????

  12. satpaul says:


    Can anyone help? We have client who is accessing our application through a hosted Citrix web interface through a Windows 2003 Server SP2 Terminal Services on their LAN. However they get lots of SideBySide errors in the system event log such as:-

    event id 58

    Syntax error in manifest or policy file "j:Program filesCitrixICA ClientMicrosoft.VC80.MFCLOC.MANIFEST" on line 5.

    event id 34

    Component identity found in manifest does not match the identity of the component request.

    event id 59

    Generate Activation Context failed j:Program filesCitrixICA ClientMFC80.DLL. Reference error message: The manifest file contains one or more syntax errors.

    They are running the latest Citrix ICA client 10.200

    Any ideas?


  13. Dan says:

    I have been fighting with crmforoutlooktsinstaller.exe, and I would prefer to just script this runctionality myself.

    2 questions (Referring to step 4 of the original post).

    1. "Register CRM PST Service" — is this just adding the datafile to Outlook (I am using VB Namespace.AddStore for this).

    2. "(Register)CRM Address Book Provider":  Any insight on how to do this programatically, or even manually, so I can script that, as well?



  14. cbardet says:

    I post this message because after long time, I have found a issue to my problem.

    I have a Windows 2003 Terminal Server

    I have Office 2007

    When I try install CRM 3.0 client for Outlook 2007 with the script "terminstall.cmd" version 10/2/2005, I have the CRM folder in Outlook but no CRM toolbar and no connexion to CRM server.

    After long search, I found this solution :

    @Echo Enabling the addin in case it was disabled by outlook >> %LOGFILE%

    reg delete HKCUSoftwareMicrosoftOffice11.0OutlookResiliencyDisabledItems /f

    and for version 10.0, 9.0 and 8.0

    But no line for version 12.0

    I add this line :

    reg delete HKCUSoftwareMicrosoftOffice12.0OutlookResiliencyDisabledItems /f

    And it work 🙂


Skip to main content