The OCS 2007 R2 Client Auto Update Feature

Last month Aaron Tiensivu cleared up a little mystery about how to set up the automatic updating feature in MOC 2007 R2.  I finally got around to trying it myself and I noticed that he updated the post to include mention of a Resource Kit tool called CvcMsiUploader.exe which provides some automation for the manual process he described.  I figured I’d try and show how that utility can be used as an alternative means of providing the automatic updates.

  1. First, I downloaded the latest Communicator.msp hotfix from May 19th which brings Communicator to version 6907.22. I placed this patch in the root of the C: temporarily.
  2. Open a command prompt and CD to %Program Files%\Microsoft Office Communications Server 2007 R2\ResKit.
  3. Run the following command to see the options and switches used with this utility:
    CvcMsiUploader.exe /?
  4. You’ll see the full syntax we need to upload a a patch.  I’m not up on my Microsoft licensing abbreviations, but I believe the build type you’ll more than likely specify is Fre. I think the Chk builds are for debugging purposes.  I’m also not aware of an x64 Communicator yet, so you’ll be specifying x32 for your architecture. The language code has to be in LCID format so if you’re using English specify 1033.

    5-21-2009 12-34-03 PM

  5. Now construct your command. Here’s a full example, using my Standard Edition. After completion you’ll get a simple line that says “Uploaded msi file successfully.”

    CvcMsiUploader.exe /Mode:upload /Folder:OC /Arch:x32 /Build:Fre /Lang:1033 /SE:ocs-r2-fe.ptown.local C:\communicator.msp
  6. At this point open the OCS 2007 R2 management console.
  7. Right-click on your pool object and select Filtering Tools | Client Version Filter.
  8. Press the Add button to begin creating a new filter.
  9. Use the following settings to force an upgrade for users running the RTM version of Communicator 2007 R2.

    • User Agent Header: OC
    • Major version number: 3
    • Minor version number: 5
    • Build number: 6907
    • Qfe number: 0
    • Select comparison operation to perform: =
    • Select the action to apply to this version: Block and Upgrade
    • Folder that contains the upgrade images: OC
  10. Press OK twice to save the filter.
  11. The filter might take up to 15 minutes to take effect. You can expedite this refresh by restarting the OCS services.

From a client perspective, the next time you login you’ll see the update begin to download.

5-21-2009 12-22-48 PM

Once the download completes the progress bar turns green and you’ll be prompted to install the update immediately or cancel the installation.  If you don’t take any action, the update will install when the 2 minute countdown expires.

5-21-2009 12-13-35 PM

At that point Communicator will exit and you’ll see the MSP being applied with a Windows Installer dialog.  No user interaction required. 

5-21-2009 12-25-20 PM

When complete, Communicator will restart and sign in again.  You can verify the update has been applied by checking the version number in the About dialog.

 5-21-2009 12-18-02 PM

An important note here is that this process doesn’t run with system credentials on the user’s machine, so if they are not an administrator they won’t be able to complete the upgrade. The automatic updating feature is nice, but it’s really limited to organizations that grant local admin privileges their users.


Recent content I've written for you—just for you!— to enjoy while you're here.


Quick commentary and links to other sources you'll find interesting. I promise.


Some personal background, links to related projects, and other ways to connect.

Hi there. My name is Tom Pacyk and this is my small home on the web. I love the intersection of design, technology, and communication, which is a combination that led me to a career in sales and marketing roles at places like Zoom and ServiceNow. They're a bit old now, but I also had the opportunity to publish a couple of books along the way.

Portland, Oregon is home for me, my wife Beth, and our three kids, but I'm actually a Midwestern transplant—I grew up in the Chicago suburbs and went to school at Purdue and Illinois. When I find some free time I'm probably going to concerts, rooting for the Portland Timbers, or working on my Sunshine Burn Photography project.