none
Windows Installer 3.1 fails after Windows XP Repair using CD RRS feed

  • Question

  • After removing some trojan horses and viruses, I was still having trouble with Windows XP, so I did a repair from a Windows XP CD. After running several more scans, including safety.live.com, I'm convinced that I've gotten rid of all malicious software.

    Unfortunately, now Windows Installer 3.1 fails. I have tried everything I've researched to get Windows Installer to update that I've found to date:

    I've uninstalled all Internet Security software and have done a clean boot.

     

    For example, I tried the kb artile 943144 - unsuccessful

    After net stop wuauserv, reregistering the following dlls:

    wuapi.dll

    wuaueng.dll

    wuaueng1.dll

    wucltui.dll

    wups.dll

    wups2.dll

    msxml3.dll

     

    I've also tried reregistering others:

    msscript.dll

    dispex.dll

    vbscript.dll

    scrrun.dll (fails with error 0x80004005)

     

    I've done a clean boot

    I've deleted all temp Internet files

    I've emptied the %temp% folder

    I've renamed the SoftwareDistribution folder in %windir% to SDold

    I've ran the Windows Genuine Advantage Validation successfully

    I've tried downloading and installing the Windows Installer 3.1 redestributable and get an access denied failure

    I've tried sfc /scannow

    I've tried Dial-a-fix

    I've tried safety.live.com

     

    Nothing has worked and I get errors here and there, like when I try to reregister scrrun.dll and when I try to install the redistibutable download.

     

    The only things I can attribute the problem to are two errors:

    I get the error "An event was unable to invoke any of the subscribers" when reregistering the MSIServer.

    I get the error 0x80004005 error when I reregister scrrun.dll.

    I tried installing clean copies. Still fails.

    I tried flushing the SoftwareDistribution using Dial-a-fix. The Windows Installer 3.1 still fails.

     

    The one thing that I've noticed is that the time on the clock gets reset back one hour, as I believe the Daylight Savings Time came earlier than what is programmed into Windows (?). I've tried installing updates with the correct time, and also with what Windows thinks is the correct time. Still fails.

     

    I'm at a loss. I've done research and tried things until I'm blue. Any help would be greatly appreciated.

    Friday, March 28, 2008 2:28 PM

Answers

  • I have the same problem after doing a repair to my XP home... but when I rename msi.dll to old and msihnd.dll to old they just reproduce themself again with a copy of the original, which means I still cant update (not even from a hard copy save on my desktop)

    I  tried replacing them with copies of 
    msi.dll, msihnd.dll & msiexec.exe for Installer 3.1 copied from a spare PC that also runs XP..... worked for msiexec.exe and msihnd.dll, but msi.dll just keep reverting to its old version. It allows me to change it in c/i386 and in c/windows/system32/npp but the copy in c/windows/system32 wont.

    I am very desperate and have lost two full days work trying to sort this out. Any help will be greatly appreceated.

    Thanks
    Monday, May 19, 2008 11:05 AM

All replies

  • I finally got it to work. It turns out that the msi.dll file version was too old. After reviewing the kb927891.log, it told me the msi.dll file version was old. I might have had a problem wth msihnd.dll too, but I don't know. I renamed the msi.dll to msi.old, and msihnd.dll to msihnd.old. Then I installed Windows Installer manually from a download on Microsoft's website. I hope this helps other people who have a similar problem. From my research, it looks like there are many of you.

    Friday, March 28, 2008 5:08 PM
  • Thank you for sharing this information with us here on the forum :-). 

     

     

    Take care

     

    Stephen Holm

    WGA Forum Volunteer

     

    Sunday, March 30, 2008 4:58 AM
  • I have the same problem after doing a repair to my XP home... but when I rename msi.dll to old and msihnd.dll to old they just reproduce themself again with a copy of the original, which means I still cant update (not even from a hard copy save on my desktop)

    I  tried replacing them with copies of 
    msi.dll, msihnd.dll & msiexec.exe for Installer 3.1 copied from a spare PC that also runs XP..... worked for msiexec.exe and msihnd.dll, but msi.dll just keep reverting to its old version. It allows me to change it in c/i386 and in c/windows/system32/npp but the copy in c/windows/system32 wont.

    I am very desperate and have lost two full days work trying to sort this out. Any help will be greatly appreceated.

    Thanks
    Monday, May 19, 2008 11:05 AM
  • Essie_G said:

    I have the same problem after doing a repair to my XP home... but when I rename msi.dll to old and msihnd.dll to old they just reproduce themself again with a copy of the original, which means I still cant update (not even from a hard copy save on my desktop)

    I  tried replacing them with copies of 
    msi.dll, msihnd.dll & msiexec.exe for Installer 3.1 copied from a spare PC that also runs XP..... worked for msiexec.exe and msihnd.dll, but msi.dll just keep reverting to its old version. It allows me to change it in c/i386 and in c/windows/system32/npp but the copy in c/windows/system32 wont.

    I am very desperate and have lost two full days work trying to sort this out. Any help will be greatly appreceated.

    Thanks

    Here's a solution that may work for you, and for others who still weren't able to get the problem taken care of using ByteMarks' solution.  Let me preface this by saying I did not come up with this procedure and for the life of me I cannot remember where I found it, but I stashed it away in my personal knowledgebase in case I ever needed it, and I needed it today.  So if the person who wrote this procedure ever comes across this post, thank you for your effort.

    <<START SOLUTION>>

    I had the same problem - I repaired WinXP Pro using an integrated SP2 CD, after which Windows Installer 3.1 wouldn't install, which means you can't get any updates.

    Here's how I solved the problem:
    1. Download the EXE installer for Windows Installer 3.1 v2 from here. You can try running it, but most probably will get an "Access denied" error and it will roll back the changes. If it installs fine, then you are set and don't need to do anything more, if not, look below.

    2. Make sure Automatic Updates are turned off, or set them to "Notify me but don't automatically download or install them" (to turn off Automatic Updates without going to the Control Panel, you can to go Start, Run and type: net stop wuauserv in the run box). Also make sure WinXP's CD isn't in your CD/DVD drive.

    3. Check in the Services app (Start, Run, services.msc) that Windows Installer service isn't running, stop it if needed.

    4. Open the X:\Windows\system32\dllcache\ folder (where X: is your system drive) and delete these three files (if they exist):

      • msi.dll

      • msihnd.dll

      • msiexec.exe

    After that, from this Symantec article do this:
    1. On the Windows desktop, click Start > Run.

    2. In the Open line, type cmd and then click OK.

    3. At the command prompt, type the following, depending on your version of Windows, and then press Enter after each line:

      • cd windowssystem32

      • ren msi.dll msi.old

      • ren msihnd.dll msihnd.old

      • ren msiexec.exe msiexec.old

      • exit

      (Notice that after each rename you will get a prompt from Windows that system files have been replaced, and it asks for the WinXP CD in order to restore them. Do NOT put the WinXP CD into the drive, click Cancel, then choose Yes in the other dialog box that appears.)

    4. Restart the computer.

    5. Run the Windows Installer 3.1 EXE installer (downloaded in the beginning). Follow the prompts to complete the installation, it will install fine.

    6. Restart the computer.

    7. After rebooting, you might get dialog boxes with errors about msi.dll missing. I got such a dialog box from my anti-virus software.

    8. Start the Command prompt (cmd) again, and rename the three files back.

    9. Go to Windows Update. It will say it needs to install Windows Installer 3.1, and will say the installation failed, but it will actually succeed.

    10. Do not restart the computer, click the link to Windows Update Home on the left to go back to the main Windows Update screen with the "Express" & "Custom" buttons.

    11. Click the Express button, it should show you updates other than Windows Installer 3.1.

    12. After the updates install, restart your computer.
    <<END SOLUTION>>

    Let me know if this worked for you.
    Wednesday, August 20, 2008 8:43 PM