When upgrading a vCenter server from version 4.x to 5.0, you may encounter an error:

“The Windows installer service could not be accessed. This can occur if you are running windows in safe mode, or if windows installer is not correctly installed. Contact your support personnel for assistance.”

You may genuinely have a broken Windows Installer service but first thing’s first: Check if the “Windows Installer” service is running.  If not, start it and try again.  You could also try running “msiexec”.  If it’s broken, it won’t run at all but if the dialog box comes up, then maybe the problem is somewhere else.  In my case, I found the culprit to be in the registry.  Checking the “WOW64” key under “HKEY_LOCAL_MACHINESYSTEM\CurrentControlSetServices\msiserver”, revealed its value to be set to 1.  This means that Windows Installer can only be used with 32-bit installers.  For 64-bit installers (which the vCenter installer is), the key has to be set to 0.

It is possible for a x64 server to have the registry key set like that, if in its lifetime, it has seen both 32 and 64 bit installers running.  Needless to say, I changed the value to 0 and restarted the server (a restart of Windows Installer service would have sufficed but I just wanted to be sure).  Re-running the installer after the server came back up, worked perfectly.