Same code, minor changes, added some debug statements (and used CODE TAGS) 
I defined $Key just to keep the line length down.. makes it easier to read on the BB. Your original code was OK.
Glenn
Code:
$Key = 'HKEY_LOCAL_MACHINE\SOFTWARE\Network Associates\ePolicy Orchestrator\Application Plugins\EPOAGENT3000'
If InGroup ("ALLKIXEPOINSTALL") ; - <- What was this??
$ePOAgent = ReadValue($Key,'Version')
? "Checking for ePOAgent Install - current version string is " $ePOAgent ?
If Val($ePOAgent) < 3.5
"Downloading ePO Agent ver 3.5" ?
MD "c:\Temp"
$Cmd = "%COMSPEC% /c xcopy " + @LSERVER+ "\netlogon\Utility\ePOAgent\FramePKG.exe C:\temp /e /y /d"
'About to run ' $Cmd ? ; debug info - did you build your command properly?
Shell $Cmd
@SERROR ? ; did it succeed?
"Installing ePO Agent ver 3.5" ?
;Run "%COMSPEC% /c c:\temp\FramePkg.exe /Install=Agent /Silent"
Shell "%COMSPEC% /c c:\temp\FramePkg.exe /Install=Agent /Silent"
; What's this line?
; <5th run the FramePkg.exe file in a silent mode.>
; You say the install is complete, but a RUN can still be happening asynchronously...
; use Shell to invoke it synchronously. Also, test the @ERROR to see if it succeeded.
If @ERROR
? 'INSTALL FAIL: ' @SERROR ? ?
Else
"Installation Completed successfully." ?
EndIf
Else
"Current ePO Agent Version " + $ePOAgent + " already installed." ?
EndIf ; ePOAgent downlevel?
EndIf ; InGroup(ALLKIXEPOINSTALL)
_________________________
Actually I
am a Rocket Scientist!