icmp.dll error CRC32 040AF11D instead of 1ACC0E02 (strange system behaviour, sfc fail)


  • I had some strange problems, traced it down (I use as example icmp.dll):
    Two PC's, both AMD64, both Windows 7 64 bit (one pro, the other ultimate), both installed with all updates.
    One machine had an icmp.dll error (in German) "C.\Windows\system32\icmp.dll ist entweder nocht für die Ausführung von Windows vorgesehen oder enthält einen Fehler. Installieren Sie das Programm erneut", in english something like "icmp.dll is not made to be run by Windows or it is errornous, reinstall the program and contact the manufacturer"

    sfc /scannow shows no error!
    sfc /scanfile C:\Windows\System32\icmp.dll shows no error too.

    However: The offending icmp.dll has a CRC32 value of 040AF11D
    On the other machine without the problem it has the CRC32 1ACC0E02

    On both machines properties of icmp.dll show the same version number. On both machines they hardlink to C:\windows\winsxs\amd64_microsoft-windows-t..-platform-libraries_31bf3856ad364e35_6.1.7600.16385_none_4665dc8cb4ff31b9\icmp.dll

    I do have an icmp.dll with the CORRECT crc32 1ACC0E02 in:

    There are 1815 files in "pendingrenames".

    How can it be that sfc fails to detect the wrong version and finally fix it without manual help?

    The "fix" I found on the web, but not at, was (running explorer and cmd.exe as admin of course):
    Take Owner of C:\Windows\winsxs\temp\PendingRenames, give myself full access, move the 1815 file out of there to C:\pendingtemp (for backup), run sfc /scannow (shows a "could not correct everything now" at the end, reboot, System is fine again, the crc32 values of the .dll's are correct compared to my other system.

    BUT: sfc /scannow still reports errors, there are 3629 in winsxs\Temp\PendingRenames, all are *.cdf-ms with one exception: <some-hex-id>.icmp.dll.

    This seems to happen very often when checking the web for winsxs\Temp\PendingRenames, it there a more "official" way to make it work the way it should and to make the system to clean up pendingrenames? The other machine I can compare with has an empty pendingrenames.
    Saturday, February 13, 2010 10:31 AM

All replies

  • Hi,

    Icmp.dll errors are caused by situations that lead to the removal or corruption of the icmp DLL file. In some cases, icmp.dll errors could indicate a registry problem, a virus or malware issue or even a hardware failure.

    When did this issue first occur? Here are some suggestions to fix the issue permamently:

    1.Run a virus/malware scan of your entire system. Some icmp.dll errors could be related to a virus or other malware infection on your computer that has damaged the DLL file. It's even possible that the icmp.dll error you're seeing is related to a hostile program that's masquerading as the file.

    2.Use System Restore to undo recent system changes. If you suspect that the icmp.dll error was caused by a change made to an important file or configuration, a System Restore could solve the problem.

    3.Reinstall the program that uses the icmp.dll file. If the icmp.dll DLL error occurs when you use a particular program, reinstalling the program should replace the file.

    Important: Try your best to complete this step. Reinstalling the program that provides the icmp.dll file, if possible, is a likely solution to this DLL error.

    4.Update the drivers for hardware devices that might be related to icmp.dll. If, for example, you're receiving a "The file icmp.dll is missing" error when you play a 3D video game, try updating the drivers for your video card.

    Note: The icmp.dll file may or may not be related to video cards - this was just an example. The key here is to pay very close attention to the context of the error and troubleshoot accordingly.

    5.Roll back a driver to a previously installed version if icmp.dll errors began after updating a particular hardware device's driver.

    Monday, February 15, 2010 10:10 AM
  • Hi,


    3.Reinstall the program that uses the icmp.dll file. If the icmp.dll DLL error occurs when you use a particular program, reinstalling the program should replace the file.

    This is the wrong answer. As I wrote: the icmp.dll had the wrong crc value and therefore was the wrong version. And the correct version was put in place by sfc /scannow after removing the files in C:\Windows\winsxs\temp\PendingRenames.

    The question left was: why there are still many *.cdf-ms files left in C:\Windows\winsxs\temp\PendingRenames. They reappear if deleted + sfc /scannow.

    Sorry, wrong answer, you should have read the full first post.

    Sunday, February 21, 2010 11:50 PM