ESX: The heinous vSphere Client Integration Plugin

Issue

Sick of the “Download Client Integration Plugin” when connecting to your vSphere server? Me too. I was determined to get it working and finally… (Read the whole story or scroll to the end for the summary).

Troubleshooting

On a brand new Windows 7 VM, with Chrome (55.0.2883.87 64-bit)*. I installed the client integration plugin (Build 10.0.3279). No other VMWare add-ons installed, like PowerCLI, VMRC etc.

I launched Chrome, clicked “Open vmware-csd.exe”, refreshed a few times and hey presto, the prompt was gone and the “Use Windows session authenticate” tick box was available. It also worked in IE 11.

Note: * The version of Chrome was installed using the Enterprise installer that installs to %ProgramFiles(x86)% as opposed to %AppData%, from an MSI.

Great, but like most of us in the real world I have two accounts, a low-level ordinary user account and a admin account. It is the latter account that has permissions on our vSphere 6.0 estate. It would be really handy if the “session authentication” worked for my admin account too.

I launched Chrome as my admin account (via a cool tool “SE-TrayMenu” that is launched as my admin account on PC start), navigated to the page, but no matter how many times I rebooted or refreshed, the “Download client integration plugin” was still there and to make matters worse, Chrome was not playing nice with two Windows profiles in the same session. Grrr!

I remembered Firefox had an “application mode” which essentially removes all the tabs and address bar. Chrome has one too, so I passed the following parameters to my Runas command:

The –no-sandbox removes the issues I was having running Chrome as a different user profile.

And it worked. No client integration prompt, and ticking the box passed my admin credentials.

BUT, when I clicked Login, no flash. Ahhhhh!!

No Adobe Flash

So I launched a normal Chrome session as my admin account and in the omnibox (address bar), I typed: chrome://plugins

Very odd, Flash player is out of date, yet, doing the same thing as my ordinary account it showed version 24.0.0.186. Clicking the “Download Critical Security update” only took me on a wild goose chase through Adobe’s website.

I tried adding the –allow-outdated-plugins switch to my command. All that did was show the helpful message “download failed”:

A bit of Googling, I used chrome://components which showed Adobe Flash Player – Version: 0.0.0.0. Rather odd:

The “Check for update” button only resulted in “Component not updated”.

By Group Policy, our admin accounts do not have proxy settings required to get out to the Internet, so I spent a while hacking my registry to override group policy, albeit to no avail. It still wouldn’t download, probably because the download site is blocked by the proxy. I tried downloading flash manually, but again, I was foiled by our proxy. You can request Flash as an MSI from Adobe, but it takes a few days and I didn’t want to wait a few days.

Mmmm. Why was Flash fine for my ordinary account, but not for my admin account? I went back to chrome://plugins, but this time, I clicked  + Details (top left). This showed me a whole bunch of info:

I compared this with by non-admin account:

Interesting. And sure enough, in Windows Explorer, the folder %localappdata%\Google\Chrome\User Data\PepperFlash\24.0.0.186 was missing from my admin account’s profile. I made sure all Chrome processes were terminated:

And copied the files from my non-admin to my admin profile

Launching Chrome as my admin account, and checking the status of Flash with both chrome://plugins and chrome://components showed Flash was installed.

Again, I launched the Chrome app for vSphere 6:

Ticked the box to use my current Windows credentials and clicked Login and as if by magic, vSphere 6 loaded.

As out proxy server won’t let me get to the URL to update Flash, I added the switch –allow-outdated-plugins, so when Flash is next updated, it shouldn’t break.

A very useful reference of Chrome switches: http://peter.sh/experiments/chromium-command-line-switches/. Thanks Peter.

What will happen when I install all the other bits like VMRC remains to be seen.

Summary

  1. Install Chrome using Enterprise Installer: https://enterprise.google.com/chrome/chrome-browser/
  2. Make sure Flash binaries are present in %localappdata%\Google\Chrome\User Data\PepperFlash\{flash_version}
  3. Launch Chrome.exe with the following switches: --no-sandbox --allow-outdated-plugins --app=https://{your-vcenter-hostname}/vsphere-client/?csp#

Please feel free to leave a comment...