*
** THIS SECTION CHECKS IF HFNETCHK SHOULD RUN (Seperate area of script)
** ALREADY DEPLOYED AND IN USE
*
; ##############################################################
; ## Run HFNETCHK to check Win2K/NT HotFix installations. ##
; ## Set variable to run the check at script end. ##
; ##############################################################
$HfxLog = "$LogDir\Hotfix\@WKSTA_$UserID.txt" ; REM ** Location of the HFNETCHK HotFix log
IF ($InWin = 2) ; REM ** Only runs for Win2K/NT
$Status = $OK
$wri = WRITELINE (1, "$SkipMsg $SectDesc" + $CR)
RETURN
ENDIF
IF EXIST ("$HfxLog") = 1 ; REM ** Look for check file to see if this recently run.
$Status = $OK
$wri = WRITELINE (1, "Verified HotFix check run previously" + $CR)
RETURN
ENDIF
$TmpFile = "hfnetchk.exe"
IF EXIST ("$OSDir\$OSSys\$TmpFile") <> 1 ; REM ** Copy 'HFNETCHK.EXE' to client
COPY "$CallDrv\Files\HotFix\$TmpFile" "$OSDir\$OSSys\"
IF (@ERROR = 0) $Msg = "Success copying"
ELSE $Err = $Err+1 $Msg = "Error @ERROR copying"
ENDIF
ELSE
$SrcSize = GETFILESIZE ("$CallDrv\Files\HotFix\$TmpFile") ; REM ** Confirm current version of 'HFNETCHK' on client
$SrcTime = GETFILETIME ("$CallDrv\Files\HotFix\$TmpFile")
$DstSize = GETFILESIZE ("$OSDir\$OSSys\$TmpFile")
$DstTime = GETFILETIME ("$OSDir\$OSSys\$TmpFile")
IF ($SrcSize <> $DstSize) OR ($SrcTime <> $DstTime)
COPY "$CallDrv\Files\HotFix\$TmpFile" "$OSDir\$OSSys\"
IF (@ERROR = 0) $Msg = "Success copying"
ELSE $Err = $Err+1 $Msg = "Error @ERROR copying"
ENDIF
ELSE
$Msg = "Verified"
ENDIF
ENDIF
$wri = WRITELINE (1, "$Msg hfnetchk" + $CR)
IF ($Err = 0) $RunHotFix = 1 $Status = $OK
ELSE GOSUB "ScriptError"
ENDIF
RETURN
================================================
*
** THIS SECTION RUNS HFNETCHK (Seperate area of script)
** ALREADY DEPLOYED AND IN USE
*
IF $RunHotFix = 1
SHELL "cmd /c $OSDir\$OSSys\hfnetchk.exe -a b -o tab -x $CallDrv\Files\HotFix\mssecure.xml > $HfxLog"
ENDIF
================================================
*
** THIS SECTION SCRIPTING IN PROGRESS
** BUILDS QCHAIN EXECUTABLE FILE
** NOT DEPLOYED - NOT COMPLETE
** REQUIRES HOTFIXES STORED IN 'MSxx-yyy' STRUCTURE
** REQUIRES HOTFIX EXECUTABLE IS NAMED 'MSxx-yyy*.EXE'
*
$Err = 0
$CR = CHR(13) + CHR(10)
SELECT
CASE @DOS > 5 $OS = "Win2K"
CASE @DOS > 4 $OS = "WinNT"
ENDSELECT
$tmpfil = @WKSTA + "_" + @USERID.txt
$con = OPEN (1, $tmpfil, 2)
DIM $array[40]
$z=0
$x = READLINE (1)
WHILE @ERROR = 0
IF INSTR ($x, "NOT Found")
$array[$z] = SUBSTR ($x, INSTR ($x, "MS0"), 8)
$z=$z+1
ENDIF
$x = READLINE (1)
LOOP
$con = CLOSE (1)
$QCFile = "QC_TST.txt"
IF EXIST ($QCFile) = 1
DEL $QCFile
ENDIF
$con = OPEN (1, $QCFile, 5)
$z1=0
DO
$TmpVal = $array[$z1]
use z: \\server1\share
$QPath = "z:\Microsoft\Hotfix\$OS"
IF EXIST ("$QPath\$TmpVal") = 0
$Err = $Err+1
ELSE
$tmpfil = DIR ("$QPath\$TmpVal\$TmpVal*.exe")
$wri = WRITELINE (1, "$QPath\$TmpVal\$tmpfil -z -m" + $CR)
ENDIF
$z1=$z1+1
UNTIL $z1=$z
$wri = WRITELINE (1, "qchain.exe z:\@WKSTA.txt" + $CR)
$wri = WRITELINE (1, "Errors: $Err" + $CR)
$con = CLOSE (1)
RETURN