At work, I got a shiny new machine. Since we need to certify some of our products with Windows Vista, we designated it the Vista certification machine. So far, so good.
We use the MKS Toolkit software suite to simplify several tasks while developing on Windows. Everything seemed to work fine, until I had to use patch to apply a diff to some sources. As soon as I typed
patch -p0 foo.diff
at the command prompt I got a pop-up window from Vista asking permission to run the executable. If I answered "yes, go ahead" instead of running the program in the same command prompt window it popped it up in another command prompt which promptly disappeared. And, apparently, did absolutely nothing to the files that were supposed to be patched. Experimentation shows that even
patch --help
pops up the dialog and fails, so it isn't a permissions problem on the files to patch. So I say to myself, "Myself, we're a revision or two back on MKS Toolkit, and this is not the Vista-certified version - let's try another patch.exe." So I go get the GnuWin32 version of patch.exe. I put it first on the PATH, and try again. Another pop-up. I answer yes, and not only does patch run in a window that disappears, but it GPFs as well.
At this point, I'm pissed. But suddenly the penny drops. I rename the MKS toolkit patch.exe to ptch.exe and type
ptch --help
which produces a nice help message. Trying on the original diff causes the required files to be patched correctly.
Apparently the Windows Vista User Access Control considers patch.exe to be a forbidden executable name. I investigated further and the only way to disable this functionality appears to be to completely turn off UAC, which I did immediately.
But there you have it - Windows Vista's vaunted security is about as logical and effective as banning water bottles in carry-on luggage.