<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>TFS.Net</title>
	<atom:link href="http://quigleyweb.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://quigleyweb.wordpress.com</link>
	<description>A blog on TFS and other random thoughts on .Net</description>
	<lastBuildDate>Sun, 18 Dec 2011 00:28:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='quigleyweb.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>TFS.Net</title>
		<link>http://quigleyweb.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://quigleyweb.wordpress.com/osd.xml" title="TFS.Net" />
	<atom:link rel='hub' href='http://quigleyweb.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Remote deployment of an msi using PsExec</title>
		<link>http://quigleyweb.wordpress.com/2007/05/11/8/</link>
		<comments>http://quigleyweb.wordpress.com/2007/05/11/8/#comments</comments>
		<pubDate>Fri, 11 May 2007 15:39:00 +0000</pubDate>
		<dc:creator>Dilip M</dc:creator>
				<category><![CDATA[MSBuild]]></category>
		<category><![CDATA[TeamBuild]]></category>
		<category><![CDATA[TFS]]></category>

		<guid isPermaLink="false">http://quigleyweb.wordpress.com/2007/05/11/8/</guid>
		<description><![CDATA[The last piece of the puzzle from our automated build and deploy setup was the &#8216;deploy&#8217;. We have InstallShield packages for most of our components and at first it appeared as though the remote deployment would be pretty simple using PsExec. However, after some investigation it appeared as though it was not quite as straightforward [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quigleyweb.wordpress.com&amp;blog=585519&amp;post=8&amp;subd=quigleyweb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The last piece of the puzzle from our automated build and deploy setup was the &#8216;deploy&#8217;.  We have InstallShield packages for most of our components and at first it appeared as though the remote deployment would be pretty simple using PsExec.  However, after some investigation it appeared as though it was not quite as straightforward to pass parameters to an msi setup which would be kicked off by PsExec, all from within MSBuild.</p>
<p>The first problem, that multiple people have reported is that passing parameters to an msi install via PsExec seems to be problematic.  One solution was to wrap the PsExec call within a batch file which resided on the deploy target machine.<br />
Here&#8217;s the call within the batch file itself:<br />
<code>msiexec /i  /q &lt;Path to msi file&gt;  [Input parameters]</code></p>
<p>Note that the input parameters are optional.  You must include double quotes if a parameter has whitespace.</p>
<p>The second part was to use an Exec task within MsBuild to kick off PsExec itself:<br />
<code>&lt;Exec ContinueOnError=&quot;false&quot; Command=&quot;&lt;Path to psexec&gt; &lt;Target server&gt; -u &lt;Userid&gt; -p &lt;Pwd&gt; cmd /c &lt;Path to batch file&gt; &gt;NUL&quot; /&gt;</code></p>
<p>You might want to encrypt the password and pass it from within a custom task rather than have it floating around in cleartext.</p>
<p>Prior to the PsExec task I did a copy of all the setup files to the remote machine:<br />
<code>&lt;Exec ContinueOnError=&quot;false&quot; Command=&quot;xcopy /e /i /r /y  &lt;Source dir&gt; &lt;Target dir&gt; &gt; NUL&quot; /&gt;</code></p>
<p>PsExec has a copy command but it works only for a single file setup.</p>
<p>Another alternative is to use the PsExec task in the <a href="http://blogs.conchango.com/howardvanrooijen/archive/2006/03/01/3016.aspx">SDC tasks library</a>. </p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/quigleyweb.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/quigleyweb.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quigleyweb.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quigleyweb.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quigleyweb.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quigleyweb.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quigleyweb.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quigleyweb.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quigleyweb.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quigleyweb.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quigleyweb.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quigleyweb.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quigleyweb.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quigleyweb.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quigleyweb.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quigleyweb.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quigleyweb.wordpress.com&amp;blog=585519&amp;post=8&amp;subd=quigleyweb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quigleyweb.wordpress.com/2007/05/11/8/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/281a2a6612490dc89acc9c34fa68e4e9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dilip M</media:title>
		</media:content>
	</item>
		<item>
		<title>Choosing between mainline and cascading branch strategies</title>
		<link>http://quigleyweb.wordpress.com/2007/03/27/choosing-between-mainline-and-cascading-branch-strategies/</link>
		<comments>http://quigleyweb.wordpress.com/2007/03/27/choosing-between-mainline-and-cascading-branch-strategies/#comments</comments>
		<pubDate>Tue, 27 Mar 2007 16:50:15 +0000</pubDate>
		<dc:creator>Dilip M</dc:creator>
				<category><![CDATA[TFS]]></category>

		<guid isPermaLink="false">http://quigleyweb.wordpress.com/2007/03/27/choosing-between-mainline-and-cascading-branch-strategies/</guid>
		<description><![CDATA[Recently there was a discussion on the MSDN forums on the branching strategies. The two approaches that were being discussed were cascading and the mainline approach. I thought I&#8217;d add my two cents here because we gave both approaches a try. Initially the decision was taken to use the cascading model as it made it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quigleyweb.wordpress.com&amp;blog=585519&amp;post=7&amp;subd=quigleyweb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Recently there was a discussion on the MSDN forums on the branching strategies.  The two approaches that were being discussed were cascading and the mainline approach. I thought I&#8217;d add my two cents here because we gave both approaches a try.<br />
Initially the decision was taken to use the cascading model as it made it easier for devs to track the branching flow.  Most devs in our team came from a VSS background and were not familiar with the concept of branching and concurrent development.  However, we soon ran into a major roadblock.  Here&#8217;s the issue we had:<br />
We released v1.0 of our product and moved onto v2.0 development.  The 2.0 branch was created off 1.0.  But then there was the need for a maintenance release off 1.0, named 1.1.  Since the 2.0 branch was already created, there was no way to insert another branch between 1.0 and 2.0.  True, we could label the 1.0 branch with each maintenance release (1.1, 1.2 etc.) but this would not allow us to go back to an older version (say 1.0) and easily recreate a build since it wasn&#8217;t the latest in that branch.  I say &#8216;easily&#8217; because the TFS Team Build does allow us to specify a label and build off of that.<br />
Given these problems, we decided to move to the mainline, or trunk, approach.  This has been working well for us so far.<br />
For those who have not seen this so far, a visual depiction of branch flow can be seen by right clicking on a particular folder in Source Control and selecting the &#8216;Branches&#8217; tab.  This makes it very easy to see the parent child relationships, and how to propagate merges between various branches.<br />
Micheal Ruminer has a good <a href="http://manicprogrammer.com/cs/blogs/michaelruminer/archive/2006/09/07/88.aspx">post</a> on branching strategies for those who are considering the pros and cons of each approach.  Here&#8217;s a link to a <a href="http://downloads.seapine.com/pub/papers/SCMBranchingModels.pdf">really good whitepaper</a> by Seapine SCM that I referenced when we were looking at what might suit our needs best.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/quigleyweb.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/quigleyweb.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quigleyweb.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quigleyweb.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quigleyweb.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quigleyweb.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quigleyweb.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quigleyweb.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quigleyweb.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quigleyweb.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quigleyweb.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quigleyweb.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quigleyweb.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quigleyweb.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quigleyweb.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quigleyweb.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quigleyweb.wordpress.com&amp;blog=585519&amp;post=7&amp;subd=quigleyweb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quigleyweb.wordpress.com/2007/03/27/choosing-between-mainline-and-cascading-branch-strategies/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/281a2a6612490dc89acc9c34fa68e4e9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dilip M</media:title>
		</media:content>
	</item>
		<item>
		<title>TFS Build Service not recognizing TF Server</title>
		<link>http://quigleyweb.wordpress.com/2007/03/26/tfs-build-service-not-recognizing-tf-server/</link>
		<comments>http://quigleyweb.wordpress.com/2007/03/26/tfs-build-service-not-recognizing-tf-server/#comments</comments>
		<pubDate>Mon, 26 Mar 2007 17:47:26 +0000</pubDate>
		<dc:creator>Dilip M</dc:creator>
				<category><![CDATA[TFS]]></category>

		<guid isPermaLink="false">http://quigleyweb.wordpress.com/2007/03/26/tfs-build-service-not-recognizing-tf-server/</guid>
		<description><![CDATA[Due to the lack of hardware our initial setup for Team Build had the build service on the same machine as the source control server. To limit access to only TFS admins on the source control server we purchased another machine and reconfigured our build scripts to point to the new machine for the build. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quigleyweb.wordpress.com&amp;blog=585519&amp;post=6&amp;subd=quigleyweb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Due to the lack of hardware our initial setup for Team Build had the build service on the same machine as the source control server.  To limit access to only TFS admins on the source control server we purchased another machine and reconfigured our build scripts to point to the new machine for the build. The thinking was that the build machine would allow a larger group of people access to debug any problems with failed builds, while still limiting access to the source control server itself..  While trying to run the build I received error # <strong>TF42053</strong>.</p>
<p>It&#8217;s a good thing that this error was pretty self-explanatory, unlike a few of the cryptic errors that TFS can throw at you.  I edited the TFSBuildService.exe.config file and added the server name to the key &#8216;AllowedTeamServer&#8217;.  The config file itself can be found on the build machine at at %ProgramFiles%/Microsoft Visual Studio 8/Common7/IDE/PrivateAssemblies.  The server name must be entered EXACTLY in the format as specified in the error message, i.e., you cannot just mentioned the server name.  Once this was done the Team Build service had to be restarted and the build was working again.</p>
<p>Something I hadn&#8217;t quite figured out was what triggered this error; I did run a few builds initially on the new machine without this server name entered in the config file.  Anyway, since the change itself was pretty minor, I didn&#8217;t worry about it.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/quigleyweb.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/quigleyweb.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quigleyweb.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quigleyweb.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quigleyweb.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quigleyweb.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quigleyweb.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quigleyweb.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quigleyweb.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quigleyweb.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quigleyweb.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quigleyweb.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quigleyweb.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quigleyweb.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quigleyweb.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quigleyweb.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quigleyweb.wordpress.com&amp;blog=585519&amp;post=6&amp;subd=quigleyweb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quigleyweb.wordpress.com/2007/03/26/tfs-build-service-not-recognizing-tf-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/281a2a6612490dc89acc9c34fa68e4e9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dilip M</media:title>
		</media:content>
	</item>
		<item>
		<title>The correct way to remove permissions on a TFS branch</title>
		<link>http://quigleyweb.wordpress.com/2007/03/08/the-correct-way-to-remove-permissions-on-a-tfs-branch/</link>
		<comments>http://quigleyweb.wordpress.com/2007/03/08/the-correct-way-to-remove-permissions-on-a-tfs-branch/#comments</comments>
		<pubDate>Thu, 08 Mar 2007 20:25:19 +0000</pubDate>
		<dc:creator>Dilip M</dc:creator>
				<category><![CDATA[TFS]]></category>

		<guid isPermaLink="false">http://quigleyweb.wordpress.com/2007/03/08/the-correct-way-to-remove-permissions-on-a-tfs-branch/</guid>
		<description><![CDATA[I was removing write permissions for the Development team from the branches that we already had in production. Initially I went and set the Checkin and Checkout permissions to Deny for the Contributors group. I was a little surprised when I tried to checkout a file in one of the branches and was locked out [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quigleyweb.wordpress.com&amp;blog=585519&amp;post=5&amp;subd=quigleyweb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was removing write permissions for the Development team from the branches that we already had in production.  Initially I went and set the Checkin and Checkout permissions to Deny for the Contributors group.  I was a little surprised when I tried to checkout a file in one of the branches and was locked out too!  This in spite of the fact that I was a member of the Project Admins group.  After some digging I found that setting any permission to Deny will lock every user belonging to that group, regardless of whether he or she is part of the Admins group.  Doesn&#8217;t seem very intiutive to me.<br />
Anyway, the workaround is to go the properties (right-click) of that folder and then go to the Security tab.  There, the &#8216;Inherit security settings&#8217; box, which is at the bottom of the page, should be unchecked.  Then enable permissions selectively for those groups you wish to allow.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/quigleyweb.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/quigleyweb.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quigleyweb.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quigleyweb.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quigleyweb.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quigleyweb.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quigleyweb.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quigleyweb.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quigleyweb.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quigleyweb.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quigleyweb.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quigleyweb.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quigleyweb.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quigleyweb.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quigleyweb.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quigleyweb.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quigleyweb.wordpress.com&amp;blog=585519&amp;post=5&amp;subd=quigleyweb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quigleyweb.wordpress.com/2007/03/08/the-correct-way-to-remove-permissions-on-a-tfs-branch/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/281a2a6612490dc89acc9c34fa68e4e9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dilip M</media:title>
		</media:content>
	</item>
		<item>
		<title>What is the purpose of the files created by the TeamBuild wizard?</title>
		<link>http://quigleyweb.wordpress.com/2006/12/15/what-is-the-purpose-of-the-files-created-by-the-teambuild-wizard/</link>
		<comments>http://quigleyweb.wordpress.com/2006/12/15/what-is-the-purpose-of-the-files-created-by-the-teambuild-wizard/#comments</comments>
		<pubDate>Sat, 16 Dec 2006 04:21:58 +0000</pubDate>
		<dc:creator>Dilip M</dc:creator>
				<category><![CDATA[TFS]]></category>

		<guid isPermaLink="false">http://quigleyweb.wordpress.com/2006/12/15/what-is-the-purpose-of-the-files-created-by-the-teambuild-wizard/</guid>
		<description><![CDATA[Something that confused me initially was the purpose of the workspacemapping.xml and TFSBuild.rsp files. It was obvious that the build script itself was contained in TFSBuild.proj. After some digging I learned that the WorkspaceMapping.xml is used to cloak folders that are not relevant to the build, for e.g., folders that may form part of another [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quigleyweb.wordpress.com&amp;blog=585519&amp;post=4&amp;subd=quigleyweb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Something that confused me initially was the purpose of the workspacemapping.xml and TFSBuild.rsp files.  It was obvious that the build script itself was contained in TFSBuild.proj.  After some digging I learned that the WorkspaceMapping.xml is used to cloak folders  that are not relevant to the build, for e.g., folders that may form part of another build, folders where you store your documents etc.  The folder that contains the source required for the build is included with the type &#8216;Map&#8217;. The LocalItem path does not seem to be relevant.  </p>
<p>Cloaking means that the folder is not downloaded to the build machine, and any changesets or work items in that path are not included in the build log.  Be aware that there is a bug in TFS that regenerates all changesets if folders are cloaked and then un-cloaked.</p>
<p>Now for the TFSBuild.rsp file that I mentioned in my previous post &#8211; this is used to supply command line parameters to the TeamBuild.  One tip that I got from <a href="http://weblogs.asp.net/dmckinstry/archive/2006/07/16/Hints-for-expediting-Team-Build-script-development.aspx"> Dave McKinstry&#8217;s post </a> was to skip initialize workspace, get files etc. which helped greatly when I was tuning my build script.  Another option to speed up builds while testing is to set the DoNotDownloadBuildType property to <em>true </em>in the tfsbuildservice.exe.config file (on the build machine) and then restart the Team Build service for it to recognize the changed setting. This allows you to modify the build script directly on the build machine without having to deal with multiple checkins and checkouts.<br />
The SkipClean, SkipInitializeWorkspace etc. can also be added in a PropertyGroup to your TFSBuild.proj file.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/quigleyweb.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/quigleyweb.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quigleyweb.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quigleyweb.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quigleyweb.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quigleyweb.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quigleyweb.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quigleyweb.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quigleyweb.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quigleyweb.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quigleyweb.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quigleyweb.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quigleyweb.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quigleyweb.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quigleyweb.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quigleyweb.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quigleyweb.wordpress.com&amp;blog=585519&amp;post=4&amp;subd=quigleyweb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quigleyweb.wordpress.com/2006/12/15/what-is-the-purpose-of-the-files-created-by-the-teambuild-wizard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/281a2a6612490dc89acc9c34fa68e4e9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dilip M</media:title>
		</media:content>
	</item>
		<item>
		<title>The extensibility of TFS</title>
		<link>http://quigleyweb.wordpress.com/2006/12/02/the-extensibility-of-tfs/</link>
		<comments>http://quigleyweb.wordpress.com/2006/12/02/the-extensibility-of-tfs/#comments</comments>
		<pubDate>Sat, 02 Dec 2006 04:11:53 +0000</pubDate>
		<dc:creator>Dilip M</dc:creator>
				<category><![CDATA[TFS]]></category>

		<guid isPermaLink="false">http://quigleyweb.wordpress.com/2006/12/02/the-extensibility-of-tfs/</guid>
		<description><![CDATA[One of the biggest positives I have seen in TFS is the amount of thought Microsoft has put into making it extensible. Although TFS is a solid product, it is still a v1 product, and as such, there have been instances where we have needed to implement build-related functionality that was not available out of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quigleyweb.wordpress.com&amp;blog=585519&amp;post=3&amp;subd=quigleyweb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One of the biggest positives I have seen in TFS is the amount of thought Microsoft has put into making it extensible. Although TFS is a solid product, it is still a v1 product, and as such, there have been instances where we have needed to implement build-related functionality that was not available out of the box. For most of these all I&#8217;ve had to do is create a simple custom task and include it in the build script.  The only pain point I have experienced here is attempting to debug the custom task.  It gets pretty complex when attempting to create unit tests that simulate several variables being input from a TeamBuild. Other than inserting several Log.LogMessage calls I haven&#8217;t found anything else. If you have a better method I&#8217;d be interested to know it.  Here is a list of  <a href="http://blogs.msdn.com/nagarajp/archive/2005/10/27/485980.aspx">overrideable targets</a> which can be used to inject tasks.<br />
A tip to make it easier to test builds (not just those with custom tasks):  edit your .rsp file to skip clean, skip get latest source etc. The builds completes faster; once you&#8217;re done, these parameters can be removed.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/quigleyweb.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/quigleyweb.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quigleyweb.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quigleyweb.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quigleyweb.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quigleyweb.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quigleyweb.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quigleyweb.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quigleyweb.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quigleyweb.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quigleyweb.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quigleyweb.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quigleyweb.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quigleyweb.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quigleyweb.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quigleyweb.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quigleyweb.wordpress.com&amp;blog=585519&amp;post=3&amp;subd=quigleyweb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quigleyweb.wordpress.com/2006/12/02/the-extensibility-of-tfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/281a2a6612490dc89acc9c34fa68e4e9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dilip M</media:title>
		</media:content>
	</item>
		<item>
		<title>Why this blog?</title>
		<link>http://quigleyweb.wordpress.com/2006/12/01/hello-world/</link>
		<comments>http://quigleyweb.wordpress.com/2006/12/01/hello-world/#comments</comments>
		<pubDate>Fri, 01 Dec 2006 22:33:31 +0000</pubDate>
		<dc:creator>Dilip M</dc:creator>
				<category><![CDATA[TFS]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[I work for a relatively small company in Toronto and we are in the process of moving from VSS to Team Foundation Server. Having worked with other SCM tools like ClearCase and PVCS in the past I was designated to lead this effort. We are a company that is growing and now there is a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quigleyweb.wordpress.com&amp;blog=585519&amp;post=1&amp;subd=quigleyweb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I work for a relatively small company in Toronto and we are in the process of moving from VSS to Team Foundation Server. Having worked with other SCM tools like ClearCase and PVCS in the past I was designated to lead this effort. We are a company that is growing and now there is a greater need for processes. I have worked for a couple of CMM level 5 companies in the past and it&#8217;s really interesting to be a part of an effort where processes are only being formulated.</p>
<p>Back to TFS &#8211; when I started digging around for information on TFS I found it somewhat hard to come by so I thought I&#8217;d share my learnings as well as vent on this blog. The TFS API in particular has led to many hours of frustration. It&#8217;s a big API, which is great because it makes TFS so extensible but the lack of documentation is frustrating. But the MS folks on the MSDN forums have been great in helping out in this area. However, combing through the forums for information can be time consuming so I thought it&#8217;d help other people in the same situation as myself by sharing the information here, in addition to other posts.</p>
<p>Since my efforts will be focused on TFS in the near future most of my posts will be TFS-centric. However, since a TFS implementation also involves process change, my posts will include my thoughts on the direction we&#8217;re taking, and why. From time to time I will add .Net-related items that I find interesting.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/quigleyweb.wordpress.com/1/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/quigleyweb.wordpress.com/1/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/quigleyweb.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/quigleyweb.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/quigleyweb.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/quigleyweb.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/quigleyweb.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/quigleyweb.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/quigleyweb.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/quigleyweb.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/quigleyweb.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/quigleyweb.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/quigleyweb.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/quigleyweb.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/quigleyweb.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/quigleyweb.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=quigleyweb.wordpress.com&amp;blog=585519&amp;post=1&amp;subd=quigleyweb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://quigleyweb.wordpress.com/2006/12/01/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/281a2a6612490dc89acc9c34fa68e4e9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dilip M</media:title>
		</media:content>
	</item>
	</channel>
</rss>
