UninstallWMISchemaExecute (0x8004401e) when updating VisualSVN on Windows XP

The problem

On the attempt to update VisualSVN on my Windows XP I struggled with the following exception quite a long time:

Custom action UninstallWMISchemaExecute failed: Diese Datei ist keine gültige MOF-Datei. (0x8004401e)
Screenshot of UninstallWMISchemaExecute-Exception (0x8004401e) when updating VisualSVN on Windows XP

UninstallWMISchemaExecute when updating VisualSVN

I was never faced with WMI before so I started from scratch and choosed to try’n’error. A great help was the artikel found in [1] and after a while I succeeded—but: I still have no clue why my solution worked, nor could I assure that it is side-effect-free. So use on your own risk!

The solution

  1. Disable the WMI service
    sc config winmgmt start= disabled 
    (make sure there is a blank between 'start' and 'disabled')
  2. Stop the WMI service
    net stop winmgmt
  3. Go to %windir%/System32/wbem and rename the repository-folder
    cd C:\WINDOWS\System32\wbem
    rename Repository Repository-old
  4. Find the *.mof-file in %windir%/System32/wbem which belongs to VisualSVN
    In my case the file was named “6E9A2709F6EB23A5E2F059ACD767AD78.mof”. Inside there were multiple occurences of the string “VisualSVN”—which I found by using Notepad++’s search-in-files-funktionality [2]. Note that the Windows search won’t lead to any useable results since Windows doesn’t do a text-search on *.mof-files by default.
  5. Remove the file found in step 4
  6. Search the registry on occurences of “VisualSVN” and remove every found item
    I guess especially the key “Autorecover MOFs” in

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM

    was an entry which recreated the faulty *.mof all over again.

  7. Enabled the WMI service
    sc config winmgmt start= auto
  8. Start the VisualSVN-Installation

Reference

  1. [1] http://blog.technical-life.at/2011/09/nice-to-know-wmi-steuerung-reparieren
  2. [2] http://npp-community.tuxfamily.org/documentation/notepad-user-manual/searching/searching-files