QUOTE (erpdude8 @ Jun 11 2007, 10:12 AM)

here's a solution that works, plonkeroo.
NOT!! As is typical even this advice from an MS KB article on how to refresh Windows Installer files is so wrong in that doing so will only renew the msi.dll file and there are a dozen or so other files still in need of refreshing.
I revisited this very issue just a couple of days ago and found a "new" switch for use with the msi installer. Only to find that it did not replace all files as was touted, I shouldn't be surprised with that result after so many similar results by now. Finding the switch for msi packages wasn't hard at all, I just installed the SDK kit for msi and went looking through the help files. HINT, it's not called a switch (sssh), it's a command line option (sssh). Anyway it's supposed to work like this, drop your InstMsiA.exe file into the root of your C:\ drive so we can find it to do the work on with and then copy/paste this into the Run Box as one long line:
CODE
C:\InstMsiA.exe /q:a /r:n /c:"msiexec.exe /i instmsi.msi REINSTALLMODE=amus REBOOT=ReallySuppress /q"
Now that is set up to run as quietly as possible which then makes it not work - go figure. Remove the trailing /q and REBOOT=ReallySuppress to make it work but then there will be some dialog boxes and a reboot and it STILL DOESN'T WORK completely to renew all files. I could not get the msimain.sdb file to be replaced whether is was missing, mangled or fine. So...
The only way to renew
ALL your Windows Installer files is to delete them all and then replace them. Put this into a batch file and run it from a Windows DOS box:
CODE
c:\windows\system\regsvr32 /u /s c:\windows\system\msihnd.dll
c:\windows\system\regsvr32 /u /s c:\windows\system\msi.dll
c:\windows\system\regsvr32 /u /s c:\windows\system\msisip.dll
del c:\windows\system\imagehlp.dll
del c:\windows\system\msiexec.exe
del c:\windows\system\msihnd.dll
deltree /y C:\WINDOWS\AppPatch
del c:\windows\system\msimsg.dll
del c:\windows\system\msisip.dll
del c:\windows\system\msls31.dll
del c:\windows\system\mspatcha.dll
del c:\windows\system\sdbapi.dll
del c:\windows\system\usp10.dll
echo.[rename]>c:\windows\wininit.ini
echo.NUL=c:\windows\system\msi.dll>>c:\windows\wininit.ini
echo.NUL=c:\windows\system\msihnd.dll>>c:\windows\wininit.ini
echo.NUL=c:\windows\system\msisip.dll>>c:\windows\wininit.ini
echo off
cls
Reboot and reinstall InstMsiA.exe
Version 2 is the highest version that Windows98 can use, so programs calling for any higher versions of the Windows Installer were not meant for 98. Get
Version 2 Windows Installer here.