I had successfully done this kind of in-place upgrade before with my two Domain Controllers and the Veeam Backup server, and I was not really expecting any big issues, but this time there was one: After the upgrade to 2012 R2 finished the VMware vSphere Web Client service failed to start! It took me some time to find the root cause of this, but in the end it was easy to fix ...
It turned out that the startup command line for the Web Client service got corrupted during the Windows upgrade. You can find its ImagePath value in the registry at
And after the Windows upgrade it looked like this:
"C:\Program Files\VMware\Infrastructure\vSphereWebClient\server\bin\service\bin\wrapper.exe" -s "C:\Program Files\VMware\Infrastructure\vSphereWebClient\server\bin\service\conf\wrapper.conf" set.default.SERVER_HOME=C:\Program Files\VMware\Infrastructure\vSphereWebClient\server set.default.JMX_PORT=9875The issue here is the definition of the SERVER_HOME variable, because its value contains spaces!
My first try was to enclose the value in double quotes. After that the service would start, but any trial to access the Web Client only resulted in an HTTP Error 404 (page not found). So the quotes were causing other issues ... My next try was to remove the quotes again and replace the long name of the SERVER_HOME directory with its short 8.3 name:
"C:\Program Files\VMware\Infrastructure\vSphereWebClient\server\bin\service\bin\wrapper.exe" -s "C:\Program Files\VMware\Infrastructure\vSphereWebClient\server\bin\service\conf\wrapper.conf" set.default.SERVER_HOME=C:\PROGRA~1\VMware\INFRAS~1\VSPHER~1\server set.default.JMX_PORT=9875and that fixed the issue for me: The service started and worked fine.
Please note: The correct 8.3 name may differ between systems! You can find out your own by running the command
for %i in ("%ProgramFiles%\VMware\Infrastructure\vSphereWebClient\server") do @echo %~fsiin a Windows command prompt!
Another option would have been to just uninstall and re-install the vSphere Web Client, but I just like getting closer to the bottom of such issues ;-)
This post first appeared on the VMware Front Experience Blog and was written by Andreas Peetz. Follow him on Twitter to keep up to date with what he posts.