What is the best approach to replacing a system file that is in use. I need to replace usbehci.sys in c:\windows\system32\drivers with an older version to fix a problem with Windows 7 and tuners in media center.
Is there a standard way of replacing system files that are in use. A reboot is acceptable.
Replacer is very nice and has always worked for me on XP. I'm not sure with Vista or Windows 7, but its certainly worth a try.
If that doesn't work you may wish to look into tools used to patch uxtheme, a common system file that's replaced to allow unoffical themes. Many of them could be adapted to change other system files (such as the tool mentioned above).
Rename the existing file (to anything you want), then copy the new file in and reboot. It should start using the new file, and if you want you should also be able to delete the old file now.
If the machine boots, and you have a recovery/install disk handy, running 'sfc /scannow' checks that all the system files are fine, and will replace them if they're not, but if this is a nonstandard driver, it might not work.
Otherwise, if you have a copy of the file, reboot into Linux, and copy it in?
I personally would take a look at Replacer first. If for any reason that doesn't work for you, then boot from some form of Live CD. I know of ubuntu (https://help.ubuntu.com/community/LiveCD), I am sure other people, or google, could suggest others that my be smaller. You will then be able to replace the system files for the installed OS. This is also a useful way to fix a file replacement gone bad if the OS will no longer boot.