The Microsoft Unified Communications Client Deployment Script

Curtis Johnstone, November 2009

 

The Microsoft UC deployment script a customizable Windows Scripting Host (WSH) VBScript that can used to deploy or upgrade Microsoft Office Communicator, Microsoft Office Live Meeting Console, or the Microsoft Office Live Meeting Outlook Conferencing Add-In.  It can be run in an attended or unattended (silent) mode.  See Features for more details of all of the scripts capabilities. No formal support or warranty is offered, implied or intended. Use at your own risk.

How to Use This Script

Follow these 3 steps to use this script:

1.       Copy the installation files for Communicator, Live Meeting, and the Live Meeting Outlook Add-In onto a network share (ensure users have read-access to).

·         See “Prerequisites Installer Files” for more information on which files are required.

·         It is recommended that you put the script on the same network share as the installation media (this helps ensure that users have the necessary access to the share to begin with).

2.       Configure (customize) the script for your environment. See “Script Customizations” for all possible customizations.

3.       Run it (either by manual interactive invocation, or silently in a GPO).

Features

1.       Install, or upgrade, Microsoft Office Communicator, Live Meeting, and the Live Meeting Outlook Conferencing Add-In.

·         Supports upgrading from major and minor releases of Communicator 2005, 2007, 2007 R2.

·         Supports upgrading from an older version of the Live Meeting Console, and the Outlook Live Meeting Conferencing Add-In.

·         Supports installing on Windows XP, Windows 2003, Windows 2008, Windows Vista, and Windows 7 clients.

2.       Automatically populate the user SIP address to one of three formats: a users’ email address in Active Directory, the %username% environment variable, or Nothing.

3.       Supports a Silent or Informational Mode.  A Silent mode can be used to run under a GPO.

4.       Supports an option to copy the installation files locally (with or without a progress UI indicator), and install from the local source.

5.       Microsoft Office Communicator 2005 can be detected and explicitly uninstalled before installing a newer version of Communicator (including any existing desktop shortcuts).

6.       Configures user settings for Communicator and Live Meeting (via local registry entries).

7.       Supports options to not install Live Meeting or the Live Meeting Outlook Conferencing Add-In (for deployments that do not have Live Meeting).

8.       Detects if Outlook is installed, and will not attempt to install the Live Meeting Outlook Conferencing Add-In if Outlook is not installed.

9.       Detects what version of Outlook is installed, and sets the current user Outlook integration settings accordingly.

10.   Detects if Outlook is running, and prompts the user to close, before installing the Live Meeting Outlook Conferencing Add-In.

11.   Generates four log files for troubleshooting: one for the main script, and three separate log files for each of the Communicator, Live Meeting, and the Live Meeting Add-In MSI installations. See Troubleshooting for more information.

 

See Script Customizations for all the possible customizations.

Prerequisite Installer Files

The script requires a Microsoft Installer files for each components: Communicator.msi, LMConsole.msi, and LMAddinPack.msi.

Microsoft Office Communicator

The Office Communicator 2007 or Communicator 2007 R2 installer package (Communicator.msi), can be obtained from your Communicator setup file available on your installation CD. A trial version can also be downloaded at here.

If you are generating the Communicator.msi file from the Communicator.exe file, you can do so with this command:

Ø  Communicator.exe -out <folder path>

The Office Live Meeting Console

The Live Meeting Console executable (LMSetup.exe) can be downloaded from: http://office.microsoft.com/en-us/help/HA101733831033.aspx.

The LMSetup.msi file (used by the installation script) can be extracted from the LMSetup.exe file with the following command:

Ø  LMSetup.exe -out <folder path>

The Outlook Live Meeting Conferencing Add-In

The Live Meeting Outlook Conferencing Add-in can be downloaded from: http://office.microsoft.com/en-us/help/HA102368901033.aspx.

To silently install the console, the LMAddinPack MSI file must be extracted from the executable, ConfAddins_Setup.exe.  To do this, run the command:

Ø  ConfAddins_Setup.exe -out <folder path>

This will generate the installer: LMAddinPack.msi. The MSI can then be used to perform a silent install.

You should put these MSI files on a network share that is accessible to the users who need to install the client. The end-users need Read and Execute permissions on these installer files.

Required User Rights For Software Installation

The logged-on user installing the software must have local administrative rights. Even with local administrative rights, Windows XP SP3, Windows Vista, Windows 2008, and Windows 7 will still likely present a User Access Control (UAC) dialog seeking elevated permissions. The script automatically detects when UAC elevation is required and will prompt for it, and carry on (restarts itself) with elevated permissions if the user grants it.

Running with user-confirmed elevation also enables the script to run the corresponding MSI installer files from the command line in quiet non-interactive mode on Windows 2008, Windows Vista, and Windows 7.

In Windows 2008, the UAC dialog gives the ability to run-as a different set of credentials – with Administrative access. This is NOT supported by the script. The user supplied UAC credentials do not carry-over to the script.

Performing Client Upgrades

To use the script to upgrade any one of the client software packages (e.g. Office Communicator, Office Live Meeting, or the Office Live Meeting Outlook Add-In) configure the script to point to installation files (MSI files) which have be updated with the respective updates (installer patch .msp files). See Applying Small Updates by Patching the Local Installation of the Product for more information on generating MSI files that include update patches.

Quick Customization Reference

All customizations in the Script Customizations section should be reviewed.  A bare minimum customization would include the following:

INSTALLATION_ROOT : specify the share that contains the Communicator, Live Meeting Console, and Live Meeting Conferencing Add-In installation files.

USER_SIP_DOMAIN_NAME : the sip domain for your organization. This will be appended to your user sip addresses.

USER_SIP_ADDRESS_FORMAT : the left-hand side format to use when setting the user “SIP address”.

HAS_CUSTOMIZED :  just set to True after customizing the script; a simple check to ensure users have customized it before running it.

The next section details all possible customizations.

Script Customizations

It is important to customize this script to match the needs and situation it is being used in.  To ensure the script does not run without customization, one customization is set to False by default (HAS_CUSTOMIZED) which will cause the script to fail. You must set this to True when the customizations are complete.

The customization parameters are constants that you set at the beginning of the script.  The customization section is clearly marked with two comments:

'--------------           START CONFIGURATION SECTION     ---------------------

'--------------             END CONFIGURATION SECTION       ---------------------

 

The Following is a Table of Customizations

Name

Description

HAS_CUSTOMIZED

·         False (default):  the script will not do anything because it needs to be customized for a particular environment.

·         True: the script will run.

Simply a flag (safety check) indicating that the script has been customized for a particular situation.

SILENT_MODE_ON

The individual MSI installs are always invokes in silent mode. This setting controls how user-verbose the script is, not the MSIinstallation.

·         False (default): Only 2 situations generate user communication:

1.       If the software installation files are configured to be copied locally, a progress bar will be shown during the copy.

2.       Dialogs will be shown for the initial prompt to start the installation, for any unexpected errors, and one dialog summary once installation is complete.

·         True: will not display any user prompt, status, or error dialogs.  Silent mode can be used in an unattended situation such as being invoked with a GPO.

UNINSTALL_MOC_2005

·         True (default): if the script detects that Office Communicator 2005 is installed, it will first uninstall it (including any desktop shortcuts), before installing a newer version of Office Communicator.

·         False, the MSI installation package of the newer Office Communicator may, or may not, successfully uninstall MOC 2005.

SET_ALL_COMMUNICATOR_SETTINGS

·         False (default): only configure Communicator for the custom help menu, and custom tabs if there is a previous version of Communicator installed (the script detects that an existing version is already installed). If there is no prior version of Communicator, all settings will be configured regardless of this setting.  In an upgrade scenario it is likely not needed to change or update key settings such as the user SIP address, or the transport method used to connect to the OCS server, so the default is not to change these in an upgrade scenario.

·         True: all Communicator and shared Live Meeting settings will be configured, regardless of whether it is a client upgrade, or new installation.

See the Communicator and Live Meeting Configuration Settings section for more details on the specific settings.

INSTALL_LIVEMEETING

·         True (default): installs the Live Meeting console.

·         False: does not attempt to install the Live Meeting console.

INSTALL_LM_OUTLOOK_ADD_IN

·         True (default): installs the Live Meeting Outlook Conferencing Add-In.

·         False: does not attempt to install the Live Meeting Outlook Conferencing Add-In.

COPY_MSI_FILES_LOCALLY

·         True (default): copies and runs the MSI installation files locally. The MSI files are copied to the Windows client%TEMP%\UCClientInstall directory and run from there. The files are removed once the installation completes.

·         False: runs the MSI installation from the MSI files on the network share (specified in the corresponding INSTALLER ROOT configuration settings).

MANUAL_CLIENT_CONNECT

·         False (default): Communicator and Live Meeting will be configured to use automatic sign-in with DNS, instead of manually specifying the server and transport type (TCP orTLS). DNS entries will be used to specify the transport type and server to connect to.

·         True: Communicator and Live Meeting will be configured to connect to the OCS server which is manually specified in parameters INTERNAL_SERVER_ADDRESS or EXTERNAL_SERVER_ADDRESS, and using the transport method specified in CLIENT_TRANSPORT_TYPE (instead of using DNS).

CLIENT_TRANSPORT_TYPE

·         4 (default): Communicator and Live Meeting will be configured to use TLS as the transport.

·         2: Communicator and Live Meeting will be configured to use TCP as the transport.

If MANUAL_CLIENT_CONNECT is set to False (i.e. DNS is being used to specify the server and transport), the Communicator client will use the transport identified in the DNS results. This setting will have no effect.

If this is set to a null string (“”), nothing will be set in the registry.

INTERNAL_SERVER_ADDRESS

Specifies the OCS server that the Communicator and Live Meeting clients should connect to if they are internal (inside the firewall).

Notes:

·         This setting not be made by the script, if MANUAL_CLIENT_CONNECT is set to False (i.e. DNS is being used to specify the server and transport).

If this is set to a null string (“”), nothing will be set (default).

EXTERNAL_SERVER_ADDRESS

Specifies the OCS server that the Communicator and Live Meeting clients should connect to if they are external (outside the firewall).

Notes:

·         This setting not be made by the script, if MANUAL_CLIENT_CONNECT is set to False (i.e. DNS is being used to specify the server and transport).

If this is set to a null string (“”), nothing will be set.

INSTALLATION_ROOT

The network location of the installation files. This includes theMSI and accompanying files for Microsoft Office Communicator, the Office Live Meeting Console, and the Office Live Meeting Outlook Conferencing Add-In. See the “Prerequisite Installer Files” section for more details on the installation files required. Ensure everyone has Read access to this share.

COMMUNICATOR_MSI

The name of the Microsoft Office Communicator MSIinstallation file. The default is “Communicator.msi”.

LIVEMEETING_MSI

The name of the Microsoft Live Meeting Console MSIinstallation file. The default is “LMConsole.msi”.

LIVEMEETING_ADDIN_MSI

The name of the Microsoft Live Meeting Outlook Conferencing Add-In MSI installation file. The default is “LMAddinPack.msi”.

CUSTOM_MENU_ENTRY

The custom help menu item name that appears in the Communicator Help menu. Selecting this menu item will invoke the URL configured in the HELP_URL customization (see below).

Set this to a null string (“”) if you do not want to use this setting (default).

HELP_URL

The custom help URL that will be invoked when the above custom menu entry is selected by the user.

Set this to a null string (“”) if you do not want to use this setting (default).

CUSTOM_TAB_XML

A fully qualified file path name of an xml file that defines custom tabs in Communicator.

Set this to a null string (“”) if you do not want to use this setting (default).

LOGFILE_SUBDIR

·         The sub-directory (of the user %TEMP% setting) that will be used to store the log files – this includes the script log file and the log files produced from the individual MSIinstallation files.

·         See Troubleshooting for more information about the location of the log files.

USER_SIP_DOMAIN_NAME

·         Set this value to the right-hand side SIP domain name of your OCS deployment.

·         Do not preclude the string with “SIP:”.

·         The default is null (“”). This value must be set.

USER_SIP_ADDRESS_FORMAT

Specifies how to auto-populate the left-hand-side of the user SIP address. It can be one of three values:

·         0 (default): No SIP address is set.

·         1: The SIP is set to the AD email address (which is the “UserName” property on the user object in AD).

·         2: The SIP is set to the USERNAME environment variable + “@” + USER_SIP_DOMAIN_NAME (see previous setting).

 

Running the Script

The script can be run manually by double-clicking the script .WSF file in Windows Explorer.  It can also be run unattended by attaching it to a GPO.

The SILENT_MODE_ON customization parameter controls whether user dialogs (both informational status and prompts, and errors) are displayed on the console. If you are using the script in an unattended mode with a GPO, set SILENT_MODE_ON to True.

Troubleshooting

The following 4 log files are produced (assuming the installation of all the components is attempted):

Microsoft_UC_Client_Install.log                               

 Information and errors from the main script.

CommunicatorMSI.log

Information from the Communicator MSI installation process.

LiveMeetingMSI.log

Information from the Live Meeting Console MSI installation process.

LiveMeetingAddinMSI.log

Information from the Live Meeting Outlook Add-In MSI installation process.

 

The log files reside in the user %TEMP%\<logging subdirectory>. Note: on Windows Vista, Windows 2008, and Windows 7, elevating for UAC may cause the user %TEMP% directory to change. If you are troubleshooting, pay close attention to any error dialogs to the reported location of the log file(s).

Here is an example of running the script on Windows Vista with elevated permissions:

1.       Before elevation     : C:\Users\<user-id>\AppData\Local\Temp\2\<logging sub-directory>

2.       After elevation        : C:\Users\<user-id>\AppData\Local\Temp\<logging sub-directory>

On Windows XP and Windows 2003 the %temp% directory is typically: <drive>:\Documents and Settings\<user-id>\Local Settings\Temp

The Application event log might also be useful in troubleshooting installation problems.

Support

This script is offered on a best effort basis by Curtis Johnstone. No formal support or warranty is offered, implied or intended. The author, Curtis Johnstone, takes no responsibility for its use.

Notes:

·         This script as been testing in various scenarios on Microsoft Windows XP, Vista, and 2003 with the latest Service Pack’s (as of July 2009). 

·         All testing was done under the English language locale.

·         This script has not been tested when running in a Remote Desktop environment for Outlook/Office integration.

·         Outlook integration has not been tested with Outlook/Office 2002.

Communicator and Live Meeting Configuration Settings

The script configures Office Communicator and Office Live Meeting by setting shared registry values.

The Communicator and Live Meeting settings are set in the Current User and Local Machine Communicator registry keys, as well as the Local Machine Software Policy key.

The Office Live Meeting shared settings are configured in the Current User UcClient shared settings (in HKCU\Software\Microsoft\Shared\UcClient). See the actual script for specific settings.

Most registry settings are documented in Microsoft’s Group Policy documentation for each respective UC client. The GPO settings and additional information can be found in the following references:

1.       Office Communicator 2007 R2

2.       Office Communicator 2007 Additional information about Communicator 2007 GPO settings is available at: http://technet.microsoft.com/en-us/library/bb963959.aspx.

3.       Description of the administrative template (.adm) file for the Windows-based Live Meeting 2007 client and the Conferencing Add-in for Outlook

4.       Microsoft TechNet - Appendix C: Live Meeting Registry Keys

5.       2007 Office system Administrative Template files

6.       Office 2003 Service Pack 3 Administrative Template

Additional information:

1.       Microsoft TechNet - Office Communicator 2007 and Outlook 2007 Integration

2.       Microsoft TechNet - Office Live Meeting Registry Keys

3.       Microsoft TechNet - Registry Keys Shared with Microsoft Office Communicator

4.       Microsoft Office Communicator 2007 R2 Deployment Guide

5.       Deploying the Microsoft Office Live Meeting 2007 Client with Office Communications Server 2007 R2

Communicator and Microsoft Outlook and Office Settings

Microsoft Outlook supports integration with Microsoft Office Communicator – namely Communicator Presence information can be shown for Outlook message recipients. The script configures Outlook to use the Presence information from Communicator. If Outlook is not installed, no Microsoft Office integration settings are set.

Copyright

·         This script is Copyright © 2009 Curtis Johnstone. This script may be used for personal use, but it cannot be distributed without explicit permission.

·         Microsoft Office Communicator, Microsoft Office Live Meeting, and Microsoft Outlook are registered trademarks of the Microsoft Corporation. © Copyright 2009 Microsoft Corporation.

 

 

Back to Inside OCS