It is quiet clearly stated that the deployment tool with the Microsoft Crm Dynamics Toolkit does not work on 64bit servers but I always like a challenge. I worked with Dave Blake and Alex ‘The Genie’ Bojenko on solving this problem for the current CRM project I’m working on.
After a lot of digging around and trying various solutions I have come up with a workable solution, although it is not particularly pretty.
First: Update the deployment framework to use the latest version of PSExec.exe as version that comes with the tool does not work on 64bit environments. I’m using v184.108.40.206. The path to the file is:
Second: The core problem is the 64bit operating systems of Vista, XP, Windows Server 2003, Windows Server 2008 has two branches in the registry one for 64bit entries and one for 32bit entries. If you install Crm on a 64 bit server puts its settings in the 64bit branch and the MSCRM Toolkit deployment tool looks in the 32bit branch which causes the error.
I looked at various ways to change the deployment tool to read the right branch but they were very complicated and required a lot of rework as the problem is it is not possible to specify which registry branch to read with .Net 3.5. However .Net 4 does allow you specify which branch to read so I am hoping that Microsoft will update the Microsoft.Sdc.Tasks.dll registry classes to enable the reading of specific branches.
So what is the answer:
1) Export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM from the registry
2) Edit the exported file and put in the 32bit path which is:
3) Run the edited registry file so that it is added to the operating system’s registry
That is it! You will now be able to run the deployment tool.
It is interesting that Windows Server 2008 R2 and Windows 7 do not used the same approach for 64bit and 32bit registry keys so it is possible that the tool will work out of the box on these operating systems.
PS. – If you are using IPv6 do not enter ‘localhost’ to run the tool but the servername otherwise it does not work!