<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>teamdeploy Wiki &amp; Documentation Rss Feed</title><link>http://www.codeplex.com/teamdeploy/Wiki/View.aspx?title=Home</link><description>teamdeploy Wiki Rss Description</description><item><title>Updated Wiki: Documentation</title><link>http://teamdeploy.codeplex.com/documentation?version=2</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Team Deploy 2010 Activities&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;th&gt;Activity Name&lt;/th&gt;&lt;th&gt;Properties&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Install&lt;/td&gt;&lt;td&gt;MSIPathFilename&lt;/td&gt;&lt;td&gt;Path and filename of MSI&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;        &lt;/td&gt;&lt;td&gt;ExtraArgs&lt;/td&gt;&lt;td&gt;Any additional MsiExec arguments&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;        &lt;/td&gt;&lt;td&gt;TargetMachine&lt;/td&gt;&lt;td&gt;Name of target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;        &lt;/td&gt;&lt;td&gt;RemoteExecutePathFilename&lt;/td&gt;&lt;td&gt;Path and filename of PsExec.exe&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;        &lt;/td&gt;&lt;td&gt;OverrideDefaultArgs&lt;/td&gt;&lt;td&gt;Specify args to override /qb! /i&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Uninstall&lt;/td&gt;&lt;td&gt;ProductCode&lt;/td&gt;&lt;td&gt;XML Product code for MSI&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;            &lt;/td&gt;&lt;td&gt;TargetMachine&lt;/td&gt;&lt;td&gt;Name of target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;           &lt;/td&gt;&lt;td&gt;RemoteExecutePathFilename&lt;/td&gt;&lt;td&gt;Path and filename of PsExec.exe&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;KillProcess&lt;/td&gt;&lt;td&gt;ProcessName&lt;/td&gt;&lt;td&gt;Name of process to kill&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;           &lt;/td&gt;&lt;td&gt;TargetMachine&lt;/td&gt;&lt;td&gt;Name of target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;           &lt;/td&gt;&lt;td&gt;KillAppPathFilename&lt;/td&gt;&lt;td&gt;Path and filename of PsKill.exe&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;           &lt;/td&gt;&lt;td&gt;IgnoreExitCode&lt;/td&gt;&lt;td&gt;Flag to specify whether to ignore error messages&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Deploy&lt;/td&gt;&lt;td&gt;DeployScript&lt;/td&gt;&lt;td&gt;Path and filename of XML Deployment Script (see below)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;           &lt;/td&gt;&lt;td&gt;KillAppPathFilename &lt;/td&gt;&lt;td&gt;Path and filename of PsKill.exe&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;           &lt;/td&gt;&lt;td&gt;RemoteExecutePathFilename &lt;/td&gt;&lt;td&gt;Path and filename of PsExec.exe&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;StartService&lt;/td&gt;&lt;td&gt;ServiceName&lt;/td&gt;&lt;td&gt;Name of service to be started&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;                &lt;/td&gt;&lt;td&gt;TargetMachine&lt;/td&gt;&lt;td&gt;Name of target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;StopService&lt;/td&gt;&lt;td&gt;ServiceName&lt;/td&gt;&lt;td&gt;Name of service to be stopped&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;                &lt;/td&gt;&lt;td&gt;TargetMachine&lt;/td&gt;&lt;td&gt;Name of target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;RemoteExecute&lt;/td&gt;&lt;td&gt;TargetMachine&lt;/td&gt;&lt;td&gt;Name of target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;                &lt;/td&gt;&lt;td&gt;RemoteCommand&lt;/td&gt;&lt;td&gt;Command to execute on target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;                &lt;/td&gt;&lt;td&gt;RemoteExecutePathFilename&lt;/td&gt;&lt;td&gt;Path and filename of PsExec.exe&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;                &lt;/td&gt;&lt;td&gt;OptionalParameters&lt;/td&gt;&lt;td&gt;Optional arguments for the command&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;                &lt;/td&gt;&lt;td&gt;WaitForExit&lt;/td&gt;&lt;td&gt;Flag to specify to wait for process to complete&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Team Deploy Deployment Script&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;th&gt;Node Name&lt;/th&gt;&lt;th&gt;Parent Node&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;DeploymentScript&lt;/td&gt;&lt;td&gt;Na&lt;/td&gt;&lt;td&gt;Parent node of XML containing the steps and target machines&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;DeploymentSteps&lt;/td&gt;&lt;td&gt;DeploymentScript&lt;/td&gt;&lt;td&gt;Node contain all of the steps&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;CleanupPSExec&lt;/td&gt;&lt;td&gt;DeploymentSteps&lt;/td&gt;&lt;td&gt;Removes any PsExec remaining parts&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;KillProcess&lt;/td&gt;&lt;td&gt;DeploymentSteps&lt;/td&gt;&lt;td&gt;Kills all processes with that same on the target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;MSI&lt;/td&gt;&lt;td&gt;DeploymentSteps&lt;/td&gt;&lt;td&gt;Contains the information to uninstall and install a MSI&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;UnistallProductCode&lt;/td&gt;&lt;td&gt;MSI&lt;/td&gt;&lt;td&gt;Uninstalls the application.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;UninstallName&lt;/td&gt;&lt;td&gt;MSI&lt;/td&gt;&lt;td&gt;(use either UninstallProductCode or UninstallProduceCode)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;MSIPathFie&lt;/td&gt;&lt;td&gt;MSI&lt;/td&gt;&lt;td&gt;Path and filename to MSI for installation&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;OverrideDefaultArgs&lt;/td&gt;&lt;td&gt;MSI&lt;/td&gt;&lt;td&gt;Replaces  default MsiExec arguments /qb! /i&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;ExtraArgs&lt;/td&gt;&lt;td&gt;MSI&lt;/td&gt;&lt;td&gt;Pass MSI properties such as username&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;TargetMachines&lt;/td&gt;&lt;td&gt;DeploymentScript&lt;/td&gt;&lt;td&gt;List of Target machines to perform the same actions&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;TargetMachine&lt;/td&gt;&lt;td&gt;TargetMachines&lt;/td&gt;&lt;td&gt;Uses attribute name to specify the target machine&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Sample XML Deployment Script&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#A31515;"&gt;xml&lt;/span&gt; &lt;span style="color:Red;"&gt;version&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;1.0&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;encoding&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;UTF-8&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;?&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;DeploymentScript&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;DeploymentSteps&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;MSI&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;			       
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;UninstallProductCode&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;{XE7BF359-F9AD-443B-A0BE-9E256E72A61F}&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;UninstallProductCode&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;MSIPathFile&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;\\testserver\Deployments\WebServiceApp\Temp\WebServiceApp\WebServiceApp.msi&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;MSIPathFile&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;OverrideDefaultArgs&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;OverrideDefaultArgs&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;ExtraArgs&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;ENVSERVER=test&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;ExtraArgs&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;MSI&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;MSI&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;			       
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;UninstallProductCode&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;{XC3AC33C-7FE5-441F-997C-318D88901D27}&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;UninstallProductCode&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;ServiceName&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;My Service&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;ServiceName&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;MSIPathFile&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;\\testserver\Deployments\ServerApp\Temp\MyService\MyService.msi&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;MSIPathFile&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;OverrideDefaultArgs&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;OverrideDefaultArgs&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;ExtraArgs&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;ENVSERVER=test_Server2 USR=mydomain\myuser PWD=abcd&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;ExtraArgs&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;MSI&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;MSI&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;			       
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;UninstallProductCode&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;{XE945AE2-246C-465F-952F-B439AC6902AE}&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;UninstallProductCode&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;ServiceName&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;Another Service&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;ServiceName&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;MSIPathFile&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;\\testserver\Deployments\serverApp\Temp\AnotherService\AnotherService.msi&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;MSIPathFile&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;OverrideDefaultArgs&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;OverrideDefaultArgs&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
			&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;ExtraArgs&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;ENVSERVER=test_server2 USR=mydomain\myuser PWD=abcd&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;ExtraArgs&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;MSI&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;DeploymentSteps&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;TargetMachines&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
		&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;TargetMachine&lt;/span&gt; &lt;span style="color:Red;"&gt;name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;test_server2&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
	&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;TargetMachines&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;DeploymentScript&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;

&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sat, 05 Mar 2011 05:46:56 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20110305054656A</guid></item><item><title>Updated Wiki: Documentation</title><link>http://teamdeploy.codeplex.com/documentation?version=1</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Team Deploy 2010 Activities&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;th&gt;Activity Name&lt;/th&gt;&lt;th&gt;Properties&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Install&lt;/td&gt;&lt;td&gt;MSIPathFilename&lt;/td&gt;&lt;td&gt;Path and filename of MSI&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;        &lt;/td&gt;&lt;td&gt;ExtraArgs&lt;/td&gt;&lt;td&gt;Any additional MsiExec arguments&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;        &lt;/td&gt;&lt;td&gt;TargetMachine&lt;/td&gt;&lt;td&gt;Name of target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;        &lt;/td&gt;&lt;td&gt;RemoteExecutePathFilename&lt;/td&gt;&lt;td&gt;Path and filename of PsExec.exe&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;        &lt;/td&gt;&lt;td&gt;OverrideDefaultArgs&lt;/td&gt;&lt;td&gt;Specify args to override /qb! /i&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Uninstall&lt;/td&gt;&lt;td&gt;ProductCode&lt;/td&gt;&lt;td&gt;XML Product code for MSI&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;            &lt;/td&gt;&lt;td&gt;TargetMachine&lt;/td&gt;&lt;td&gt;Name of target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;           &lt;/td&gt;&lt;td&gt;RemoteExecutePathFilename&lt;/td&gt;&lt;td&gt;Path and filename of PsExec.exe&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;KillProcess&lt;/td&gt;&lt;td&gt;ProcessName&lt;/td&gt;&lt;td&gt;Name of process to kill&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;           &lt;/td&gt;&lt;td&gt;TargetMachine&lt;/td&gt;&lt;td&gt;Name of target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;           &lt;/td&gt;&lt;td&gt;KillAppPathFilename&lt;/td&gt;&lt;td&gt;Path and filename of PsKill.exe&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;           &lt;/td&gt;&lt;td&gt;IgnoreExitCode&lt;/td&gt;&lt;td&gt;Flag to specify whether to ignore error messages&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Deploy&lt;/td&gt;&lt;td&gt;DeployScript&lt;/td&gt;&lt;td&gt;Path and filename of XML Deployment Script (see below)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;           &lt;/td&gt;&lt;td&gt;KillAppPathFilename &lt;/td&gt;&lt;td&gt;Path and filename of PsKill.exe&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;           &lt;/td&gt;&lt;td&gt;RemoteExecutePathFilename &lt;/td&gt;&lt;td&gt;Path and filename of PsExec.exe&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;StartService&lt;/td&gt;&lt;td&gt;ServiceName&lt;/td&gt;&lt;td&gt;Name of service to be started&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;                &lt;/td&gt;&lt;td&gt;TargetMachine&lt;/td&gt;&lt;td&gt;Name of target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;StopService&lt;/td&gt;&lt;td&gt;ServiceName&lt;/td&gt;&lt;td&gt;Name of service to be stopped&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;                &lt;/td&gt;&lt;td&gt;TargetMachine&lt;/td&gt;&lt;td&gt;Name of target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;RemoteExecute&lt;/td&gt;&lt;td&gt;TargetMachine&lt;/td&gt;&lt;td&gt;Name of target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;                &lt;/td&gt;&lt;td&gt;RemoteCommand&lt;/td&gt;&lt;td&gt;Command to execute on target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;                &lt;/td&gt;&lt;td&gt;RemoteExecutePathFilename&lt;/td&gt;&lt;td&gt;Path and filename of PsExec.exe&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;                &lt;/td&gt;&lt;td&gt;OptionalParameters&lt;/td&gt;&lt;td&gt;Optional arguments for the command&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;                &lt;/td&gt;&lt;td&gt;WaitForExit&lt;/td&gt;&lt;td&gt;Flag to specify to wait for process to complete&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Team Deploy Deployment Script&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;th&gt;Node Name&lt;/th&gt;&lt;th&gt;Parent Node&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;DeploymentScript&lt;/td&gt;&lt;td&gt;Na&lt;/td&gt;&lt;td&gt;Parent node of XML containing the steps and target machines&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;DeploymentSteps&lt;/td&gt;&lt;td&gt;DeploymentScript&lt;/td&gt;&lt;td&gt;Node contain all of the steps&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;CleanupPSExec&lt;/td&gt;&lt;td&gt;DeploymentSteps&lt;/td&gt;&lt;td&gt;Removes any PsExec remaining parts&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;KillProcess&lt;/td&gt;&lt;td&gt;DeploymentSteps&lt;/td&gt;&lt;td&gt;Kills all processes with that same on the target machine&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;MSI&lt;/td&gt;&lt;td&gt;DeploymentSteps&lt;/td&gt;&lt;td&gt;Contains the information to uninstall and install a MSI&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;UnistallProductCode&lt;/td&gt;&lt;td&gt;MSI&lt;/td&gt;&lt;td&gt;Uninstalls the application.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;UninstallName&lt;/td&gt;&lt;td&gt;MSI&lt;/td&gt;&lt;td&gt;(use either UninstallProductCode or UninstallProduceCode)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;MSIPathFie&lt;/td&gt;&lt;td&gt;MSI&lt;/td&gt;&lt;td&gt;Path and filename to MSI for installation&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;OverrideDefaultArgs&lt;/td&gt;&lt;td&gt;MSI&lt;/td&gt;&lt;td&gt;Replaces  default MsiExec arguments /qb! /i&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;ExtraArgs&lt;/td&gt;&lt;td&gt;MSI&lt;/td&gt;&lt;td&gt;Pass MSI properties such as username&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;TargetMachines&lt;/td&gt;&lt;td&gt;DeploymentScript&lt;/td&gt;&lt;td&gt;List of Target machines to perform the same actions&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;TargetMachine&lt;/td&gt;&lt;td&gt;TargetMachines&lt;/td&gt;&lt;td&gt;Uses attribute name to specify the target machine&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sat, 05 Mar 2011 05:42:46 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20110305054246A</guid></item><item><title>Updated Wiki: Home</title><link>http://teamdeploy.codeplex.com/wikipage?version=26</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;Deploy MSIs from TFS builds using these custom MSBuild tasks.  This collection of tasks includes everything you need to deploy cilent apps to multiple PCs and windows services to Servers.  Also includes a build notification task for controlling Lava Lamps&amp;#47;Street lights via X10.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/wikipage?title=Guidance&amp;referringTitle=Home"&gt;Guidance&lt;/a&gt; &lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/wikipage?title=Installation&amp;referringTitle=Home"&gt;Installation&lt;/a&gt; &lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/wikipage?title=Troubleshooting&amp;referringTitle=Home"&gt;Troubleshooting&amp;#47;FAQ&lt;/a&gt;&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/wikipage?title=CreateTeamDeployBuild&amp;referringTitle=Home"&gt;Creating a Team Deploy TFS Build&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Team Deploy 2010 for Team Build 2010 is released.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.noblegroupinternational.com/content/alm/teamdeploy/TeamDeploy.html" class="externalLink"&gt;End to End Team Deploy Configuration Screencast&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; by Ian Ceicys&lt;br /&gt;&lt;br /&gt;Team Deplloy MSI!  Install Team Deploy using the MSI for easy installation. &lt;br /&gt;Team Deploy 2.x  - Current release is designed for Team Foundation Server 2008&lt;br /&gt;Team Deploy 2010 (3.x)  - Current release designed for Team Foundation Server 2010 &lt;br /&gt;&lt;br /&gt;This project contains the following specialized custom MSBuild tasks for deploying MSIs and monitoring your build status.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;New&lt;/b&gt; CleanupPsExec task - PsExec works great most of the time but can hang at times.  This task cleans up PsExec.   Contributed by Jeremy Novak. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Install task - installs an MSI on a target machine&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Uninstall task - uninstalls MSI on a target machine by product code&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;KillProcess task - Kills any process on target machine (usually done before trying to uninstall/install MSI&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Deploy task - This is the main task to be called from your TFS Team build type.  This will loop through the deployment script and kill any processes necessary, uninstall the previous version, and install the new version. This now deploys in parallel for quicker deployments.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Start Service task - If deploying a windows service, call this to start the service.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Stop Service task - If deploying a windows service, call this to stop the service before uninstalling it.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Device Controller task - Use lava lamps or street lights to show the status of your builds. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Remote Execute task - Execute any executable on the target machines.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Sample Automated Deployment Windows Service MSI Solution on on MSDN Code Gallery &lt;a href="http://code.msdn.microsoft.com/msi" class="externalLink"&gt;http://code.msdn.microsoft.com/msi&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; - Code and steps to create an automated deployment MSI to use with Team Deploy.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Team Deploy now includes a command line utility that allows the deploy task to be called from other build tools.  This was originally built so Team Deploy could be called from Final Builder from TFS. Here&amp;#39;s more information on Final Builder with TFS. &lt;a href="http://www.finalbuilder.com/team-foundation-server.aspx" class="externalLink"&gt;http://www.finalbuilder.com/team-foundation-server.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All of these tasks require the installation of PSTools.  These tasks utilize several utilities from this free toolset.  This must be downloaded separately at this location below&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx" class="externalLink"&gt;http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My Blog: CodeSmartNotHard.com&lt;br /&gt;&lt;a href="http://www.codesmartnothard.com" class="externalLink"&gt;http://www.codesmartnothard.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Follow me on Twitter and tweet comments/questions&lt;br /&gt;&lt;a href="http://www.twitter.com/mikedouglasdev" class="externalLink"&gt;http://www.twitter.com/mikedouglasdev&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Thu, 27 May 2010 14:16:29 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100527021629P</guid></item><item><title>Updated Wiki: Home</title><link>http://teamdeploy.codeplex.com/wikipage?version=25</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;Deploy MSIs from TFS builds using these custom MSBuild tasks.  This collection of tasks includes everything you need to deploy cilent apps to multiple PCs and windows services to Servers.  Also includes a build notification task for controlling Lava Lamps&amp;#47;Street lights via X10.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/wikipage?title=Guidance&amp;referringTitle=Home"&gt;Guidance&lt;/a&gt; &lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/wikipage?title=Installation&amp;referringTitle=Home"&gt;Installation&lt;/a&gt; &lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/wikipage?title=Troubleshooting&amp;referringTitle=Home"&gt;Troubleshooting&amp;#47;FAQ&lt;/a&gt;&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/wikipage?title=CreateTeamDeployBuild&amp;referringTitle=Home"&gt;Creating a Team Deploy TFS Build&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Beta release of Team Deploy 2010 for Team Build 2010.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.noblegroupinternational.com/content/alm/teamdeploy/TeamDeploy.html" class="externalLink"&gt;End to End Team Deploy Configuration Screencast&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; by Ian Ceicys&lt;br /&gt;&lt;br /&gt;Team Deplloy MSI!  Install Team Deploy using the MSI for easy installation. &lt;br /&gt;Team Deploy 2.x  - Current release is designed for Team Foundation Server 2008&lt;br /&gt;Team Deploy 2010 (3.x)  - Beta release designed for Team Foundation Server 2010 &lt;br /&gt;&lt;br /&gt;This project contains the following specialized custom MSBuild tasks for deploying MSIs and monitoring your build status.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;New&lt;/b&gt; CleanupPsExec task - PsExec works great most of the time but can hang at times.  This task cleans up PsExec.   Contributed by Jeremy Novak. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Install task - installs an MSI on a target machine&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Uninstall task - uninstalls MSI on a target machine by product code&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;KillProcess task - Kills any process on target machine (usually done before trying to uninstall/install MSI&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Deploy task - This is the main task to be called from your TFS Team build type.  This will loop through the deployment script and kill any processes necessary, uninstall the previous version, and install the new version. This now deploys in parallel for quicker deployments.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Start Service task - If deploying a windows service, call this to start the service.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Stop Service task - If deploying a windows service, call this to stop the service before uninstalling it.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Device Controller task - Use lava lamps or street lights to show the status of your builds. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Remote Execute task - Execute any executable on the target machines.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Sample Automated Deployment Windows Service MSI Solution on on MSDN Code Gallery &lt;a href="http://code.msdn.microsoft.com/msi" class="externalLink"&gt;http://code.msdn.microsoft.com/msi&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; - Code and steps to create an automated deployment MSI to use with Team Deploy.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Team Deploy now includes a command line utility that allows the deploy task to be called from other build tools.  This was originally built so Team Deploy could be called from Final Builder from TFS. Here&amp;#39;s more information on Final Builder with TFS. &lt;a href="http://www.finalbuilder.com/team-foundation-server.aspx" class="externalLink"&gt;http://www.finalbuilder.com/team-foundation-server.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All of these tasks require the installation of PSTools.  These tasks utilize several utilities from this free toolset.  This must be downloaded separately at this location below&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx" class="externalLink"&gt;http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My Blog: CodeSmartNotHard.com&lt;br /&gt;&lt;a href="http://www.codesmartnothard.com" class="externalLink"&gt;http://www.codesmartnothard.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Follow me on Twitter and tweet comments/questions&lt;br /&gt;&lt;a href="http://www.twitter.com/mikedouglasdev" class="externalLink"&gt;http://www.twitter.com/mikedouglasdev&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Mon, 17 May 2010 05:06:05 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100517050605A</guid></item><item><title>Updated Wiki: Home</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Home&amp;version=24</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;Deploy MSIs from TFS builds using these custom MSBuild tasks.  This collection of tasks includes everything you need to deploy cilent apps to multiple PCs and windows services to Servers.  Also includes a build notification task for controlling Lava Lamps&amp;#47;Street lights via X10.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Guidance"&gt;Guidance&lt;/a&gt; &lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Installation"&gt;Installation&lt;/a&gt; &lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Troubleshooting"&gt;Troubleshooting&amp;#47;FAQ&lt;/a&gt;&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=CreateTeamDeployBuild"&gt;Creating a Team Deploy TFS Build&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; &lt;a href="http://www.noblegroupinternational.com/content/alm/teamdeploy/TeamDeploy.html" class="externalLink"&gt;End to End Team Deploy Configuration Screencast&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; by Ian Ceicys&lt;br /&gt;&lt;br /&gt;Team Deplloy MSI!  Install Team Deploy using the MSI for easy installation. &lt;br /&gt;Team Deploy 2.x  - Current release is designed for Team Foundation Server 2008&lt;br /&gt;Team Deploy 3.x  - Future release designed for Team Foundation Server 2010 (Coming soon)&lt;br /&gt;&lt;br /&gt;This project contains the following specialized custom MSBuild tasks for deploying MSIs and monitoring your build status.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;New&lt;/b&gt; CleanupPsExec task - PsExec works great most of the time but can hang at times.  This task cleans up PsExec.   Contributed by Jeremy Novak. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Install task - installs an MSI on a target machine&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Uninstall task - uninstalls MSI on a target machine by product code&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;KillProcess task - Kills any process on target machine (usually done before trying to uninstall/install MSI&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Deploy task - This is the main task to be called from your TFS Team build type.  This will loop through the deployment script and kill any processes necessary, uninstall the previous version, and install the new version. This now deploys in parallel for quicker deployments.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Start Service task - If deploying a windows service, call this to start the service.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Stop Service task - If deploying a windows service, call this to stop the service before uninstalling it.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Device Controller task - Use lava lamps or street lights to show the status of your builds. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Remote Execute task - Execute any executable on the target machines.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Sample Automated Deployment Windows Service MSI Solution on on MSDN Code Gallery &lt;a href="http://code.msdn.microsoft.com/msi" class="externalLink"&gt;http://code.msdn.microsoft.com/msi&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; - Code and steps to create an automated deployment MSI to use with Team Deploy.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Team Deploy now includes a command line utility that allows the deploy task to be called from other build tools.  This was originally built so Team Deploy could be called from Final Builder from TFS. Here's more information on Final Builder with TFS. &lt;a href="http://www.finalbuilder.com/team-foundation-server.aspx" class="externalLink"&gt;http://www.finalbuilder.com/team-foundation-server.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All of these tasks require the installation of PSTools.  These tasks utilize several utilities from this free toolset.  This must be downloaded separately at this location below&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx" class="externalLink"&gt;http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My Blog: CodeSmartNotHard.com&lt;br /&gt;&lt;a href="http://www.codesmartnothard.com" class="externalLink"&gt;http://www.codesmartnothard.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Follow me on Twitter and tweet comments/questions&lt;br /&gt;&lt;a href="http://www.twitter.com/mikedouglasdev" class="externalLink"&gt;http://www.twitter.com/mikedouglasdev&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Mon, 28 Sep 2009 17:56:58 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090928055658P</guid></item><item><title>Updated Wiki: Home</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Home&amp;version=23</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;Deploy MSIs from TFS builds using these custom MSBuild tasks.  This collection of tasks includes everything you need to deploy cilent apps to multiple PCs and windows services to Servers.  Also includes a build notification task for controlling Lava Lamps&amp;#47;Street lights via X10.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Guidance"&gt;Guidance&lt;/a&gt; &lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Installation"&gt;Installation&lt;/a&gt; &lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Troubleshooting"&gt;Troubleshooting&amp;#47;FAQ&lt;/a&gt;&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=CreateTeamDeployBuild"&gt;Creating a Team Deploy TFS Build&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; &lt;a href="http://www.noblegroupinternational.com/content/alm/teamdeploy/TeamDeploy.html" class="externalLink"&gt;End to End Team Deploy Configuration Screencast&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; by Ian Ceicys&lt;br /&gt;&lt;br /&gt;Team Deplloy MSI!  Install Team Deploy using the MSI for easy installation. &lt;br /&gt;Team Deploy 2.x  - Current release is designed for Team Foundation Server 2008&lt;br /&gt;Team Deploy 3.x  - Future release designed for Team Foundation Server 2010 (Coming soon)&lt;br /&gt;&lt;br /&gt;This project contains the following specialized custom MSBuild tasks for deploying MSIs and monitoring your build status.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;New&lt;/b&gt; CleanupPsExec task - PsExec works great most of the time but can hang at times.  This task cleans up PsExec.   Contributed by Jeremy Novak. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Install task - installs an MSI on a target machine&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Uninstall task - uninstalls MSI on a target machine by product code&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;KillProcess task - Kills any process on target machine (usually done before trying to uninstall/install MSI&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Deploy task - This is the main task to be called from your TFS Team build type.  This will loop through the deployment script and kill any processes necessary, uninstall the previous version, and install the new version. This now deploys in parallel for quicker deployments.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Start Service task - If deploying a windows service, call this to start the service.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Stop Service task - If deploying a windows service, call this to stop the service before uninstalling it.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Device Controller task - Use lava lamps or street lights to show the status of your builds. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Remote Execute task - Execute any executable on the target machines.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Sample Automated Deployment Windows Service MSI Solution on on MSDN Code Gallery &lt;a href="http://code.msdn.microsoft.com/msi" class="externalLink"&gt;http://code.msdn.microsoft.com/msi&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; - Code and steps to create an automated deployment MSI to use with Team Deploy.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Team Deploy now includes a command line utility that allows the deploy task to be called from other build tools.  This was originally built so Team Deploy could be called from Final Builder from TFS. Here's more information on Final Builder with TFS. &lt;a href="http://www.finalbuilder.com/team-foundation-server.aspx" class="externalLink"&gt;http://www.finalbuilder.com/team-foundation-server.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All of these tasks require the installation of PSTools.  These tasks utilize several utilities from this free toolset.  This must be downloaded separately at this location below&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx" class="externalLink"&gt;http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My Blog: CodeSmartNotHard.com&lt;br /&gt;&lt;a href="http://www.codesmartnothard.com" class="externalLink"&gt;http://www.codesmartnothard.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sat, 26 Sep 2009 12:52:35 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090926125235P</guid></item><item><title>Updated Wiki: Troubleshooting</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Troubleshooting&amp;version=2</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Troubleshooting Team Deploy&lt;/h1&gt;
&lt;h2&gt;Issues&lt;/h2&gt;
&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=PSExecLocksUp&amp;referringTitle=Home"&gt;Team Deploy task completes but the MSI isn&amp;#39;t updated on the clients.  PSExec locks up.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;MSI returns Error code 1603 When trying to install web services or web site with web setup MSI to IIS7 on Windows 2008 Server&lt;/b&gt;&lt;br /&gt;Add IIS 6 Metabase Compatibility feature to the Web Server role.  &lt;a href="http://www.nitiative.com/portal/Home/tabid/36/EntryId/15/IIS7-Web-Setup-Install-Error-Status-1603.aspx" class="externalLink"&gt;More Info&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;FAQs&lt;/h2&gt;
&lt;b&gt;Can Team Deploy be used to deploy WCF Services?&lt;/b&gt;&lt;br /&gt;A: Yes, if the WCF services are hosted in IIS, then create a web setup MSI.  Team Deploy can install these like any other MSI.  If it is hosted in a windows service, this can also be deployed by creating a setup MSI.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;If I want to deploy different MSIs to each server, how can I do this with the deploy script?&lt;/b&gt;&lt;br /&gt;A: Create two Deploy tasks in your build and each one will call a separate deploy script.&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sat, 26 Sep 2009 12:51:09 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Troubleshooting 20090926125109P</guid></item><item><title>Updated Wiki: Home</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Home&amp;version=22</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;Deploy MSIs from TFS builds using these custom MSBuild tasks.  This collection of tasks includes everything you need to deploy cilent apps to multiple PCs and windows services to Servers.  Also includes a build notification task for controlling Lava Lamps&amp;#47;Street lights via X10.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Guidance"&gt;Guidance&lt;/a&gt; &lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Installation"&gt;Installation&lt;/a&gt; &lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Troubleshooting"&gt;Troubleshooting&amp;#47;FAQ&lt;/a&gt;&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=CreateTeamDeployBuild"&gt;Creating a Team Deploy TFS Build&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; &lt;a href="http://www.noblegroupinternational.com/content/alm/teamdeploy/TeamDeploy.html" class="externalLink"&gt;End to End Team Deploy Configuration Screencast&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; by Ian Ceisys&lt;br /&gt;&lt;br /&gt;Team Deplloy MSI!  Install Team Deploy using the MSI for easy installation. &lt;br /&gt;Team Deploy 2.x  - Current release is designed for Team Foundation Server 2008&lt;br /&gt;Team Deploy 3.x  - Future release designed for Team Foundation Server 2010 (Coming soon)&lt;br /&gt;&lt;br /&gt;This project contains the following specialized custom MSBuild tasks for deploying MSIs and monitoring your build status.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;New&lt;/b&gt; CleanupPsExec task - PsExec works great most of the time but can hang at times.  This task cleans up PsExec.   Contributed by Jeremy Novak. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Install task - installs an MSI on a target machine&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Uninstall task - uninstalls MSI on a target machine by product code&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;KillProcess task - Kills any process on target machine (usually done before trying to uninstall/install MSI&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Deploy task - This is the main task to be called from your TFS Team build type.  This will loop through the deployment script and kill any processes necessary, uninstall the previous version, and install the new version. This now deploys in parallel for quicker deployments.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Start Service task - If deploying a windows service, call this to start the service.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Stop Service task - If deploying a windows service, call this to stop the service before uninstalling it.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Device Controller task - Use lava lamps or street lights to show the status of your builds. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Remote Execute task - Execute any executable on the target machines.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Sample Automated Deployment Windows Service MSI Solution on on MSDN Code Gallery &lt;a href="http://code.msdn.microsoft.com/msi" class="externalLink"&gt;http://code.msdn.microsoft.com/msi&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; - Code and steps to create an automated deployment MSI to use with Team Deploy.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Team Deploy now includes a command line utility that allows the deploy task to be called from other build tools.  This was originally built so Team Deploy could be called from Final Builder from TFS. Here's more information on Final Builder with TFS. &lt;a href="http://www.finalbuilder.com/team-foundation-server.aspx" class="externalLink"&gt;http://www.finalbuilder.com/team-foundation-server.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All of these tasks require the installation of PSTools.  These tasks utilize several utilities from this free toolset.  This must be downloaded separately at this location below&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx" class="externalLink"&gt;http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My Blog: CodeSmartNotHard.com&lt;br /&gt;&lt;a href="http://www.codesmartnothard.com" class="externalLink"&gt;http://www.codesmartnothard.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sat, 26 Sep 2009 12:38:23 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090926123823P</guid></item><item><title>Updated Wiki: Home</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Home&amp;version=21</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;Deploy MSIs from TFS builds using these custom MSBuild tasks.  This collection of tasks includes everything you need to deploy cilent apps to multiple PCs and windows services to Servers.  Also includes a build notification task for controlling Lava Lamps&amp;#47;Street lights via X10.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Guidance"&gt;Guidance&lt;/a&gt; &lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Installation"&gt;Installation&lt;/a&gt; &lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Troubleshooting"&gt;Troubleshooting&lt;/a&gt;&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=CreateTeamDeployBuild"&gt;Creating a Team Deploy TFS Build&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Team Deplloy MSI!  Install Team Deploy using the MSI for easy installation. &lt;br /&gt;Team Deploy 2.x  - Current release is designed for Team Foundation Server 2008&lt;br /&gt;Team Deploy 3.x  - Future release designed for Team Foundation Server 2010 (Coming soon)&lt;br /&gt;&lt;br /&gt;This project contains the following specialized custom MSBuild tasks for deploying MSIs and monitoring your build status.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;New&lt;/b&gt; CleanupPsExec task - PsExec works great most of the time but can hang at times.  This task cleans up PsExec.   Contributed by Jeremy Novak. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Install task - installs an MSI on a target machine&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Uninstall task - uninstalls MSI on a target machine by product code&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;KillProcess task - Kills any process on target machine (usually done before trying to uninstall/install MSI&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Deploy task - This is the main task to be called from your TFS Team build type.  This will loop through the deployment script and kill any processes necessary, uninstall the previous version, and install the new version. This now deploys in parallel for quicker deployments.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Start Service task - If deploying a windows service, call this to start the service.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Stop Service task - If deploying a windows service, call this to stop the service before uninstalling it.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Device Controller task - Use lava lamps or street lights to show the status of your builds. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Remote Execute task - Execute any executable on the target machines.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Sample Automated Deployment Windows Service MSI Solution on on MSDN Code Gallery &lt;a href="http://code.msdn.microsoft.com/msi" class="externalLink"&gt;http://code.msdn.microsoft.com/msi&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; - Code and steps to create an automated deployment MSI to use with Team Deploy.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Team Deploy now includes a command line utility that allows the deploy task to be called from other build tools.  This was originally built so Team Deploy could be called from Final Builder from TFS. Here's more information on Final Builder with TFS. &lt;a href="http://www.finalbuilder.com/team-foundation-server.aspx" class="externalLink"&gt;http://www.finalbuilder.com/team-foundation-server.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All of these tasks require the installation of PSTools.  These tasks utilize several utilities from this free toolset.  This must be downloaded separately at this location below&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx" class="externalLink"&gt;http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My Blog: CodeSmartNotHard.com&lt;br /&gt;&lt;a href="http://www.codesmartnothard.com" class="externalLink"&gt;http://www.codesmartnothard.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sun, 23 Aug 2009 04:50:24 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090823045024A</guid></item><item><title>Updated Wiki: PSExecLocksUp</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=PSExecLocksUp&amp;version=3</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Team Deploy task completes but the MSI isn't updated on the clients. PSExec locks up.&lt;/h1&gt;
&lt;b&gt;Thanks to Ken Johnson for identifying and documenting this issue and Jeremy Novak for creating the CleanupPsExec task to fix this issue!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Our automated build recently stopped remotely installing our services from the build server (buildserver) to the system test application server (targetserver).  It was able to stop and restart the service, and it thought it was installing the services, but the install was not actually running.&lt;br /&gt;Here is a sample of one of our command lines: TeamDeploy.exe /CONFIG:EODService.xml&lt;br /&gt;Because the services installed properly when running the MSI from the application server itself, and because TeamDeploy depends on PSTools for remote deployments, I started looking at thePSTools: specifically PSKill and PSExec.&lt;br /&gt;First I verified that pskill was working remotely by opening notepad on the application server and killing it from the build server:&lt;br /&gt;pskill \\targetserver notepad.exe&lt;br /&gt;&lt;br /&gt;PsKill v1.03 - local and remote process killer&lt;br /&gt;Copyright (C) 2000 Mark Russinovich&lt;br /&gt;http://www.sysinternals.com&lt;br /&gt;&lt;br /&gt;Process notepad.exe killed on targetserver.&lt;br /&gt;&lt;br /&gt;Next, I tried to verify that psexec was working properly:&lt;br /&gt;&lt;br /&gt;psexec \\targetserver &amp;quot;c:\windows\system32\ipconfig.exe&amp;quot;&lt;br /&gt;&lt;br /&gt;PsExec v1.31 - execute processes remotely&lt;br /&gt;Copyright (C) 2001-2002 Mark Russinovich&lt;br /&gt;www.sysinternals.com&lt;br /&gt;&lt;br /&gt;Error communicating with PsExec service on targetserver :&lt;br /&gt;No process is on the other end of the pipe.&lt;br /&gt;&lt;br /&gt;It returned an error indicating there was no process on the other end of the pipe.  This seemed to indicate a problem with psexesvc.&lt;br /&gt;Since psexesvc installs automatically when running psexec, I removed psexesvc from the application server (1):&lt;br /&gt;sc \\targetserver stop psexesvc&lt;br /&gt;SERVICE_NAME: psexesvc&lt;br /&gt;        TYPE               : 10  WIN32&lt;i&gt;OWN&lt;/i&gt;PROCESS&lt;br /&gt;        STATE              : 3  STOP_PENDING&lt;br /&gt;                                (STOPPABLE, NOT&lt;i&gt;PAUSABLE, IGNORES&lt;/i&gt;SHUTDOWN))&lt;br /&gt;        WIN32&lt;i&gt;EXIT&lt;/i&gt;CODE    : 0  (0x0)&lt;br /&gt;        SERVICE&lt;i&gt;EXIT&lt;/i&gt;CODE  : 0  (0x0)&lt;br /&gt;        CHECKPOINT         : 0x2&lt;br /&gt;        WAIT_HINT          : 0x0&lt;br /&gt;&lt;br /&gt;sc \\targetserver delete psexesvc&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=SC&amp;referringTitle=Troubleshooting"&gt;SC&lt;/a&gt; DeleteService SUCCESS&lt;br /&gt;&lt;br /&gt;After cleaning up the psexesvc, I verified that psexec was working properly:&lt;br /&gt;&lt;br /&gt;psexec \\targetserver ipconfig&lt;br /&gt;&lt;br /&gt;PsExec v1.31 - execute processes remotely&lt;br /&gt;Copyright (C) 2001-2002 Mark Russinovich&lt;br /&gt;www.sysinternals.com&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Windows IP Configuration&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ethernet adapter Local Area Connection:&lt;br /&gt;&lt;br /&gt;   Connection-specific DNS Suffix  . :&lt;br /&gt;   Link-local IPv6 Address . . . . . : fe80::b5eb:e3&lt;br /&gt;   IPv4 Address. . . . . . . . . . . : 10.2.15.171&lt;br /&gt;   Subnet Mask . . . . . . . . . . . : 255.255.254.0&lt;br /&gt;   Default Gateway . . . . . . . . . : 10.2.15.251&lt;br /&gt;&lt;br /&gt;Tunnel adapter Local Area Connection* 8:&lt;br /&gt;&lt;br /&gt;   Media State . . . . . . . . . . . : Media disconn&lt;br /&gt;   Connection-specific DNS Suffix  . :&lt;br /&gt;&lt;br /&gt;Tunnel adapter Local Area Connection* 9:&lt;br /&gt;&lt;br /&gt;   Media State . . . . . . . . . . . : Media disconn&lt;br /&gt;   Connection-specific DNS Suffix  . :&lt;br /&gt;ipconfig exited on targetserver with error code 0.&lt;br /&gt;&lt;br /&gt;The final test of course was to run TeamDeploy.exe /CONFIG:EODService.xml from the build server, and it successfully installed our service remotely.  Our build is back in business!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(1)  &lt;a href="http://forum.sysinternals.com/forum_posts.asp?TID=3935&amp;amp;PN=1&amp;amp;TPN=2#32755" class="externalLink"&gt;http://forum.sysinternals.com/forum_posts.asp?TID=3935&amp;amp;PN=1&amp;amp;TPN=2#32755&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sun, 23 Aug 2009 03:42:52 GMT</pubDate><guid isPermaLink="false">Updated Wiki: PSExecLocksUp 20090823034252A</guid></item><item><title>Updated Wiki: PSExecLocksUp</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=PSExecLocksUp&amp;version=2</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Team Deploy task completes but the MSI isn't updated on the clients. PSExec locks up.&lt;/h1&gt;
&lt;h2&gt;Thanks to Ken Johnson for identifying and documenting this issue and Jeremy Novak for creating the CleanupPsExec task to fix this issue!&lt;/h2&gt;
Our automated build recently stopped remotely installing our services from the build server (buildserver) to the system test application server (targetserver).  It was able to stop and restart the service, and it thought it was installing the services, but the install was not actually running.&lt;br /&gt;Here is a sample of one of our command lines: TeamDeploy.exe /CONFIG:EODService.xml&lt;br /&gt;Because the services installed properly when running the MSI from the application server itself, and because TeamDeploy depends on PSTools for remote deployments, I started looking at thePSTools: specifically PSKill and PSExec.&lt;br /&gt;First I verified that pskill was working remotely by opening notepad on the application server and killing it from the build server:&lt;br /&gt;pskill \\targetserver notepad.exe&lt;br /&gt;&lt;br /&gt;PsKill v1.03 - local and remote process killer&lt;br /&gt;Copyright (C) 2000 Mark Russinovich&lt;br /&gt;http://www.sysinternals.com&lt;br /&gt;&lt;br /&gt;Process notepad.exe killed on targetserver.&lt;br /&gt;&lt;br /&gt;Next, I tried to verify that psexec was working properly:&lt;br /&gt;&lt;br /&gt;psexec \\targetserver &amp;quot;c:\windows\system32\ipconfig.exe&amp;quot;&lt;br /&gt;&lt;br /&gt;PsExec v1.31 - execute processes remotely&lt;br /&gt;Copyright (C) 2001-2002 Mark Russinovich&lt;br /&gt;www.sysinternals.com&lt;br /&gt;&lt;br /&gt;Error communicating with PsExec service on targetserver :&lt;br /&gt;No process is on the other end of the pipe.&lt;br /&gt;&lt;br /&gt;It returned an error indicating there was no process on the other end of the pipe.  This seemed to indicate a problem with psexesvc.&lt;br /&gt;Since psexesvc installs automatically when running psexec, I removed psexesvc from the application server (1):&lt;br /&gt;sc \\targetserver stop psexesvc&lt;br /&gt;SERVICE_NAME: psexesvc&lt;br /&gt;        TYPE               : 10  WIN32&lt;i&gt;OWN&lt;/i&gt;PROCESS&lt;br /&gt;        STATE              : 3  STOP_PENDING&lt;br /&gt;                                (STOPPABLE, NOT&lt;i&gt;PAUSABLE, IGNORES&lt;/i&gt;SHUTDOWN))&lt;br /&gt;        WIN32&lt;i&gt;EXIT&lt;/i&gt;CODE    : 0  (0x0)&lt;br /&gt;        SERVICE&lt;i&gt;EXIT&lt;/i&gt;CODE  : 0  (0x0)&lt;br /&gt;        CHECKPOINT         : 0x2&lt;br /&gt;        WAIT_HINT          : 0x0&lt;br /&gt;&lt;br /&gt;sc \\targetserver delete psexesvc&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=SC&amp;referringTitle=Troubleshooting"&gt;SC&lt;/a&gt; DeleteService SUCCESS&lt;br /&gt;&lt;br /&gt;After cleaning up the psexesvc, I verified that psexec was working properly:&lt;br /&gt;&lt;br /&gt;psexec \\targetserver ipconfig&lt;br /&gt;&lt;br /&gt;PsExec v1.31 - execute processes remotely&lt;br /&gt;Copyright (C) 2001-2002 Mark Russinovich&lt;br /&gt;www.sysinternals.com&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Windows IP Configuration&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ethernet adapter Local Area Connection:&lt;br /&gt;&lt;br /&gt;   Connection-specific DNS Suffix  . :&lt;br /&gt;   Link-local IPv6 Address . . . . . : fe80::b5eb:e3&lt;br /&gt;   IPv4 Address. . . . . . . . . . . : 10.2.15.171&lt;br /&gt;   Subnet Mask . . . . . . . . . . . : 255.255.254.0&lt;br /&gt;   Default Gateway . . . . . . . . . : 10.2.15.251&lt;br /&gt;&lt;br /&gt;Tunnel adapter Local Area Connection* 8:&lt;br /&gt;&lt;br /&gt;   Media State . . . . . . . . . . . : Media disconn&lt;br /&gt;   Connection-specific DNS Suffix  . :&lt;br /&gt;&lt;br /&gt;Tunnel adapter Local Area Connection* 9:&lt;br /&gt;&lt;br /&gt;   Media State . . . . . . . . . . . : Media disconn&lt;br /&gt;   Connection-specific DNS Suffix  . :&lt;br /&gt;ipconfig exited on targetserver with error code 0.&lt;br /&gt;&lt;br /&gt;The final test of course was to run TeamDeploy.exe /CONFIG:EODService.xml from the build server, and it successfully installed our service remotely.  Our build is back in business!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(1)  &lt;a href="http://forum.sysinternals.com/forum_posts.asp?TID=3935&amp;amp;PN=1&amp;amp;TPN=2#32755" class="externalLink"&gt;http://forum.sysinternals.com/forum_posts.asp?TID=3935&amp;amp;PN=1&amp;amp;TPN=2#32755&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sun, 23 Aug 2009 03:42:10 GMT</pubDate><guid isPermaLink="false">Updated Wiki: PSExecLocksUp 20090823034210A</guid></item><item><title>Updated Wiki: PSExecLocksUp</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=PSExecLocksUp&amp;version=1</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;asdf&lt;/h1&gt;
!!Thanks to Ken Johnson for identifying and documenting this issue and Jeremy Novak for creating the CleanupPsExec task to fix this issue!&lt;br /&gt;&lt;br /&gt;Our automated build recently stopped remotely installing our services from the build server (buildserver) to the system test application server (targetserver).  It was able to stop and restart the service, and it thought it was installing the services, but the install was not actually running.&lt;br /&gt;Here is a sample of one of our command lines: TeamDeploy.exe /CONFIG:EODService.xml&lt;br /&gt;Because the services installed properly when running the MSI from the application server itself, and because TeamDeploy depends on PSTools for remote deployments, I started looking at thePSTools: specifically PSKill and PSExec.&lt;br /&gt;First I verified that pskill was working remotely by opening notepad on the application server and killing it from the build server:&lt;br /&gt;pskill \\targetserver notepad.exe&lt;br /&gt;&lt;br /&gt;PsKill v1.03 - local and remote process killer&lt;br /&gt;Copyright (C) 2000 Mark Russinovich&lt;br /&gt;http://www.sysinternals.com&lt;br /&gt;&lt;br /&gt;Process notepad.exe killed on targetserver.&lt;br /&gt;&lt;br /&gt;Next, I tried to verify that psexec was working properly:&lt;br /&gt;&lt;br /&gt;psexec \\targetserver &amp;quot;c:\windows\system32\ipconfig.exe&amp;quot;&lt;br /&gt;&lt;br /&gt;PsExec v1.31 - execute processes remotely&lt;br /&gt;Copyright (C) 2001-2002 Mark Russinovich&lt;br /&gt;www.sysinternals.com&lt;br /&gt;&lt;br /&gt;Error communicating with PsExec service on targetserver :&lt;br /&gt;No process is on the other end of the pipe.&lt;br /&gt;&lt;br /&gt;It returned an error indicating there was no process on the other end of the pipe.  This seemed to indicate a problem with psexesvc.&lt;br /&gt;Since psexesvc installs automatically when running psexec, I removed psexesvc from the application server (1):&lt;br /&gt;sc \\targetserver stop psexesvc&lt;br /&gt;SERVICE_NAME: psexesvc&lt;br /&gt;        TYPE               : 10  WIN32&lt;i&gt;OWN&lt;/i&gt;PROCESS&lt;br /&gt;        STATE              : 3  STOP_PENDING&lt;br /&gt;                                (STOPPABLE, NOT&lt;i&gt;PAUSABLE, IGNORES&lt;/i&gt;SHUTDOWN))&lt;br /&gt;        WIN32&lt;i&gt;EXIT&lt;/i&gt;CODE    : 0  (0x0)&lt;br /&gt;        SERVICE&lt;i&gt;EXIT&lt;/i&gt;CODE  : 0  (0x0)&lt;br /&gt;        CHECKPOINT         : 0x2&lt;br /&gt;        WAIT_HINT          : 0x0&lt;br /&gt;&lt;br /&gt;sc \\targetserver delete psexesvc&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=SC&amp;referringTitle=Home"&gt;SC&lt;/a&gt; DeleteService SUCCESS&lt;br /&gt;&lt;br /&gt;After cleaning up the psexesvc, I verified that psexec was working properly:&lt;br /&gt;&lt;br /&gt;psexec \\targetserver ipconfig&lt;br /&gt;&lt;br /&gt;PsExec v1.31 - execute processes remotely&lt;br /&gt;Copyright (C) 2001-2002 Mark Russinovich&lt;br /&gt;www.sysinternals.com&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Windows IP Configuration&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ethernet adapter Local Area Connection:&lt;br /&gt;&lt;br /&gt;   Connection-specific DNS Suffix  . :&lt;br /&gt;   Link-local IPv6 Address . . . . . : fe80::b5eb:e3&lt;br /&gt;   IPv4 Address. . . . . . . . . . . : 10.2.15.171&lt;br /&gt;   Subnet Mask . . . . . . . . . . . : 255.255.254.0&lt;br /&gt;   Default Gateway . . . . . . . . . : 10.2.15.251&lt;br /&gt;&lt;br /&gt;Tunnel adapter Local Area Connection* 8:&lt;br /&gt;&lt;br /&gt;   Media State . . . . . . . . . . . : Media disconn&lt;br /&gt;   Connection-specific DNS Suffix  . :&lt;br /&gt;&lt;br /&gt;Tunnel adapter Local Area Connection* 9:&lt;br /&gt;&lt;br /&gt;   Media State . . . . . . . . . . . : Media disconn&lt;br /&gt;   Connection-specific DNS Suffix  . :&lt;br /&gt;ipconfig exited on targetserver with error code 0.&lt;br /&gt;&lt;br /&gt;The final test of course was to run TeamDeploy.exe /CONFIG:EODService.xml from the build server, and it successfully installed our service remotely.  Our build is back in business!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(1)  &lt;a href="http://forum.sysinternals.com/forum_posts.asp?TID=3935&amp;amp;PN=1&amp;amp;TPN=2#32755" class="externalLink"&gt;http://forum.sysinternals.com/forum_posts.asp?TID=3935&amp;amp;PN=1&amp;amp;TPN=2#32755&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sun, 23 Aug 2009 03:41:23 GMT</pubDate><guid isPermaLink="false">Updated Wiki: PSExecLocksUp 20090823034123A</guid></item><item><title>Updated Wiki: Troubleshooting</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Troubleshooting&amp;version=1</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Troubleshooting Team Deploy&lt;/h1&gt;
&lt;h2&gt;Issues&lt;/h2&gt;
&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=PSExecLocksUp&amp;referringTitle=Home"&gt;Team Deploy task completes but the MSI isn&amp;#39;t updated on the clients.  PSExec locks up.&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sun, 23 Aug 2009 03:29:40 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Troubleshooting 20090823032940A</guid></item><item><title>Updated Wiki: CreateTeamDeployBuild</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=CreateTeamDeployBuild&amp;version=7</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Creating a Team Deploy TFS Build&lt;/h1&gt;
&lt;ul&gt;&lt;li&gt;In Team Explorer, create a new build in your Team Project by right clicking on Builds and choosing “New Build Definition”&lt;/li&gt;&lt;/ul&gt;
&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80206" alt="New&amp;#32;Build&amp;#32;Definition" title="New&amp;#32;Build&amp;#32;Definition" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Give it a name such as “Build and Deploy”&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Create a workspace (Cloak other folders in your project that don’t need to be part of the build.  This helps the speed up your build because otherwise the server will try to get all source files in the project)&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Leave Project File name as is but click on the “Create” button to create a new TFSBuild.proj file. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Next choose the solution you want to build, then the configuration type.  I recommend leaving the default.  &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Choose any options that you want to enable for running tests and/or code analysis.  I would recommend leaving these unchecked for now and once you verify everything is working then go back and enable the options you want.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;In TFS 2008, you can choose retention policies.  This will help prevent builds from filling up your server disk space quickly.  I usually choose Keep 7 latest.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;the next options are for the Build Defaults.  Choose the appropriate build agent.  If unsure, just leave the default.  Then choose the share where you want to copy the staging files.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;The last option is “Trigger”.  The &amp;quot;build and deploy&amp;quot; build should be separate from the continuous integration build.  I recommend leaving the default “Check-ins do not trigger a new build”.&lt;/li&gt;&lt;/ul&gt;
&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80218" alt="Build&amp;#32;Trigger" title="Build&amp;#32;Trigger" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Finally click “OK” to create the build type.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Creating the build definition will create the TFSBuild.proj that contains the basic options that were selected in the wizard.  The following steps will customize the TFSBuild.proj file created.  This file is a Xml file based on MSBuild.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;To modify the TFSBuild.proj file, located the file under Source Control -&amp;gt; $/YourTeamProject/TeamBuildTypes/Build and Deploy (You can also navigate directly to this file by right clicking on the build definition and choosing &amp;quot;View Configuration Folder&amp;quot;.)&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Check out and open the TFSBuild.proj file to configure it to use Team Deploy&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Find the comment  &amp;lt;!—Do not edit this -&amp;gt; and add the following line underneath the one that is already there.  It should look something like the screenshot below&lt;/li&gt;&lt;/ul&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Import&lt;/span&gt; &lt;span style="color:Red;"&gt;Project&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(MSBuildExtensionsPath)\TeamDeploy\TeamDeploy.Tasks.targets&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80222" alt="AddTeamDeployProject.jpg" title="AddTeamDeployProject.jpg" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Scroll to the bottom of the TFSBuild.proj file to the &amp;lt;PropertyGroup&amp;gt;.  Overwrite the Property group with the following (Adjust the paths for your specific environment):&lt;/li&gt;&lt;/ul&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;KillAppPathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;c:\Program Files\PSTools\pskill2.exe&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;KillAppPathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;RemoteExecutePathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;c:\Program Files\PStools\psexec2.exe&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;RemoteExecutePathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;

  &lt;span style="color:Green;"&gt;&amp;lt;!-- Deploy MSI  --&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt; &lt;span style="color:Red;"&gt;Name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;AfterEndToEndIteration&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;CallTarget&lt;/span&gt; &lt;span style="color:Red;"&gt;Condition&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;'$(IsDesktopBuild)'!='true'&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;Targets&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DeployMSITargetVirtuals&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;

  &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt; &lt;span style="color:Red;"&gt;Name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DeployMSITargetVirtuals&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Deploy&lt;/span&gt; &lt;span style="color:Red;"&gt;DeployScript&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(SolutionRoot)\..\..\Push Scripts\SampleDeploy.xml&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;KillAppPathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(KillAppPathFilename)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;RemoteExecutePathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(RemoteExecutePathFilename)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;TeamFoundationServerUrl&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(TeamFoundationServerUrl)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;BuildUri&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(BuildUri)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;The copied Xml in the TFSBuild.proj should look something like this&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80225" alt="FinishedTFSBuild.jpg" title="FinishedTFSBuild.jpg" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Save and check-in the TFSBuild.proj file&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;The Deploy task uses a Xml Deploy Script that contains the information of what Msi(s) to deploy, additional tasks such as starting and stopping the service, and specifies the target machines.  The following steps walks you through editing this file.&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80227" alt="DeployScript.jpg" title="DeployScript.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;There are a few things to note here.
&lt;ul&gt;&lt;li&gt;Team Deploy can
&lt;ul&gt;&lt;li&gt;Kill 0 to many processes&lt;/li&gt;
&lt;li&gt;Deploy/Uninstall 0 to many MSIs&lt;/li&gt;
&lt;li&gt;Deploy MSIs to 0 to many Target Machines&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Modify the xml appropriately for your environment.  The GUID for the uninstalls are the MSI product codes.  If the MSI is done correctly it will uninstall previous versions using the upgrade code, however they are usually unable to remove the same version of the MSI, this is why we have the separate step of uninstall.  &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;The ExtraArgs element contains the SETUPENV variable that is used by the MSI’s custom action to copy the correct environment’s config file to the project’s.  The custom action is a simple VBScript that copies the config file (not included with Team Deploy). Below is how the folder layout is.  Ignore the “test” folder I added to exclude the other folder in my actual Program Files folder.  &lt;/li&gt;&lt;/ul&gt;
&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80228" alt="msiconfigfiles.jpg" title="msiconfigfiles.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;For more information on creating the MSI to support Team Deploy and automated deployments&lt;br /&gt;Blog Post &lt;a href="http://codesmartnothard.com/PermaLink,guid,3d0434dc-2673-4c21-a186-f1f1ed281164.aspx" class="externalLink"&gt;Deployments with TFS Part 2: How to create an automated deployment MSI&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Sample MSI Solution: &lt;a href="http://code.msdn.microsoft.com/msi" class="externalLink"&gt;Automated Deployment MSI&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sat, 22 Aug 2009 18:41:14 GMT</pubDate><guid isPermaLink="false">Updated Wiki: CreateTeamDeployBuild 20090822064114P</guid></item><item><title>Updated Wiki: CreateTeamDeployBuild</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=CreateTeamDeployBuild&amp;version=6</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Creating a Team Deploy TFS Build&lt;/h1&gt;
&lt;ul&gt;&lt;li&gt;In Team Explorer, create a new build in your Team Project by right clicking on Builds and choosing “New Build Definition”&lt;/li&gt;&lt;/ul&gt;
&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80206" alt="New&amp;#32;Build&amp;#32;Definition" title="New&amp;#32;Build&amp;#32;Definition" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Give it a name such as “Build and Deploy”&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Create a workspace (Cloak other folders in your project that don’t need to be part of the build.  This helps the speed up your build because otherwise the server will try to get all source files in the project)&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Leave Project File name as is but click on the “Create” button to create a new TFSBuild.proj file. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Next choose the solution you want to build, then the configuration type.  I recommend leaving the default.  &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Choose any options that you want to enable for running tests and/or code analysis.  I would recommend leaving these unchecked for now and once you verify everything is working then go back and enable the options you want.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;In TFS 2008, you can choose retention policies.  This will help prevent builds from filling up your server disk space quickly.  I usually choose Keep 7 latest.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;the next options are for the Build Defaults.  Choose the appropriate build agent.  If unsure, just leave the default.  Then choose the share where you want to copy the staging files.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;The last option is “Trigger”.  The &amp;quot;build and deploy&amp;quot; build should be separate from the continuous integration build.  I recommend leaving the default “Check-ins do not trigger a new build”.&lt;/li&gt;&lt;/ul&gt;
&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80218" alt="Build&amp;#32;Trigger" title="Build&amp;#32;Trigger" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Finally click “OK” to create the build type.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Creating the build definition will create the TFSBuild.proj that contains the basic options that were selected in the wizard.  The following steps will customize the TFSBuild.proj file created.  This file is a Xml file based on MSBuild.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;To modify the TFSBuild.proj file, located the file under Source Control -&amp;gt; $/YourTeamProject/TeamBuildTypes/Build and Deploy (You can also navigate directly to this file by right clicking on the build definition and choosing &amp;quot;View Configuration Folder&amp;quot;.)&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Check out and open the TFSBuild.proj file to configure it to use Team Deploy&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Find the comment  &amp;lt;!—Do not edit this -&amp;gt; and add the following line underneath the one that is already there.  It should look something like the screenshot below&lt;/li&gt;&lt;/ul&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Import&lt;/span&gt; &lt;span style="color:Red;"&gt;Project&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(MSBuildExtensionsPath)\TeamDeploy\TeamDeploy.Tasks.targets&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80222" alt="AddTeamDeployProject.jpg" title="AddTeamDeployProject.jpg" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Scroll to the bottom of the TFSBuild.proj file to the &amp;lt;PropertyGroup&amp;gt;.  Overwrite the Property group with the following (Adjust the paths for your specific environment):&lt;/li&gt;&lt;/ul&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;KillAppPathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;c:\Program Files\PSTools\pskill2.exe&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;KillAppPathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;RemoteExecutePathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;c:\Program Files\PStools\psexec2.exe&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;RemoteExecutePathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;

  &lt;span style="color:Green;"&gt;&amp;lt;!-- Deploy MSI  --&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt; &lt;span style="color:Red;"&gt;Name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;AfterEndToEndIteration&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;CallTarget&lt;/span&gt; &lt;span style="color:Red;"&gt;Condition&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;'$(IsDesktopBuild)'!='true'&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;Targets&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DeployMSITargetVirtuals&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;

  &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt; &lt;span style="color:Red;"&gt;Name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DeployMSITargetVirtuals&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Deploy&lt;/span&gt; &lt;span style="color:Red;"&gt;DeployScript&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(SolutionRoot)\..\..\Push Scripts\SampleDeploy.xml&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;KillAppPathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(KillAppPathFilename)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;RemoteExecutePathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(RemoteExecutePathFilename)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;TeamFoundationServerUrl&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(TeamFoundationServerUrl)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;BuildUri&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(BuildUri)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;The copied Xml in the TFSBuild.proj should look something like this&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80225" alt="FinishedTFSBuild.jpg" title="FinishedTFSBuild.jpg" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Save and check-in the TFSBuild.proj file&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;The Deploy task uses a Xml Deploy Script that contains the information of what Msi(s) to deploy, additional tasks such as starting and stopping the service, and specifies the target machines.  The following steps walks you through editing this file.&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80227" alt="DeployScript.jpg" title="DeployScript.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;There are a few things to note here.
&lt;ul&gt;&lt;li&gt;Team Deploy can
&lt;ul&gt;&lt;li&gt;Kill 0 to many processes&lt;/li&gt;
&lt;li&gt;Deploy/Uninstall 0 to many MSIs&lt;/li&gt;
&lt;li&gt;Deploy MSIs to 0 to many Target Machines&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Modify the xml appropriately for your environment.  The GUID for the uninstalls are the MSI product codes.  If the MSI is done correctly it will uninstall previous versions using the upgrade code, however they are usually unable to remove the same version of the MSI, this is why we have the separate step of uninstall.  &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;The ExtraArgs element contains the SETUPENV variable that is used by the MSI’s custom action to copy the correct environment’s config file to the project’s.  The custom action is a simple VBScript that copies the config file (not included with Team Deploy). Below is how the folder layout is.  Ignore the “test” folder I added to exclude the other folder in my actual Program Files folder.  &lt;/li&gt;&lt;/ul&gt;
&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=msiconfigfiles.jpg&amp;referringTitle=Home"&gt;image&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For more information on creating the MSI to support Team Deploy and automated deployments&lt;br /&gt;Blog Post &lt;a href="http://codesmartnothard.com/PermaLink,guid,3d0434dc-2673-4c21-a186-f1f1ed281164.aspx" class="externalLink"&gt;Deployments with TFS Part 2: How to create an automated deployment MSI&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Sample MSI Solution: &lt;a href="http://code.msdn.microsoft.com/msi" class="externalLink"&gt;Automated Deployment MSI&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sat, 22 Aug 2009 18:40:40 GMT</pubDate><guid isPermaLink="false">Updated Wiki: CreateTeamDeployBuild 20090822064040P</guid></item><item><title>Updated Wiki: Home</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Home&amp;version=20</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;Deploy MSIs from TFS builds using these custom MSBuild tasks.  This collection of tasks includes everything you need to deploy cilent apps to multiple PCs and windows services to Servers.  Also includes a build notification task for controlling Lava Lamps&amp;#47;Street lights via X10.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Guidance"&gt;Guidance&lt;/a&gt; &lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Installation"&gt;Installation&lt;/a&gt; &lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=Troubleshooting"&gt;Troubleshooting&lt;/a&gt;&lt;br /&gt;&lt;a href="http://teamdeploy.codeplex.com/Wiki/View.aspx?title=CreateTeamDeployBuild"&gt;Creating a Team Deploy TFS Build&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Team Deplloy MSI!  Install Team Deploy using the MSI for easy installation. &lt;br /&gt;Team Deploy 2.x  - Current release is designed for Team Foundation Server 2008&lt;br /&gt;Team Deploy 3.x  - Future release designed for Team Foundation Server 2010 (Coming soon)&lt;br /&gt;&lt;br /&gt;This project contains the following specialized custom MSBuild tasks for deploying MSIs and monitoring your build status.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Install task - installs an MSI on a target machine&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Uninstall task - uninstalls MSI on a target machine by product code&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;KillProcess task - Kills any process on target machine (usually done before trying to uninstall/install MSI&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Deploy task - This is the main task to be called from your TFS Team build type.  This will loop through the deployment script and kill any processes necessary, uninstall the previous version, and install the new version. This now deploys in parallel for quicker deployments.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Start Service task - If deploying a windows service, call this to start the service.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Stop Service task - If deploying a windows service, call this to stop the service before uninstalling it.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Device Controller task - Use lava lamps or street lights to show the status of your builds. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Remote Execute task - Execute any executable on the target machines.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Sample Automated Deployment Windows Service MSI Solution on on MSDN Code Gallery &lt;a href="http://code.msdn.microsoft.com/msi" class="externalLink"&gt;http://code.msdn.microsoft.com/msi&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; - Code and steps to create an automated deployment MSI to use with Team Deploy.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New&lt;/b&gt; Team Deploy now includes a command line utility that allows the deploy task to be called from other build tools.  This was originally built so Team Deploy could be called from Final Builder from TFS. Here's more information on Final Builder with TFS. &lt;a href="http://www.finalbuilder.com/team-foundation-server.aspx" class="externalLink"&gt;http://www.finalbuilder.com/team-foundation-server.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All of these tasks require the installation of PSTools.  These tasks utilize several utilities from this free toolset.  This must be downloaded separately at this location below&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx" class="externalLink"&gt;http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My Blog: CodeSmartNotHard.com&lt;br /&gt;&lt;a href="http://www.codesmartnothard.com" class="externalLink"&gt;http://www.codesmartnothard.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sat, 22 Aug 2009 16:44:54 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090822044454P</guid></item><item><title>Updated Wiki: CreateTeamDeployBuild</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=CreateTeamDeployBuild&amp;version=5</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Creating a Team Deploy TFS Build&lt;/h1&gt;
&lt;ul&gt;&lt;li&gt;In Team Explorer, create a new build in your Team Project by right clicking on Builds and choosing “New Build Definition”&lt;/li&gt;&lt;/ul&gt;
&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80206" alt="New&amp;#32;Build&amp;#32;Definition" title="New&amp;#32;Build&amp;#32;Definition" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Give it a name such as “Build and Deploy”&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Create a workspace (Cloak other folders in your project that don’t need to be part of the build.  This helps the speed up your build because otherwise the server will try to get all source files in the project)&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Leave Project File name as is but click on the “Create” button to create a new TFSBuild.proj file. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Next choose the solution you want to build, then the configuration type.  I recommend leaving the default.  &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Choose any options that you want to enable for running tests and/or code analysis.  I would recommend leaving these unchecked for now and once you verify everything is working then go back and enable the options you want.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;In TFS 2008, you can choose retention policies.  This will help prevent builds from filling up your server disk space quickly.  I usually choose Keep 7 latest.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;the next options are for the Build Defaults.  Choose the appropriate build agent.  If unsure, just leave the default.  Then choose the share where you want to copy the staging files.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;The last option is “Trigger”.  The &amp;quot;build and deploy&amp;quot; build should be separate from the continuous integration build.  I recommend leaving the default “Check-ins do not trigger a new build”.&lt;/li&gt;&lt;/ul&gt;
&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80218" alt="Build&amp;#32;Trigger" title="Build&amp;#32;Trigger" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Finally click “OK” to create the build type.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Creating the build definition will create the TFSBuild.proj that contains the basic options that were selected in the wizard.  The following steps will customize the TFSBuild.proj file created.  This file is a Xml file based on MSBuild.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;To modify the TFSBuild.proj file, located the file under Source Control -&amp;gt; $/YourTeamProject/TeamBuildTypes/Build and Deploy (You can also navigate directly to this file by right clicking on the build definition and choosing &amp;quot;View Configuration Folder&amp;quot;.)&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Check out and open the TFSBuild.proj file to configure it to use Team Deploy&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Find the comment  &amp;lt;!—Do not edit this -&amp;gt; and add the following line underneath the one that is already there.  It should look something like the screenshot below&lt;/li&gt;&lt;/ul&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Import&lt;/span&gt; &lt;span style="color:Red;"&gt;Project&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(MSBuildExtensionsPath)\TeamDeploy\TeamDeploy.Tasks.targets&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80222" alt="AddTeamDeployProject.jpg" title="AddTeamDeployProject.jpg" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Scroll to the bottom of the TFSBuild.proj file to the &amp;lt;PropertyGroup&amp;gt;.  Overwrite the Property group with the following (Adjust the paths for your specific environment):&lt;/li&gt;&lt;/ul&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;KillAppPathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;c:\Program Files\PSTools\pskill2.exe&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;KillAppPathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;RemoteExecutePathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;c:\Program Files\PStools\psexec2.exe&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;RemoteExecutePathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;

  &lt;span style="color:Green;"&gt;&amp;lt;!-- Deploy MSI  --&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt; &lt;span style="color:Red;"&gt;Name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;AfterEndToEndIteration&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;CallTarget&lt;/span&gt; &lt;span style="color:Red;"&gt;Condition&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;'$(IsDesktopBuild)'!='true'&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;Targets&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DeployMSITargetVirtuals&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;

  &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt; &lt;span style="color:Red;"&gt;Name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DeployMSITargetVirtuals&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Deploy&lt;/span&gt; &lt;span style="color:Red;"&gt;DeployScript&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(SolutionRoot)\..\..\Push Scripts\SampleDeploy.xml&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;KillAppPathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(KillAppPathFilename)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;RemoteExecutePathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(RemoteExecutePathFilename)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;TeamFoundationServerUrl&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(TeamFoundationServerUrl)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;BuildUri&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(BuildUri)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sat, 22 Aug 2009 16:44:26 GMT</pubDate><guid isPermaLink="false">Updated Wiki: CreateTeamDeployBuild 20090822044426P</guid></item><item><title>Updated Wiki: CreateTeamDeployBuild</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=CreateTeamDeployBuild&amp;version=4</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Creating a TFS Build using Team Deploy&lt;/h1&gt;
&lt;ul&gt;&lt;li&gt;In Team Explorer, create a new build in your Team Project by right clicking on Builds and choosing “New Build Definition”&lt;/li&gt;&lt;/ul&gt;
&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80206" alt="New&amp;#32;Build&amp;#32;Definition" title="New&amp;#32;Build&amp;#32;Definition" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Give it a name such as “Build and Deploy”&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Create a workspace (Cloak other folders in your project that don’t need to be part of the build.  This helps the speed up your build because otherwise the server will try to get all source files in the project)&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Leave Project File name as is but click on the “Create” button to create a new TFSBuild.proj file. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Next choose the solution you want to build, then the configuration type.  I recommend leaving the default.  &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Choose any options that you want to enable for running tests and/or code analysis.  I would recommend leaving these unchecked for now and once you verify everything is working then go back and enable the options you want.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;In TFS 2008, you can choose retention policies.  This will help prevent builds from filling up your server disk space quickly.  I usually choose Keep 7 latest.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;the next options are for the Build Defaults.  Choose the appropriate build agent.  If unsure, just leave the default.  Then choose the share where you want to copy the staging files.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;The last option is “Trigger”.  The &amp;quot;build and deploy&amp;quot; build should be separate from the continuous integration build.  I recommend leaving the default “Check-ins do not trigger a new build”.&lt;/li&gt;&lt;/ul&gt;
&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80218" alt="Build&amp;#32;Trigger" title="Build&amp;#32;Trigger" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Finally click “OK” to create the build type.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Creating the build definition will create the TFSBuild.proj that contains the basic options that were selected in the wizard.  The following steps will customize the TFSBuild.proj file created.  This file is a Xml file based on MSBuild.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;To modify the TFSBuild.proj file, located the file under Source Control -&amp;gt; $/YourTeamProject/TeamBuildTypes/Build and Deploy (You can also navigate directly to this file by right clicking on the build definition and choosing &amp;quot;View Configuration Folder&amp;quot;.)&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Check out and open the TFSBuild.proj file to configure it to use Team Deploy&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Find the comment  &amp;lt;!—Do not edit this -&amp;gt; and add the following line underneath the one that is already there.  It should look something like the screenshot below&lt;/li&gt;&lt;/ul&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Import&lt;/span&gt; &lt;span style="color:Red;"&gt;Project&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(MSBuildExtensionsPath)\TeamDeploy\TeamDeploy.Tasks.targets&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80222" alt="AddTeamDeployProject.jpg" title="AddTeamDeployProject.jpg" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Scroll to the bottom of the TFSBuild.proj file to the &amp;lt;PropertyGroup&amp;gt;.  Overwrite the Property group with the following (Adjust the paths for your specific environment):&lt;/li&gt;&lt;/ul&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;KillAppPathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;c:\Program Files\PSTools\pskill2.exe&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;KillAppPathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;RemoteExecutePathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;c:\Program Files\PStools\psexec2.exe&lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;RemoteExecutePathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;

  &lt;span style="color:Green;"&gt;&amp;lt;!-- Deploy MSI  --&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt; &lt;span style="color:Red;"&gt;Name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;AfterEndToEndIteration&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;CallTarget&lt;/span&gt; &lt;span style="color:Red;"&gt;Condition&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;'$(IsDesktopBuild)'!='true'&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Red;"&gt;Targets&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DeployMSITargetVirtuals&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;

  &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt; &lt;span style="color:Red;"&gt;Name&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;DeployMSITargetVirtuals&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Deploy&lt;/span&gt; &lt;span style="color:Red;"&gt;DeployScript&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(SolutionRoot)\..\..\Push Scripts\SampleDeploy.xml&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;KillAppPathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(KillAppPathFilename)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;RemoteExecutePathFilename&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(RemoteExecutePathFilename)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;TeamFoundationServerUrl&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(TeamFoundationServerUrl)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;
            &lt;span style="color:Red;"&gt;BuildUri&lt;/span&gt;&lt;span style="color:Blue;"&gt;=&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Blue;"&gt;$(BuildUri)&lt;/span&gt;&lt;span style="color:Black;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:Blue;"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span style="color:Blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#A31515;"&gt;Target&lt;/span&gt;&lt;span style="color:Blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sat, 22 Aug 2009 16:38:26 GMT</pubDate><guid isPermaLink="false">Updated Wiki: CreateTeamDeployBuild 20090822043826P</guid></item><item><title>Updated Wiki: CreateTeamDeployBuild</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=CreateTeamDeployBuild&amp;version=3</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Creating a TFS Build using Team Deploy&lt;/h1&gt;
&lt;ul&gt;&lt;li&gt;In Team Explorer, create a new build in your Team Project by right clicking on Builds and choosing “New Build Definition”&lt;/li&gt;&lt;/ul&gt;
&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80206" alt="New&amp;#32;Build&amp;#32;Definition" title="New&amp;#32;Build&amp;#32;Definition" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Give it a name such as “Build and Deploy”&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Create a workspace (Cloak other folders in your project that don’t need to be part of the build.  This helps the speed up your build because otherwise the server will try to get all source files in the project)&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Leave Project File name as is but click on the “Create” button to create a new TFSBuild.proj file. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Next choose the solution you want to build, then the configuration type.  I recommend leaving the default.  &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Choose any options that you want to enable for running tests and/or code analysis.  I would recommend leaving these unchecked for now and once you verify everything is working then go back and enable the options you want.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;In TFS 2008, you can choose retention policies.  This will help prevent builds from filling up your server disk space quickly.  I usually choose Keep 7 latest.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;the next options are for the Build Defaults.  Choose the appropriate build agent.  If unsure, just leave the default.  Then choose the share where you want to copy the staging files.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;The last option is “Trigger”.  The &amp;quot;build and deploy&amp;quot; build should be separate from the continuous integration build.  I recommend leaving the default “Check-ins do not trigger a new build”.&lt;/li&gt;&lt;/ul&gt;
&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80218" alt="Build&amp;#32;Trigger" title="Build&amp;#32;Trigger" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Finally click “OK” to create the build type.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Creating the build definition will create the TFSBuild.proj that contains the basic options that were selected in the wizard.  The following steps will customize the TFSBuild.proj file created.  This file is a Xml file based on MSBuild.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;To modify the TFSBuild.proj file, located the file under Source Control -&amp;gt; $/YourTeamProject/TeamBuildTypes/Build and Deploy&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Check out and open the TFSBuild.proj file to configure it to use Team Deploy&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Find the comment  &amp;lt;!—Do not edit this -&amp;gt; and add the following line underneath the one that is already there.  It should look something like the screenshot below&lt;/li&gt;&lt;/ul&gt;
&amp;lt;Import Project=&amp;quot;$(MSBuildExtensionsPath)\TeamDeploy\TeamDeploy.Tasks.targets&amp;quot; /&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sat, 22 Aug 2009 16:16:30 GMT</pubDate><guid isPermaLink="false">Updated Wiki: CreateTeamDeployBuild 20090822041630P</guid></item><item><title>Updated Wiki: CreateTeamDeployBuild</title><link>http://teamdeploy.codeplex.com/Wiki/View.aspx?title=CreateTeamDeployBuild&amp;version=2</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Creating a TFS Build using Team Deploy&lt;/h1&gt;
&lt;ul&gt;&lt;li&gt;In Team Explorer, create a new build in your Team Project by right clicking on Builds and choosing “New Build Definition”&lt;/li&gt;&lt;/ul&gt;
&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80206" alt="New&amp;#32;Build&amp;#32;Definition" title="New&amp;#32;Build&amp;#32;Definition" /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Give it a name such as “Build and Deploy”&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Create a workspace (Cloak other folders in your project that don’t need to be part of the build.  This helps the speed up your build because otherwise the server will try to get all source files in the project)&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Leave Project File name as is but click on the “Create” button to create a new TFSBuild.proj file. &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Next choose the solution you want to build, then the configuration type.  I recommend leaving the default.  &lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;Choose any options that you want to enable for running tests and/or code analysis.  I would recommend leaving these unchecked for now and once you verify everything is working then go back and enable the options you want.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;In TFS 2008, you can choose retention policies.  This will help prevent builds from filling up your server disk space quickly.  I usually choose Keep 7 latest.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;the next options are for the Build Defaults.  Choose the appropriate build agent.  If unsure, just leave the default.  Then choose the share where you want to copy the staging files.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;The last option is “Trigger”.  The &amp;quot;build and deploy&amp;quot; build should be separate from the continuous integration build.  I recommend leaving the default “Check-ins do not trigger a new build”.&lt;/li&gt;&lt;/ul&gt;
&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=teamdeploy&amp;DownloadId=80218" alt="Build&amp;#32;Trigger" title="Build&amp;#32;Trigger" /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikedouglas</author><pubDate>Sat, 22 Aug 2009 15:53:34 GMT</pubDate><guid isPermaLink="false">Updated Wiki: CreateTeamDeployBuild 20090822035334P</guid></item></channel></rss>