When the Evolution desktop client is launched, it does a self-check to make sure it hasn't been tampered with by doing an internal checksum of itself,. and when this check fails, we see a "Binary filed was modified" error dialog:
![]()
(sorry for fuzzy quality)
This functionality has been part of Evolution for more than a decade without being triggered, but in early 2020 I started seeing a few of these pop up, and was finally able to track down what's going on: it's Comodo in the two cases I've been able to study.
The customer is using "Comodo One Enterprise Security", and in additional to the customary firewall and antivirus protections, it seems to have an additional "containment" module that tries to run software in a kind of application sandbox. I don't know the details yet, but it's definitely responsible for whatever is happening to Evolution.
Evolution uses an unusual—but not improper—mechanism for updating itself, in part because payroll updates happen much more often than with other kinds of software. This has been especially the case during this coronavirus pandemic; it's a lousy time to be in the payroll software business.
For the desktop user
As far as I know, the only way to get around this at the desktop is to temporarily disable Comodo while the update is running, though I would imagine that many installations don't give the end user that capability. If you get this error, you probably have to engage your IT department to have them pause the containment feature so that Evolution will update itself.
For the IT department
Evolution typically runs in the C:\iSystems\Evolution\Client\ directory, launching as Evolution.exe, but during self-updates it also uses a directory under %TEMP%\iSystems\Update\ in the process, including possibly launching itself from that directory.
I don't know the Comodo software at all, but two helpful customers have been giving me tidbits
First, it appears that trying to safelist the Evolution.exe on the particular user's machine does not work, because I suspect Comodo is using the hash of the executable rather than the path. This means that once Evolution.exe is running, it's fine, but the next update—which changes the file's hash—fails the test.
Another customer is attempting to create a systemwide profile that (temporarily) safelists all .EXE—which I do not recommend other than for testing— just to see if that does the trick. If so, then the profile can be refined to just the narrow minimum required.
I'm very anxious to find comprehensive instructions for this.