I did an in-place upgrade of vCenter to 5.0 from 4.1 and everything seemed to go fine. When I checked heartbeat, it was barking about some services, so I checked and sure enough, VMware VirtualCenter Management Webservices wouldn’t start.
I checked the commons-daemon log file (located here Program Files\VMware\Infrastructure\tomcat\logs) and found this:
[2012-03-01 08:32:36] [info] Commons Daemon procrun (126.96.36.199 64-bit) started
[2012-03-01 08:32:36] [info] Running ‘vctomcat’ Service…
[2012-03-01 08:32:36] [info] Starting service…
[2012-03-01 08:32:37] [error] Failed creating java
[2012-03-01 08:32:37] [error] ServiceStart returned 1
[2012-03-01 08:32:37] [info] Run service finished.
[2012-03-01 08:32:37] [info] Commons Daemon procrun finished
I did some googling, which had suggestions such as lowering the VM heap size from 1024MB to 512MB, checking for port conflicts, etc. What fixed it for me was specifying the location of jvm.dll in the jre that came with the vCenter installation. It’s highlighted in the attached pic, which I installed on D, yours may be different. After that, vctomcat started fine.