Video Screencast Help

Deploy + Enhance in 1 Job

Created: 22 Oct 2012 | 3 comments

I have been looking at these articles trying to achieve one job which images and installes software packages.

I have created a server job with two nested client jobs like these articles describe but when I add it to the initial deployment process it errors with code -2:

System.InvalidCastException: Unable to cast object of type 'System.Collections.Generic.List`1[System.Guid]' to type 'Altiris.Common.GuidCollection'. at Altiris.TaskManagement.ClientTask.BaseClientTask.ProcessPreExecuteInputParameters(ParameterValueCollection inputParameters, IList`1 userRoles) at Altiris.TaskManagement.BaseTask.CreateTaskInstance(String name, String executedBy, Guid parentTaskInstanceGuid, JobNodeGuid jobNodeGuid, ParameterValueCollection inputParameterValues, IList`1 userRoles) at Altiris.TaskManagement.ClientTask.BaseClientTask.CreateTaskInstance(String name, String executedBy, Guid parentTaskInstanceGuid, JobNodeGuid jobNodeGuid, ParameterValueCollection inputPropertyValues, IList`1 userRoles) at Altiris.TaskManagement.BaseTask.ExecuteTask(TaskVersionGuid taskVersionGuid, String name, String executedBy, Guid parentTaskInstanceGuid, JobNodeGuid jobNodeGuid, ParameterValueCollection inputParameterValues, IList`1 userRoles) at Altiris.TaskManagement.Jobs.ServerTaskJobNodeExecutionBase.Execute(Hashtable jobState, ITaskExecutionInstance instance) at Altiris.TaskManagement.Jobs.ServerTaskJobNode.Execute(Hashtable jobState, ITaskExecutionInstance instance) at Altiris.TaskManagement.Jobs.ServerJobRoot.Execute(Hashtable jobState, ITaskExecutionInstance instance) at Altiris.TaskManagement.Jobs.ServerJob.OnExecute(IServerTaskExecutionInstance instance) at Altiris.TaskManagement.ServerTasks.BaseServerTask.OnExecute(ITaskExecutionEngine engine, IServerTaskExecutionInstance instance, TaskInstanceRequest request) at Altiris.TaskManagement.ServerTasks.BaseServerTask.Execute(ITaskExecutionEngine engine, IBaseTaskExecutionInstance instance, TaskInstanceRequest request) at Altiris.TaskManagement.Common.Execution.Engine.TaskEngineExecutionThread.ExecuteTaskHandler()

Anything I could be missing?

Comments 3 CommentsJump to latest comment

Thomas Baird's picture

We need more specifics on where this fails.  Which task actually fails?  When you get a failure notice on a task / job, you should be able to drill-into the task and find out what actual step failed / what was being attempted.


Does it fail before it even starts?  That is, does it fail to schedule?  If so, try the jobs individually first, to find out which one is broken, and then the tasks.  We need to know WHAT is failing.


PS>  As a "rule of thumb" or "best practice" it is better to use managed software delivery than to use software delivery tasks. Software delivery tasks are convenient and quick, but not as reliable as managed delivery, and there are issues when attempting to run agent installs, upgrades, package downloads, reboots, tasks, policies all at the same time right after an image is deployed.  If policies are used instead, then everything self-synchronizes.  Consider the option of a Sequential Software Delivery policy where you daisy-chain several applications.  OR, consider placing more apps in the image (fastest possible method.

Thomas Baird
Enthusiast for making things better!

johnc365's picture

Hi Thomas,

Thanks for your response.

For testing I have created an Empty "Server Job" and added it to my initial deployment menu, when I boot an unknown client and select this Job from the menu it shows in Jobs and Tasks as Completed.

If I then add an empty "Client Job" to the "Server Job" and repeat the procedure it fails straight away. There are no tasks involved in this test. (Error Below)

Status:  Failed
Return code:  -1
Start time:  22/10/2012 17:17:43
End time:  22/10/2012 17:17:43
Total run time:  0 seconds

I see the options for the server job: Prompt me for task input each time this job is run & Enter task input now. I am using the default settings.


johnc365's picture

Any Ideas?

I have found that my full job works perfectly if I drop the job on the machine from the deployment console. Its just initial deployment thats the problem.