Deployment Solution 6.x only allows you to auto-upgrade very similar versions. It does not support upgrading an AClient straight from 6.1 or 6.5 to 6.9 SP2. I have found a reliable way to upgrade an AClient from any version to any version. This process can even be used to downgrade an AClient to a previous version. During the upgrade process, you can also push a new AClient configuration.
If you are unsure if your AClients are the same version and have the correct settings, you can use this process to standardize all of your clients. This can be helpful if you are experiencing one of the following:
If you are experiencing any of these issues, you can use this document in conjunction with Altiris KB 4214.
Here is how to upgrade and configure any version of AClient:
On Error Resume Next Const HKEY_LOCAL_MACHINE = &H80000002 'objReg is used to read the registry Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") 'objFSO is used to rename, move, and delete files Set objFSO = CreateObject("Scripting.FileSystemObject") Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") 'colListOfServices is used to start and stop the AClient service Set colListOfServices = objWMIService.ExecQuery ("Select * from Win32_Service Where Name = 'AClient'") 'sh is used to run commands Set sh = CreateObject("WScript.Shell") 'Get the Directory where AClient is located objReg.GetStringValue HKEY_LOCAL_MACHINE, "SOFTWARE\Altiris\Client Service","InstallDir",strInstallDir If objFSO.FolderExists(strInstallDir) Then 'If the AClient folder exists, do the AClient upgrade 'Rename aclient.exe to aclient.old objFSO.DeleteFile(strInstallDir + "aclient.old") objFSO.MoveFile strInstallDir + "aclient.exe", strInstallDir + "aclient.old" 'Replace the old aclient.exe with the new one objFSO.MoveFile ".\aclient.exe", strInstallDir + "aclient.exe" 'Stop the AClient service For Each objService in colListOfServices objService.StopService() Next 'Wait for five seconds WSCript.Sleep 5000 'Apply the AClient configuration sh.Run "reg import .\settings.reg",0,True 'Start the AClient service For Each objService in colListOfServices objService.StartService() Next 'Delete all temporary files objFSO.DeleteFile(strInstallDir + "aclient.old") objFSO.DeleteFile("aclient.exe") objFSO.DeleteFile("settings.reg") objFSO.DeleteFile("start.bat") objFSO.DeleteFile("upgrade.vbs") 'Report success Wscript.Quit 0 Else 'If the AClient folder doesn't exist, do nothing Wscript.Echo "AClient Folder does not exist." 'If the AClient folder doesn't exist, report failure Wscript.Quit 1 End If
REM go to the directory this batch file is in cd %~dp0 REM call upgrade.vbs wscript upgrade.vbs
When you are ready to upgrade your AClients, schedule the job to the All Computers group of your old server. It is recommended that you schedule the job to execute in batches, for example 10 computers every 3 minutes. The batch size and frequency that works best for you will be dependent on your environment. If you are unsure, start with a longer time between batches and reduce it as you determine.