No - we don't deploy it to any end users at client locations - infact we only have only have installed in two places - my notebook in a VMware XP machine and my business partner's notebook in a VMware XP machine - from there we do anything that needs done to client Blackberries when we are actually onsite - we find the end users have a tendency to screw the bb up less this way
We use the VMware XP machines to keep our own machines client and stable.
Below is a sample script I use for upgrading Symantec Antivirus with fver (sorry - I don't have any other scripts handy at this minute that are more appropriate for this discussion). I also call this from the login script at client sites that don't use another other management software and thus far, in three years of doing this with Netware 5.1, 6.0 & 6.5 and Windows 2003, I haven't ran into issues yet.
--- begin cut & paste of savce_updater.cmd ---
@ECHO OFF
REM - 2004.11.29 /
REM - SET THIS SCRIPTS VARIABLES BELOW. SAVCE_VER IS THE VERSION YOU WANT TO
REM - CHECK FOR. FVER_LOC IS THE NETWORK LOCATION OF FVER.EXE. UPGRADE_SCRIPT_LOC
REM - IS THE NETWORK LOCATION FOR THE UPGRADE SCRIPT.
SET SAVCE_VER=9.021000
SET FVER_LOC=\\MONCTON\SYS\PUBLIC\FVER.EXE
SET UPGRADE_SCRIPT=\\MONCTON\SYS\ROLLOUT\COMMON\SYMANT EC\SAVCE_UPDATE.CMD
:OS_VERCHECK
REM CHECK FOR OPERATING SYSTEM VERSION. SAVCE 8.XX AND NEWER
REM DOES NOT SUPPORT WINDOWS 95!!! IF WINDOWS 95 IS FOUND, SCRIPT
REM SHOULD IMMEDIATELY EXIT.
CLS
SETLOCAL
VER | FIND "NT" > NUL
IF NOT ERRORLEVEL 1 GOTO CHECK_SAVCEVER
VER | FIND "2000" > NUL
IF NOT ERRORLEVEL 1 GOTO CHECK_SAVCEVER
VER | FIND "XP" > NUL
IF NOT ERRORLEVEL 1 GOTO CHECK_SAVCEVER
VER | FIND "98" > NUL
IF NOT ERRORLEVEL 1 GOTO CHECK_SAVCEVER
VER | FIND "95" > NUL
IF NOT ERRORLEVEL 1 GOTO UNSUPPORTED_OS
GOTO UNSUPPORTED_OS
:UNSUPPORTED_OS
CLS
ECHO.
ECHO.
ECHO WHOA - SOMETHING IS WRONG HERE!!!
ECHO AN UNSUPPORTED OS HAS BEEN DETECTED!
ECHO SETUP CAN NOT CONTINUE!
ECHO.
GOTO EXITSCRIPT
:CHECK_SAVCEVER
REM - CHECK TO SEE IF SAVCE IS INSTALLED ON MACHINE
REM - IF NOT INSTALLED, THEN SCRIPT SHOULD EXIT
IF NOT EXIST "C:\PROGRAM FILES\SYMANTEC ANTIVIRUS\VPC32.EXE" GOTO EXITSCRIPT
REM RUN THE ACTUAL SAVCE VERSION CHECK ON MACHINE AND PROCESS THE RESULTS
CLS
ECHO.
ECHO.
ECHO THE CURRENT VERSION OF SAVCE ON THE SERVER IS %SAVCE_VER%
ECHO YOU CURRENTLY HAVE THE FOLLOWING SAVCE VERSION INSTALLED:
%FVER_LOC% -F "C:\PROGRAM FILES\SYMANTEC ANTIVIRUS\VPC32.EXE"
%FVER_LOC% -F "C:\PROGRAM FILES\SYMANTEC ANTIVIRUS\VPC32.EXE" -V %SAVCE_VER%
IF ERRORLEVEL 1 GOTO VERSION_NOT_CURRENT
IF ERRORLEVEL 0 GOTO VERSION_CURRENT
REM - AN EXPECTED ERRORLEVEL WAS RETURNED - ALERT THE USER
ECHO WHOA - SOMETHING IS WRONG HERE!!!
ECHO AN UNSUPPORTED ERRORLEVEL HAS BEEN DETECTED!!!
ECHO CALL FOR TECHNICAL SUPPORT!!!
PAUSE
GOTO EXITSCRIPT
:VERSION_CURRENT
REM SAVCE IS CURRENT - REPORT THIS FACT AND GOTO THE END OF THE SCRIPT TO EXIT
ECHO.
ECHO YOUR SYMANTEC ANTIVIRUS VERSION IS UP TO DATE!!!
GOTO EXITSCRIPT
:VERSION_NOT_CURRENT
REM SAVCE IS NOT CURRENT - REPORT THIS FACT AND CALL THE UPGRADE SCRIPT
ECHO.
ECHO WHOA - YOUR SAVCE IS NOT CURRENT!!! YOU NEED TO UPDATE TO VERSION %SAVCE_VER%.
ECHO PLEASE WAIT.... NOW UPDATING YOUR SAVCE TO VERSION %SAVCE_VER%.... PLEASE WAIT....
ECHO.
ECHO NOTE - YOUR COMPUTER WILL REBOOT WHEN THIS PROCESS IS COMPLETE!!!
START "PLEASE WAIT - NOW INSTALLING SAVCE %SAVCE_VER% UPDATE" /WAIT %UPGRADE_SCRIPT%
GOTO EXITSCRIPT
:EXITSCRIPT
REM END OF SCRIPT, CLEANUP THE SAVCE_VER VARIABLE AND EXIT
SET SAVCE_VER=
EXIT
--- end cut & paste of savce_updater.cmd ---
The %UPDATE_SCRIPT% basically contains some variable declarations and a line like this:
START /WAIT MSIEXEC /i %SAVCE_MSI_LOCATION_AND_FILE_NAME% /qb-
Don't forget you would need to define the %SAVCE_MSI_LOCATION_AND_FILE_NAME% in the %UPDATE_SCRIPT%. You will also note i like to use variables - by doing this, it allowed me to quickly adapt my scripts from one client location to another (or new version numbers) by simply changing one or two variables, instead of completely revising the entire script a hundred times.
Please let me know how you make out - I'd be interested to know.
dcc