Tuesday, 12 January 2010

Communicator Automatic Updates Fail for 64 Bit Machines

In January Microsoft released the .83 release of Communicator 2007 R2. Installing this update either by running the MSP file or using tools like System Center Configuration Manager all is fine for 32 and 64 Bit machines.

Issues started occurred when trying to install the update using the Communicator Update feature within OCS R2. For 32 Bit users all was fine and for 64 Bit users running releases prior to .56. The issue was that all users running Communicator 2007 R2 .56 Release on a 64 Bit platform the update just fails.

After looking at the IIS log files I came across the following entry:

POST /AutoUpdate/Ext/Handler/OCUpgrade.aspx folder=OC&lang=1033&mode=non-ui&arch=x64&flavor=pm&build=fre 443 Domain\User 10.0.0.1 Microsoft+Office+Communicator/3.0 200 0 0 530

While this looks fine the key is the arch=x64, this was from a client running .56 with a 64 Bit Operating System. If I look at the log entry for a 64 Bit Operating System running a release prior to .56 the line looks like

POST /AutoUpdate/Ext/Handler/OCUpgrade.aspx folder=OC&lang=1033&mode=non-ui&arch=x32&flavor=pm&build=fre 443 Domain\User 10.0.0.1 Microsoft+Office+Communicator/3.0 200 0 0 530

At a quick glance this may look ok but the architecture is listed at 32 Bit.

From looking at this, it appears that the .56 release has been changed to get the architecture type from the Operating System rather than either a hardcoded x32 value or it was extracted from the Communicator Build type, as currently Communicator is a 32 Bit build only.

In doing this we now get a 64 Bit Operating System correctly identifying as 64 Bit but in turn it breaks the download. There is an easy fix to this and that is to copy the x32 directory and rename the copy to x64.

So along with having

\\localhost\ClientUpdateData\oc\x32

I now also have

\\localhost\ClientUpdateData\oc\x64

My clients can now download the update and all is fine.

So while my clients can now update this does open up a few questions.

The first is does this mean there will be a 64 Bit version of Communicator. While I do not know what Microsoft is planning an educated assumption can be made.

There is going to be an Office 2010 64 Bit which means there will need to be a Communicator 64 Bit as well for the integration to work correctly and due to the timing of Office 2010 we will hopefully not have to wait until Wave 14.

The bigger question\issue I have is that even if I am running a 64 Bit Operating System I want to, rather need to download a patch\update that works with the client I am running which could be either a 32 or 64 Bit Build.

So as it stands at the moment if a 64 Bit version of communicator is released and I put a 64 Bit update in the 64 Bit folder tree, my 32 Bit Build of Communicator running on a 64 Bit OS will download a 64 Bit update which will not work.

Hopefully this will be fixed before a 64 Bit version is released, as fixing it afterwards will be a nightmare.