Unfortunately for me, it is consistently failing & rolling back.
Here's the error from the 3CXUpdater.log:
12:50:12.639|Inf(03)| Copying the original file: E:\Program Files\3CX PhoneSystem\Bin\3CXEventLog.dll
12:50:12.639|Inf(03)| To rollback file: E:\Documents and Settings\All Users\Application Data\3CX\RollBack\Programs\Bin\3CXEventLog.dll
12:50:12.639|Inf(03)| Start updating the file: E:\Program Files\3CX PhoneSystem\Bin\3CXEventLog.dll
12:50:30.858|Inf(03)| The following file could not be updated: E:\Program Files\3CX PhoneSystem\Bin\3CXEventLog.dll
12:50:30.858|Inf(03)| Delete the roll back file
12:50:30.858|Inf(03)| An error occurred while writing the following file

rograms\Bin\3CXEventLog.dll
12:50:30.889|Exc(03)| System.IO.IOException: The requested operation cannot be performed on a file with a user-mapped section open.
at PhoneSystemUpdater.ProgressUpdater.UpdateFile(ZipInputStream& s, String filePath, String rollBackFile)
at PhoneSystemUpdater.ProgressUpdater.UnpackZip(String fileName)
12:50:30.889|Inf(03)| An error occurred while restoring the files
12:50:30.889|Exc(03)| System.IO.IOException: The requested operation cannot be performed on a file with a user-mapped section open.
at PhoneSystemUpdater.ProgressUpdater.UnpackZip(String fileName)
13:00:34.422|Inf(03)| Start rolling back the files
Can anyone suggest what I ought to be doing that I am not to prevent 3CXEventLog.dll from being in use - otherwise I suspect it might be 3CX itself?!! :S