The client software for Microsoft Lync 2010 is only available as an EXE file. But when you wish to distribute the Lync client to multiple workstations, it is much easier to use the software deployment method using Active Directory and Group Policies. For this purpose the presence of an MSI file is required. In this article I will describe the required steps for a successful distribution using Group Policies.
Extracting the MSI file
The first step is to obtain the MSI file from the EXE file. First we need to run the EXE file and fully install the Lync client software. After the installation has finished, use Windows Explorer to open the C:\Program Files\OCSetup folder and you will find a Lync.msi file in here. Copy this file into another folder.
After the file has been copied, you can safely uninstall the Lync client software again.
Attempting to install the MSI file
In general it is good practice to first try to install the MSI file manually. If it even doesn’t install manually, how on earth will it ever get installed using a GPO? So, let’s give it a try…
Unfortunately the installation fails with an error message saying that the installation can only be run using the setup program.
Microsoft intentionally disabled the ability to install the MSI file since the setup program not only installs the Lync client itself, but also checks for other required components. Among these are the Visual C++ runtime components and the Silverlight browser plugin.
So if we first ensure that the required components are preinstalled, there should be no reason why we can’t use the MSI file to install the Lync client.
Installing the MSI file using the documented method
Although the recommended installation method is by using the setup program, Microsoft does provide a documented method to install the MSI file anyway.
According to KB article 2477965 in the Microsoft knowledge base it takes a registry modification to allow the MSI file to install. Open the registry editor on the computer and browse to the following registry key:
Now add a new DWORD value named UseMSIForLyncInstallation and set this value to 0x00000001. After setting this value it will be possible to install the Lync client using the MSI file.
This setting is however not included in the ADM template, so you must either write your own ADM template for this or use some other method (scripting?) for configuring this registry key on all computers.
Installing the MSI file using the alternative method
Fortunately there is an alternative method for allowing the MSI file to install without the need for configuring the aforementioned registry key on all computers. Remember that the MSI file checks if it is being invoked by the setup program? And that it also checks for the presence of a registry key? So why not just remove these checks from the MSI file?
Start your favorite MSI editor and open the Lync.msi file. As an example I used ORCA to edit the MSI file. You can download ORCA here.
First create a new transform by using the Transform|New Transform menu. After the new transform has been created browse to the LaunchCondition table in the left pane and in here you have to look for the line that reads:
OCSETUP OR Installed OR USEMSIFORLYNCINSTALLATION = "#1"
This is the check that prevents installing the MSI file. Now simply delete this line. Generate the transform by using the Transform|Generate Transform menu and save it to the same location where the MSI file is in.
After making these modifications you should be able to create a new software distribution by adding the MSI file and the generated MST file to a GPO and distributing this to all computers will now be a piece of cake.