In my previous post, I detailed the issues we’d been having with Shoretel’s Call Manager client under Vista since v8.1 was released. In this post, I’m going to detail the process used to get around the issue until Shoretel resolve it and release an update.
You’ll need to download and install the Microsoft Application Compatibility Toolkit (v5.6 at the time of writing)
The first thing to do is to create the security database containing the Application Compatibility shim (more about this in my previous post). The shim will force the installer to inherit the parent process’ token. When logged on as a standard user, this means that the Outlook integration installer will run as a standard user.
“The RunAsInvoker compatibility fix enables an application to start by using the token inherited from the parent process. The RunAsInvoker fix overrules both installer detection and manifest processing, and will determine the elevation state for the entire application after it is applied.” – TechNet
- Fire up Compatibility Administrator
- Either create a new custom database, or rename the default one.
- Right-click on the database and select Create New, Application Fix
- On the next screen, specify a program and vendor name, and point the wizard to the location of the UninstWrpr.exe file. Hit Next
- On the compatibility mode selection screen, select the “RunAsInvoker” mode, then hit Next
- Don’t select anything on the Compatibility Fixes screen. Hit Next
- The next screen will prompt you to choose which identifying information to use to determine when to apply the shim to the target application. It’s probably safest to leave this at defaults. When I first tested the process, I selected only options that weren’t going to change with a new version of PCM, but this may cause issues down the track depending on how you roll out the security database
- The AppCompat database is now almost ready to go.
- Save the AppCompat database file to somewhere on your network. domainnetlogon or in one of your Group Policy script folders would be a good candidate.
- Install the patch locally, and have a look in %windir%AppPatchCustom. You should see a new SDB file in the form of {guid}.sdb. You’ll need that full file name and path for the batch file below.
- Set up a new computer logon script with the following contents:
@echo off @echo Shoretel Call Manager Outlook Integration Patch if exist %windir%AppPatchCustom{your-patch-guid-here}.sdb goto ALREADYINSTALLED :INSTALL sdbinst -q "domainnetlogonShoretelOutlookFix.sdb" goto END :ALREADYINSTALLED @echo Patch is already installed :END
- Reboot a machine (hopefully a test PC) that has the group policy applied. The computer logon script should run and install the patch. You can verify by checking the %windir%AppPatch folder to see if the SDB file has appeared.
If you check in the Call Manager install folder, you will also notice that the UAC shield icon has disappeared from the program icon for UninstWrpr.exe
I’ve tested this, and it seems to work well. Of course, as with anything you find on the ‘net, try at your own risk – and never test it in your live environment.
Unfortunately there’s no other easy way to distribute the SDB file. This shouldn’t hopefully be a long-term fix as we’re still hoping that Shoretel will release a proper solution.
Shoretel are now promising that this will be resolved in version 13 of Communicator.
LikeLike
Just a further note on this. I hadn’t tested the MAPI contact import functionality, so I build a completely fresh PC and logged in as a non-admin user with the patch applied. I created a contact, ran the MAPI import and waited. The import succeeded, and I was able to dial by name from Call Manager. Hooray.
LikeLike
Pingback: ShoreTel Communicator 11 & Outlook 2010 & Windows 7 - ShoreTel Forums
Re-posted link to article to spiceworks.
LikeLike