You can do this fairly easily as part of the build time jobs in DS 6.9
As part of an image deployment we create a folder on C: called Altiris and copy the relevant agents in to place to install as part of Sysprep in XP and part of the unattend in W7. This way i can always deploy the up to date agent and dont have to let it update.
In my xp sysprep i use this section in my sysprep file to install the agents:
[GuiRunOnce]
Command0="C:\altiris\aclient.exe c:\altiris\aclient.inp -install"
Command1="C:\altiris\AeXNSC.exe /s /install /ns=SERVERNAME.DOMAIN.COM"
I use this step after i've imaged to copy the files and sysprep file:
@Echo on
REM Token Replacement Task for Sysprep.inf
REM Replacetokens .\Deploy\scripts\SYSPREP.INF .\temp\%ID%.INF
Echo Copying Updated Sysprep.inf
.\Rdeploy\Windows\firm.exe copy .\temp\%ID%.INF prod:sysprep\sysprep.inf
Echo Copy NS Agent
.\Rdeploy\Windows\firm.exe copy I:\Packages\Altiris\CMS7.1\AEXNSC.EXE prod:altiris\AeXNSC.exe
Echo Copy SVS Installer
:Exit
In Windows 7 i copy the agents i need to C:\Windows\Source\ and use this for my Microsoft-Windows-Deployment Section in my specialize pass:
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ExtendOSPartition>
<Extend>true</Extend>
</ExtendOSPartition>
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Path>net user administrator /active:yes</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Description>Installs DS Agent</Description>
<Order>2</Order>
<Path>C:\WINDOWS\Source\dagent.bat</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Description>Installs NS Agent</Description>
<Order>3</Order>
<WillReboot>Always</WillReboot>
<Path>C:\WINDOWS\Source\AeXNSC.exe /s /install /ns=SERVERNAME.DOMAIN.COM</Path>
</RunSynchronousCommand>
</RunSynchronous>
</component>
and i use the following to copy the agent and unattend scripts:
REM Replace tokens in sysprep and copy DAgent files
REM Replacetokens .\Deploy\scripts\UNATTENDW7X64.xml .\temp\%ID%.INF
Echo Copy Sysprep in to Place
.\Rdeploy\Windows\x64\firm.exe copy ".\temp\%ID%.inf" "D:\Windows\Panther\Unattend.xml"
Echo Copy NS Agent
.\Rdeploy\Windows\x64\firm.exe copy I:\Packages\Altiris\CMS7.1\AEXNSC.EXE D:\Windows\Source\AeXNSC.exe
Echo Copy DS Agent
.\Rdeploy\Windows\x64\firm.exe copy "I:\Packages\Altiris\DAgent\dagent.inp" "D:\Windows\Source\aclient.inp"
.\Rdeploy\Windows\x64\firm.exe copy "I:\Packages\Altiris\DAgent\dagent.bat" "D:\Windows\Source\dagent.bat"
.\Rdeploy\Windows\x64\firm.exe copy "I:\Packages\Altiris\DAgent\dagent_x64.msi" "D:\Windows\Source\dagent.msi"
But i know some people do it other ways. This definately works for me.