On my XP Pro machine with McAfee 7.0 it does no return the DAT file or date...Just the engine level. So I changed the strings below which seems to work...It also converts the new 7.0 date format to the 4.5 style date to keep it more consistent...

Code:

$DATFile.Text = readvalue('\\'+$TextBox4.Text+'\HKLM\SOFTWARE\Network Associates\TVD\Shared Components\VirusScan Engine\4.0.xx','szDatVersion')
$DATDate.Text = readvalue('\\'+$TextBox4.Text+'\HKLM\SOFTWARE\Network Associates\TVD\Shared Components\VirusScan Engine\4.0.xx','szDatDate')



To this...

Code:

$DATFile.Text = readvalue('\\'+$TextBox4.Text+'\HKLM\SOFTWARE\Network Associates\TVD\Shared Components\VirusScan Engine\4.0.xx','szDatVersion')
If Len ($DATFile.Text) < 1
$DATFile.Text = readvalue('\\'+$TextBox4.Text+'\HKLM\SOFTWARE\Network Associates\TVD\Shared Components\VirusScan Engine\4.0.xx','szVirDefVer')
Endif
$DATDate.Text = readvalue('\\'+$TextBox4.Text+'\HKLM\SOFTWARE\Network Associates\TVD\Shared Components\VirusScan Engine\4.0.xx','szDatDate')
If Len ($DATDate.Text) < 1
$70DATDate = readvalue('\\'+$TextBox4.Text+'\HKLM\SOFTWARE\Network Associates\TVD\Shared Components\VirusScan Engine\4.0.xx','szVirDefDate')
If Len ($70DATDate) > 1
$date = Split ($70DATDate, " ")
$months = "January","Febuary","March","April","May","June","July","August","September","October","November","December"
For Each $month in $months
$monthno = $monthno+1
If $date[1] = $month
$newmonth = $monthno
Endif
Next
$DATDate.Text = "$newmonth"+"/"+$date[0]+"/"+$date[2]
Endif
Endif