Today I spent some time looking for a solution to automate upgrading CRM 3.0 clients to 4.0 and finally found something that seemed to work, most of it here: http://tinyurl.com/luwcty
Since there were no laptop/offline clients, I used the next command, straight from the install CD (ISO):
msiexec /x lightclient.msi /qn
This didn’t work at first, because Outlook was running. This took care of that in an effective, but not so subtle way:
taskkill /F /IM Outlook.exe
After that I installed the 4.0 client, using:
SetupClient.exe /q /targetdir "c:\Program Files\Microsoft CRM" INSTALLLEVEL=2 /l c:\CRM_Client_Install.txt
Again straight from the CD/ISO.
The next step was to automate configuration of the client. This can be done by:
cd "C:\Program Files\Microsoft CRM\Client\ConfigWizard"
Microsoft.Crm.Client.Config.exe /Q /config Client_Config.xml /l c:\CRM_Client_Config.txt
My Client_Config.xml looked like this:
<?xml version="1.0" encoding="utf-8"?>
<CRMConfiguration>
<Client>
<ServerUrl Type="OnPremise" ShowUser="True">http://crmserver</ServerUrl>
<Organization>Avadata</Organization>
<CEIP option="False" />
<Database Reuseexisting="False"/>
</Client>
</CRMConfiguration>
It was pretty easy to create this by looking at the Default_Client_Config.xml that comes with the CD.
The next step is to combine this in a script for SCCM or SMS, but someone else will be doing this, so I just tested the automatic steps manually :) According to the forum thread by Bruce Taylor2 some pauses are required to make a scripted version run smooth, due to the asynchronous behavior of the applications used.