This week-end I was playing with some sources and I wanted to apply some patches to them. So, I downloaded patch.exe from GNU and tried to run it on Windows Vista. “Gevalt!” said Vista. “We are under attack by evil robots!!! This program wants to do something funky with you machine, do you really want to allow that?”. That was the famous UAC feature that requires confirmation when programs try to make administrative-level changes to the system.
But what kind of administrative changes did patch.exe try to do? Of course, it turned out that the program does not try to do anything wrong. It was its name that Windows did not like. If you rename it to something else, e.g. p.exe, it works just fine and without any warnings. Apparently, I am not the first to find this out: see http://www.mail-archive.com/perl-win32-users@listserv.activestate.com/msg37590.html.
Surely, one can understand Microsoft’s logic. A program named patch.exe cannot be up to something good, can it? It must be a virus or something. Obviously, if the Bad Guys would write a malicious program they would name it patch.exe, or virus.exe, or at the very least will set something like the Evil bit.
BTW, it turned out that Windows has no objections against virus.exe. It’s patch.exe it is after.
Indeed, there are more things in heaven and earth, Horatio, than are dreamt of in our philosophy.