CallbackFilter driver must be installed (by your application) and enabled in system (drivers are enabled by default but there exist ways to turn them off). Next use AddFilterDefaultRule() method to add a rule that prevents deletion. It works similar to access control rule, but does not require a running application and keeps the rule active even on system restart.
Remember that moving the drive to another computer or booting in safe mode still lets the user to delete the file. If you need more security, keeping the file data elsewhere and creating a virtual file is one of possible alternatives. Another alternative is using Return to the list