I've been trying to configure FTP in Emacs22 on Windows XP, and I read here that the Windows ftp program wasn't up to scratch, and to replace it with this GNU one. That worked fine on my home computer, but on my work computer, if I put the new ftp.exe in System32, overwriting the old one, Windows instantly and silently replaces my version with its original version. Is there a way to stop this behaviour?


This feature is called Windows File Protection.

You have to replace the file in the directory %systemroot%\system32\dllcache also, as far as I remember, but try on your own risk.

  • 4
    Might be easier to just rename your ftp.exe to something else – nik Jul 28 '09 at 8:54
  • 5
    Please, don't run around replacing random system files. You can put it elsewhere and name it differently. – Joey Jul 28 '09 at 9:39
  • Of cause: It is generally better to not modify the system files of your operating system, but I think there is no method how to do this without modifying any system files and he/she wanted to know a solution how to bypass this feature. – Manuel Faux Jul 28 '09 at 9:53
  • 1
    A better solution would be to place the ftp client somewhere else then add it's location to the system path environment variable. If its entry is before the system32 Windows will find a run it first. – Kenneth Cochran Jul 28 '09 at 12:47
  • 1
    @Kenneth - this is actually the solution I came to in the end, but I didn't like the idea of having my own path before Windows' for some reason. – Skilldrick Jul 28 '09 at 14:41

Can't you just change what program Emacs calls?

M-x customize-variable RET ange-ftp-ftp-program-name RET

Or add this to your .emacs:

(setq 'ange-ftp-ftp-program-name "my-ftp")

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.