I had an issue upgrading a VC to 6.0u2a recently, when running the upgrade I received the error “failed with error code 3010”
There’s a VMware KB here which explains the issue, however the resolution description is light on detail.
Check the pkgmgr-comp-msi.log to find out what DLL is locked; the log files will be in the ZIP file downloaded when the installation fails.
I found it useful to search for “is being held in use” within this log file to identify the dll being held.
In my case it was vmeventmsg.dll.
I stopped the vCenter Service (which in turn stops all other services that the VC is a decency of)
Using process explorer
Open process explorer and select “show details for all processes” under file.
Under view ensure “Show processes from all users” is selected.
Select Find > find handle or ddl (ctrl+f) and seach for the dll identified in the pkgmgr-comp-msi.log, the PID will be listed (in my case 912)
In process explorer kill the process that’s holding the dll hostage, by right clicking and selecting “Kill Process”
NOTE – I first tried using taskkill to end the process however it didn’t work, even though it would be listed when running tasklist.
Double check in processes explorer that the DLL is no longer in use.
Re-run the VC upgrade, go to the Winchester, have a nice cold pint, and wait for all of this to blow over.