It runs everytime a user logs in... It doesnt see that the patch has already been applied.

code:
   ;==============================================================================================
;====================================== RPC ============================================
;==============================================================================================
:RPC ;Subroutine that executes RPC Patch

AT (7,1) "Please be patient while your computer runs some maintenance tasks in the background..."


IF @INWIN=1
DIM $KBPath,$Admin,$KBFile,$KBRequired,$Rpcs,$RPCver
$KBPath='\\d1frlf00\IT\Updates\Patches-Hotfixes\Microsoft\patches\RPC-Patches'
IF ingroup('@wksta\'+sidtoname('S-1-5-32-544'))-1+@INWIN
$RPCver=GetFileVersion('%windir%\system32\Rpcrt4.dll', 'Productversion')
SELECT
CASE @ProductType='Windows NT Workstation'
$KBFile='Windows-NT4--RPC-Patch'
$KBRequired=KeyExist('HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Q823980')
IF not $KBRequired or @error
SHELL '%comspec% /c '+$KBPath+'\'+$KBFile+' /q /z'
ENDIF
CASE @ProductType='Windows 2000 Professional'
$KBFile='Windows-2000-RPC-Patch'
IF $RPCver <> "5.00.2195.6753"
SHELL '%comspec% /c '+$KBPath+'\'+$KBFile+' /u /q /z'
ENDIF
CASE @ProductType='Windows XP Professional' OR @ProductType='Windows XP Home Edition'
$KBFile='Windows-XP-RPC-Patch'
IF @CSD = 'Service Pack 1'
IF $RPCver <> "5.1.2600.1230"
SHELL '%comspec% /c '+$KBPath+'\'+$KBFile+' /u /q /z'
ENDIF
ELSE
IF $RPCver <> "5.1.2600.109"
SHELL '%comspec% /c '+$KBPath+'\'+$KBFile+' /u /q /z'
ENDIF
CASE 1
; 'Unknown Error..'
ENDSELECT
ENDIF

_________________________
Help Me!!!