VMware Postgres Installer failed with error code ‘3010’

VMware Postgres Installer failed with error code ‘3010’

Couple days ago I hit strange issue with vcenter 6.x appliance update process. Attempting to upgrade vCenter server 6.0 U1 to 6U2, encounter following error: Installation of component VMware Postgres Installer failed with error code ‘3010’. The installation rolled back after clicking at OK button. I was able to find following KB 2144389 with a similar issue but the workaround didn’t work. After rolling back to a snapshot before the update, we also tried to update vCenter to 6U 1b with the same result.

Additional test has been conducted :

  1. Update attempt:
    I Stop the Syslog collector service.
    II Disable the Syslog collector service.
    III Attempt the upgrade.

2.Update attempt:

I Stop all services service.
II Attempt the upgrade.

3.update attempt:
I Snapshot the vCenter VM.
II Stop and disable the Syslog Collector service.
III Restart the VM.
IV Open task manager and kill the nxlog.exe process.
V  Attempt the upgrade.

4. Update attempt:

Try to determine if this an issue with installing the Postgres service only or if this is an issue with another component holding a java process.
I Stop ALL Vmware services and set them to manual.
II Restart the vCenter and ensure no services are restarted.
III  Open the installation and navigate to the postgres installtion msi and attempt to just install this component.

Each update attempt failed with error:
PitCA_MessageBox: Displaying message: “Installation of component VMware Postgres Installer failed with error code ‘3010’

After this series of failures I digged deeper in update process logs and in msi.log:

MSI (s) (A8:34) [14:49:29:836]: Executing op: FileCopy(SourceName=pgevent.dll,SourceCabKey=fil0D75DEE8C36C2980055560AE16671228,DestName=pgevent.dll,Attributes=512,FileSize=34520,PerTick=65536,,VerifyMedia=1,,,,,CheckCRC=0,Version=,Language=0,InstallMode=126091264,,,,,,,)
MSI (s) (A8:34) [14:49:29:836]: File: C:\Program Files\VMware\vCenter Server\vPostgres\lib\pgevent.dll; Overwrite; Won’t patch; Existing file is a lower version
MSI (s) (A8:34) [14:49:29:836]: Source for file ‘fil0D75DEE8C36C2980055560AE16671228’ is compressed
MSI (s) (A8:34) [14:49:29:836]: Re-applying security from existing file.
MSI (s) (A8:34) [14:49:29:836]: Note: 1: 2205 2: 3: Error
MSI (s) (A8:34) [14:49:29:836]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1603
MSI (s) (A8:34) [14:49:30:195]: Verifying accessibility of file: pgevent.dll
MSI (s) (A8:34) [14:49:30:195]: Note: 1: 2318 2:
MSI (s) (A8:34) [14:49:30:195]: Note: 1: 2318 2:
Info 1603.The file C:\Program Files\VMware\vCenter Server\vPostgres\lib\pgevent.dll is being held in use. Close that application and retry.

Finally find root cause – looks like some application is using this DLL, that is why we see this 3010 error.

How find which process is holding this ?

1) Open Process Explorer.
2) Select Find -> Find Handle or DLL
3) Type C:\Program Files\VMware\vCenter Server\vPostgres\lib\pgevent.dll in the search box.
4) Hit search
5) Wait…
6) You should see the Process ID that is holding the lock on that file.

(“Please make sure the customer has a snapshot of VM before trying these steps”)

1. Please take a backup of pgevent.dll
2. Delete the file pgevent.dll
3. Now start the update to 6.0 U2.

Comments are closed.