Continue using PS Tools or Custom Agent?

Jan 20, 2009 at 5:24 AM

I have been thinking about the pros and cons to using using PS tools with Team Deploy and whether Team Deploy should continue using PS Tools or if I should create a custom agent for Team Deploy to call.

The advantages of PS Tools are:

  • convenience
  • proven and accepted technology
  • No agents or other services to install on target machines

The disadvantages are:

  • Command line interface, not best for out of process communication.
  • Requires TFS Build user to be local admin on target machines
  • Not all companies want PS Tools being used in their environment.

If we create a custom agent, it would run as a service on target machines.  This service would expose a WCF endpoint.  Team Deploy would call each target via the endpoint.  The agent would have the ability to kill processes and execute MSIs like PS tools would.   The service would only need local system rights.  The main disadvantage is that this service would need to be installed on the target machine before deploying.

I could go either way on this.  I would like to hear from you as users of Team Deploy to help me determine which path to take.   I could also do a combined option and have different tasks for PS tools and custom agents.  This would allow the maximum flexibility.