Deploying the Lync 2010 Client to different architectures

Thursday, February 3, 2011
The Lync Server 2010 client is a single unified communications client that replaces both the Office Communicator and Live Meeting clients.  This single client performs all the functions of the previous clients, including instant messaging (IM), web conferencing, white boarding, desktop sharing, and enterprise voice.

There are two versions of the Lync 2010 client, one for x86 and one for x64 operating systems.  The difference is the bootloader and the prerequisite software included in the client installer (Microsoft Visual C++ 2008 Redistributable - x86 or x64 and SilverLight).  Somewhat surprisingly, the Lync client itself is always 32-bit.  If you try to deploy the x86 version of the client on an x64 computer (or vice versa), you will get an error message.


This can be somewhat problematic if you are trying to automatically deploy the Lync client using Group Policy or some other automated scripting mechanism to mixed-architecture computers in your environment.

Note: The Outlook Online Meeting add-on will match the 32- or 64-bit version of Office 2007/2010 installed, regardless of the Lync client architecture installed.

The rest of this article discusses how to run the correct architecture Lync client using a single batch file.  This batch file can be called using a computer startup script or a user logon script in Group Policy, or any other automated process.

First, create a network share called Lync Clients for the Lync 2010 client installer packages, with subfolders called x86 and x64.  Then copy the x86 and x64 Lync client installers into the proper folder, as shown below.

Lync Client Share
This sample batch file will run the correct Lync client installer for the computer's given architecture. 
If Exist C:\Windows\LyncInstalled.txt Goto END
Set ARCHITECTURE=x86
If Exist "%SystemDrive%\Program Files (x86)" Set ARCHITECTURE=x64
"
\\server\Lync Clients\%ARCHITECTURE%\LyncSetupVolume.exe"
Echo Time > C:\Windows\LyncInstalled.txt
:END
As mentioned earlier, you can then deploy this script via Group Policy or your favorite deployment mechanism.  Note that the Lync installer must be run as a user with rights to install software.  For this reason, it may be easier to install as a computer startup script.

8 comments:

  1. If you run this batch file in group policy, won't it keep trying to install the lync setup every time a computer runs the group policy? I don't see anything that checks if it's already been installed.

    ReplyDelete
  2. You're right. As a sample script, it's not intended to be a complete solution. Some customization is expected for your own environment, but I updated the sample above to include checking for a flag file so it only runs once.

    ReplyDelete
  3. Thanks Jeff. And great blog post btw.

    ReplyDelete
  4. That explains it very well. Thanks for the great article!

    ReplyDelete
  5. Is there anyway to make the install unattended using switch path etc

    ReplyDelete
  6. See http://technet.microsoft.com/en-us/library/gg425733.aspx for setup switches.

    ReplyDelete
  7. I recommend using the following code to check if its installed or not

    REM Check for presence of key
    REG query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\communicator.exe" || goto INSTALL
    EXIT
    :INSTALL

    and then

    ReplyDelete
    Replies
    1. This will not work if you already have OCS on the client

      Delete

Thank you for your comment! It is my hope that you find the information here useful. Let others know if this post helped you out, or if you have a comment or further information.