|
Thanks , works perfectly. Here is the code
; Checks location for client call "\\semoheat\packages\script\kix\location.kix"
; Path to MS patchar $path="x:\install\patchar\microsoft\internet explorer\28 March 2002 Cumulative Patch for Internet Explorer\"
; REM ** Local variables in use by this function are: Dim $RC1, $RC2, $RC3, $TmpLen1, $TmpLen2, $TmpLen3 Dim $IEBuild, $IEFullVer, $IEMajor, $IEMinor, $IESubBd, $IEVer, $IEName $RC1 = ReadValue ("HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer", "Build") ; REM ** IE3 onward (s/b build only, or xxxxx.xxxx) $RC2 = ReadValue ("HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer", "Version") ; REM ** IE4 or later only (s/b xx.xx.xxxx.xxxx) $RC3 = ReadValue ("HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer", "IVer") ; REM ** IE3 only (s/b xxx) $TmpLen1 = Len ($RC1) $TmpLen2 = Len ($RC2) $TmpLen3 = Len ($RC3) Select Case ($TmpLen1 = 10) AND (SubStr ($RC2, 4, 1) = ".") ; REM ** IE6 - MS error w/IE 6 where minor id is single charcter $IEMajor = SubStr ($RC2, 1, 1) $IEMinor = SubStr ($RC2, 3, 1) + "0" $IEBuild = SubStr ($RC2, 5, 4) $IESubBd = SubStr ($RC2, 10, $TmpLen2-9) $IEFullVer = $IEMajor + "." + $IEMinor + "." + $IEBuild + "." + $IESubBd Case ($TmpLen1 = 14) OR ($TmpLen2 >= 11) ; REM ** IE6/IE5/IE4 - 14 is MS error w/IE 5.01 SP1 for Win2K, >=11 for various IE5, IE4 versions not 14-character $IEMajor = SubStr ($RC2, 1, 1) $IEMinor = SubStr ($RC2, 3, 2) $IEBuild = SubStr ($RC2, 6, 4) $IESubBd = SubStr ($RC2, 11, $TmpLen2-9) $IEFullVer = $RC2 Case ($TmpLen1 >= 3) AND ($RC3 = "103") ; REM ** IE3 - the build number only $IEMajor = "4" $IEMinor = "70" $IEBuild = "$RC1" $IESubBd = "" $IEFullVer = $IEMajor + "." + $IEMinor + "." + $IEBuild Case (1) $Status = $Skip $wri = WriteLine (1, "Verified IE not installed." + $CR) Return EndSelect ; REM ** Determine exact version installed on system, set shorthand value to group 'like' versions (See MS TechNet article Q164539) Select Case ($IEFullVer >= "6.00.2600.0000") $IEVer = "6.00" $IEName="Internet Explorer 6" $LANG = GetFileVersion ("%PROGRAMFILES%\Internet Explorer\iexplore.exe","language") If $LANG="041DSwedish" Shell "$path\swe\6.0\q319182.exe /q" goto slut EndIf Shell "$path\eng\6.0\q319182.exe /q"
Case ($IEFullVer >= "5.50.4807.2300") $IEVer = "5.50 SP2" $IEName="Internet Explorer 5.5 Service Pack 2" $LANG = GetFileVersion ("%PROGRAMFILES%\Internet Explorer\iexplore.exe","language") If $LANG="041DSwedish" Shell "$path\swe\5.5 SP2\q319182.exe /q" goto slut EndIf Shell "$path\eng\5.5 SP2\q319182.exe /q" Case ($IEFullVer >= "5.50.4522.1800") $IEVer = "5.50 SP1" $IEName="Internet Explorer 5.5 Service Pack 1" $LANG = GetFileVersion ("%PROGRAMFILES%\Internet Explorer\iexplore.exe","language") If $LANG="041DSwedish" Shell "$path\swe\5.5 SP1\q319182.exe /q" goto slut EndIf Shell "$path\eng\5.5 SP1\q319182.exe /q" Case ($IEFullVer >= "5.00.3315.1000") $IEVer = "5.01 SP2" $IEName="Internet Explorer 5.01 SP2 (Windows 2000)" $LANG = GetFileVersion ("%PROGRAMFILES%\Internet Explorer\iexplore.exe","language") If $LANG="041DSwedish" Shell "$path\swe\5.01 SP2\q319182.exe /q" goto slut EndIf Shell "$path\eng\5.01 SP2\q319182.exe /q" Case ($IEFullVer >= "5.00.3314.2101") $IEVer = "5.01 SP2" $IEName="Internet Explorer 5.01 SP2 (Windows 95/98 and Windows NT 4.0)" $LANG = GetFileVersion ("%PROGRAMFILES%\Internet Explorer\iexplore.exe","language") If $LANG="041DSwedish" Shell "$path\swe\5.01 SP2\q319182.exe /q" goto slut EndIf Shell "$path\eng\5.01 SP2\q319182.exe /q" EndSelect
:slut
? $IEFullVer+" "+$IEName Sleep 5
Exit
***
Only one problem left, get the client to reboot when finished
Thanks for the quick reply
Regards
\erik
|