Continuous Learning and Sharing of Team Foundation Server and Application Lifecycle Management RSS 2.0
# Monday, April 27, 2009

I am excited to announce that I am going to be presenting at the next Omaha Team System User Group meeting on May 26th, 2009.  In addition to what I think is a great topic that I am looking forward to presenting, Deliveron Consulting Services is co-sponsoring the meeting and giving away an XBOX 360, a NFM gift card, and two TFS books!  WOW!  I look forward to seeing everyone there. 

Here’s the information on the presentation:

Installing and Configuring Team Foundation Server 2008

This presentation provides an overview of TFS 2008 and demonstrates best practices, lessons learned, and “gotchas” installing and configuring TFS 2008.  The overview explains the architecture and components of Team Foundation Server 2008 and recommended server configurations.  The demonstrations will include using the Best Practice Analyzer, Setting User Permissions and using the TFS Admin Tool, and creating and configuring a Team Project from start to finish.  The configuration process will include recommended settings, source control folder structure, and creating appropriate notification.  The presentation will conclude with techniques and lessons learned for troubleshooting problems with installations.

About me

Mike Douglas is a Solution Consultant at Deliveron Consulting Services where he provides end-to-end solutions and TFS installation, configuration, and custom development for clients.  He has over 11 years experience building enterprise level applications on a variety of .NET technologies including WCF, Web Services, ASP.NET, Disconnected Smart Clients and Data Synchronization, BizTalk, and Team Foundation Server.  Mike enjoys trying to keep up with the constant change and evolution of .NET.  Mike is an experienced presenter having spoken at several Omaha .NET User Group meetings on CSLA.NET, Subsonic, and TFS.  He also spoke at the 2008 ESRI International User Conference on a GIS integration project he helped lead. Mike actively maintains the open source project, Team Deploy, on CodePlex for deploying MSIs using Team Foundation Server.  Mike also enjoys sharing his experiences in Code Generation, CSLA.NET, and TFS on his blog at

Date and Location

May 26th, 2009

Farm Credit Services of America
5015 S 118th St
Omaha, NE 68137

For more information and to register, visit the Omaha Team System User Group site.

Monday, April 27, 2009 11:05:33 PM (Central Daylight Time, UTC-05:00)  #    Comments [3] -
Team Foundation Server

# Wednesday, April 22, 2009

Today I am excited to announce the release of Team Deploy 2.0.  Additionally, the total download count of Team Deploy has passed 1000 downloads!  

Team Deploy is an open source package of custom build tasks designed for Team Foundation Server 2008 for deploying MSIs to clients and/or servers.  There is also a build notification task for lava lamps or street lights with your builds.

The enhancements and fixes for 2.0 include:

  • Added TaskBase class for common functionality for example,BuildUri and TeamFoundationServerURL. These properties are now optional. It will basically skip the build step display if these properties are not set. All tasks inherit TaskBase.
  • Added check to "StopService" so it only does it if the service exists and it "canstop". (bug)
  • Added new RemoteExecute task. Now call any executable on target machines. This also has a WaitForExit property to be able to wait for the response or not from the target machine.
  • Added setup MSI to install Team Deploy instead of manual steps.
  • Added IgnoreExitCode attribute to the base class. If the task checks for exit code it now will log it as an error if the code > 0 unless IgnoreExitCode == true.
  • Fixed a problem where with the new version of pstools, it wouldn't work unless session zero is specified.
  • Updated the deploy task to ignoreexitcode when calling the Kill task
  • Added logic to stopservice to not try to stop if it isn't installed or started.

    Future updates to Team Deploy will include breaking out the build light notification portion to a new CodePlex project I created called TFSBuildLight.  Also 2.x versions will continue to be for Team Foundation Server 2008.  New 3.x versions of Team Deploy will be developed for Team Foundation Server 2010.


    Team Deploy is a free to download and use.  You can find it at

  • Wednesday, April 22, 2009 4:28:00 AM (Central Daylight Time, UTC-05:00)  #    Comments [5] -
    Team Build | Team Foundation Server

    # Wednesday, April 15, 2009

    I wanted to take a look at writing SQL Reports for TFS.  I was going to install the Business Intelligence Studio for SQL Server 2005 but I thought it would be better to use the latest edition of SQL Reporting Services in SQL Server 2008.   So I decided to upgrade my TFS Test Server to SQL Server 2008.  This is a single server install of TFS.   I ran the SQL Server 2008 Upgrade Wizard.     Most of the steps were straight-forward.  I only ran into one roadblock that I was able to fix and I documented below.  Here’s the steps.


    First I chose the “Upgrade from SQL Server 2000 or SQL Server 2005” option.



    I kept the default settings for all of the steps except when it asked what instance I would like to upgrade.



    All of the checks passed but one.  I got the following error.

    Rule "Security Group SID (Security Identifier)" failed.


    I went to the link but it didn’t help.  I searched on the web for for the error and I found the fix here.  Basically I had to manually replace the invalid SIDs with the new one.


    To find the correct SIDs, I ran the command prompt utility:  whoami /groups



    If you have multiple editions of SQL Server installed make sure you are in the correct one in the registry.  Look at the Edition key



    I pasted the correct SIDs into the registry keys



    I fixed the ones in MSSQL.2 but I was still getting the error.  I checked the log file %ProgramFiles%\Microsoft SQL Server\100\Setup Bootstrap\LOG\Detail.txt and here is the error.

    2009-04-14 23:24:25 Slp: Sco: Attempting to open registry subkey SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.3\Setup
    2009-04-14 23:24:25 Slp: SqlSidRule.GetSidValue - reading value name ASGroup
    2009-04-14 23:24:25 Slp: Sco: Attempting to get registry value ASGroup
    2009-04-14 23:24:25 Slp: Sco: Attempting to get account from sid S-1-5-21-3621347759-1475631895-1437307089-1014
    2009-04-14 23:24:25 Slp: Sco: LookupAccountSid failed for SID S-1-5-21-3621347759-1475631895-1437307089-1014
    2009-04-14 23:24:25 Slp: SqlSidRule.EnsureGroupExists - Exception caught and ignored. Returning false. Exception message is No mapping between account names and security IDs was done.

    I grabbed the SID for the ASUser and it worked!


    The wizard continued and finished.  I launched Visual Studio and TFS is working properly.

    Now I can look at the SQL Reporting :)

    Wednesday, April 15, 2009 3:03:00 AM (Central Daylight Time, UTC-05:00)  #    Comments [2] -
    SQL Server 2008 | Team Foundation Server

    # Sunday, April 12, 2009


    Why use a virtual machine for development?

    There are a couple things I like about doing development on a virtual.   One of the best features is creating the image once and then being able to have the other developers use the same image.  This is a big time saver and ensures consistency across the developers.  In addition to having all of the developers use the same image, this also allows us to have separate images for each of our clients.  This obviously allows us to keep our clients data and code separate and helps prevent 3rd party controls from conflicting.



    Defrag.  Defrag.  Defrag.   This is must whether you are using a virtual machine or physical only.   I have a created a scheduled task to defrag my machine every day.  Here are some steps for creating the scheduled defrag.  I do it daily because the more often it runs the quicker it will complete.   Newer PCs with Intel processors have a virtualization bios setting that is turned off by default.  This is supposed to help virtualization performance.   When I enabled it on my laptop, it caused my machine to temporarily quit responding.  I ended up turning it back off.  I recommend enabling it and trying it.   The other option to consider is where to save the virtual disk.   My laptop has a 7200rpm hard drive and I have a 5400rpm USB Buffalo external drive.  I thought the virtual would run better from my local drive but since that is the drive with my swap file and the OS, the virtual image runs faster from my external drive.   Both USB 2.0 and Firewire (400) are half duplex so technically data can’t transfer both directions at the same time on the USB.   Firewire 800 does support full duplex.  If your computer supports this, eSata, or has a second hard drive, I recommend using one of the first, USB 2.0 second, and the C: drive last.


    Configuring for Team Foundation Server 2008

    When creating your base image, install of of the required software.  For TFS, this includes VSTS 2008 (any edition), Team Explorer, and SP1.   Do not connect to the TFS Server.   TFS will automatically create a workspace for your machine that is not needed.   TFS workspaces use the machine and user as the key for unique workspaces.  The workspace displays the machine name but uses the machine’s SID (basically a machine GUID).   Each copy of the base image that is created, needs to have the machine name and SID changed.  The official way to do this is to use SysPrep.    I found a handy utility by SysInternals (owned by Microsoft) that can do it called NewSID.  there is a disclaimer on the website stating that it isn’t officially supported by Microsoft but I have been using with XP and Windows 2003.  I haven’t run into any problems.   It is a simple wizard that allows you to enter the new machine name and it creates a new SID.  After the reboot it is ready to go.

    If you make a copy of a machine that has already been connected to TFS, even after updating the machine name and SID you could still get the error message “The workspace “USER;MACHINENAME” already exists on computer MACHINENAME. TFS caches this information on the machine.  To update the cache run use the Visual Studio Command Prompt and run

    tf workspaces /updateUserName:USERNAME/s:http://tfsserver:8080

    Run this for both the original user and the new user of the machine.  This should clear the cache and allow you to create a workspace to the same folder as before.

    I hope this helps.


    Sunday, April 12, 2009 2:15:00 AM (Central Daylight Time, UTC-05:00)  #    Comments [0] -
    Team Foundation Server

    # Saturday, March 28, 2009

    I created a nightly build to run my data driven unit tests.   When my build finished it was only partially successfully.   I looked at the unit tests and they were all passing yet there was an error on the testing step.  When I looked in the log below is the message I saw.   I thought this was a little confusing because there was only a warning.  I wasn’t sure what caused the TestToolsTask to fail.  I first thought it was a permission or some other issue when it was trying to publish but the results did publish.   Next I looked at the warning VSP1030 message.   Then I remembered I enabled code coverage but the build configuration was set to Release.  I changed the build to Debug and everything worked!   Before I figured out the issue I tried searching the web but I didn’t find any solutions.   I hope this helps.

      Test Run Warning.
        Passed  6
        Total   6
      Results file:      t:\builds\MyTeamProject\Nightly Build\TestResults\builduser_MYSERVER_2009-03-25 23_56_46_Any CPU_Release.trx
      Run Configuration: Local Test Run
      Run has the following issue(s):
      Instrumentation error while processing file BusinessObjects.dll:
    TESTTOOLSTASK : warning VSP1030: Invalid, mismatched, or no PDB file was found for t:\builds\MyTeamProject\Nightly Build\Binaries\Release\BusinessObjects.dll.
      The previous error was converted to a warning because the task was called with ContinueOnError=true.
      Waiting to publish...
      Publishing results of test run builduser@MYSERVER 2009-03-25 23:56:46_Any CPU_Release to http://tfsserver:8080/Build/v1.0/PublishTestResultsBuildService2.asmx...
      ....Publish completed successfully.
      The command exited with code -1.
      Build continuing because "ContinueOnError" on the task "TestToolsTask" is set to "true".
    Done executing task "TestToolsTask" -- FAILED.



    Saturday, March 28, 2009 2:23:00 AM (Central Daylight Time, UTC-05:00)  #    Comments [0] -
    Team Build | Team Foundation Server | Unit Testing

    Three friends and former colleagues of mine just released Remote Test Runner, a useful tool for running unit tests and especially data driven unit tests.    This tool allows users without Visual Studio such as Business Analysts, Business Testers, etc  to remotely the run data driven unit tests and view the test results in a clean report.   The tester can manage the whole process of inputting data to the tests, running the tests, and viewing the output.   One of my favorite features is the ability to do all of the asserts per row even if there are errors.   If you have used FitNesse, this is for the same type of testing.  One of the advantages of RTR over FitNesse is that the tests are unit tests and that you don’t have to create the fixtures. 

    Check it out!


    Saturday, March 28, 2009 1:46:00 AM (Central Daylight Time, UTC-05:00)  #    Comments [0] -
    Unit Testing

    # Thursday, March 19, 2009

    Today my employer, Deliveron Consulting Services, was awarded the Microsoft Gold Certified Partner Status.  This certification is recognition of the level quality and talent we hold.  I am excited to be part of this rapidly growing company.



    Thursday, March 19, 2009 3:19:00 AM (Central Daylight Time, UTC-05:00)  #    Comments [0] -
    Biztalk | Team Foundation Server

    # Friday, February 27, 2009

    This week Hostbridge published a case study about a project I worked on at my previous employer.  The cool thing is they quoted me in it.  Hostbridge was a great company to work with and their product made integrating with the mainframe much easier by turning the CICS screens into web services and the fields into XML.

    The mainframe integration with Hostbridge was part of a larger customer data integration project that used Biztalk.  Microsoft also did a case study on it.  I didn't get any quotes with this one though.


    Friday, February 27, 2009 7:56:03 PM (Central Standard Time, UTC-06:00)  #    Comments [1] -

    # Monday, February 09, 2009

    I was installing Team Foundation Server on virtual server for some testing.  The last install I did went flawless.   A quick and painless install is always appreciated but there is something that feels victorious about successfully troubleshooting the install and getting it to work properly.  In this case I ran into two errors.  Also here's some general troubleshooting information that I found useful in identifying the issues.

    General Troubleshooting

    When troubleshooting installation errors for Team Foundation Server there are a couple places that can provide useful information.  First is obviously the message box.  It will usually have something about the error to get started.  If you close the error, you can still usually find the message in the Application Event Log.  There may also be additional errors in the event log that can help.  If you need more information on the error, you can look in the Local Settings\Temp folder for the current user (C:\Documents and Settings\<user>\Local Settings\Temp).  There are three files that I find the most useful. 

    • VSMsiLogxxxx.txt - Detailed installation steps of MSI and where it failed.
    • dd_error_vstf_at_90.txt - Lists the error message for each installation attempt.
    • dd_install_vstf_at_90.txt - Detailed steps of the installation steps.

    Error 28002. An unknown error occurred.

    The first error I didn't find the solution that fixed this issue.  There were a lot of suggestions and I might have missed it.  After trying a couple of the suggestions, I remembered that I had Team Explorer with SP1 already installed.  I uninstalled this and it fixed the issue.

    Error 28805. The setup program cannot complete the request to the server that is running SQL Server Reporting Services.

    I had better luck with this error.  I found a good post on the MSDN forums with the answer.  There were several suggestions that I tried.  Deleting of the encryption keys in the SQL Reporting Configuration Tool fixed it and I was able to continue the install and complete it successfully.

    To delete this run the Reporting Services Configuration tool.  Click on Encryption Keys on the left tool bar.  Then click on Delete to delete the keys.  You should see a message similar to the one below.


    Good luck and may all of your TFS installations be successful.


    Monday, February 09, 2009 5:35:47 AM (Central Standard Time, UTC-06:00)  #    Comments [2] -
    Team Foundation Server

    # Saturday, January 17, 2009

    I have read and seen a lot about the TFS Power Tools and I am finally getting a chance to install them and try them out.   The first tool I wanted to try was the Best Practices Analyzer.   The term Best Practices is rather vague so I didn't know what to expect in its findings.  To my surprise, this tool not only tested configuration and server requirement best practices, it also can do pre-requisite checks on servers before you install and it will also check for errors after you install TFS.  I have a virtual machine with TFS that I use for some prototyping.  I knew my virtual machine had a couple problems but the scan resulted in those and some additional ones I would have never known about. 

    Here's the results of the scan. 
    TFS Power Tool Best Practices Analyer

    I noticed that this database was SUSPECT before I ran the scan.  I expanded it to display the details.  Not only does it show the details of the issue but you can also click on the the like to tell you more about the issue and how to resolved it.  I tried fixing this before through SQL Management Studio and the only I option I had was to restore from backup.   I was curious to see if it had any ideas.  When I clicked on the the link the explanation only talked about about single user mode and when the database is not online.   Unfortunately there was no magic answer for my problem on this one.  The other resolutions proved to be more useful.  Those solutions pertained to my issues.

    Here's an example of the resolution
    Best Practice Analyzer Help

    As you have seen this along with the other great tools including the Process Template editor, Build Notification Tool, TFS Users tool, etc is a must to download and utilize for your implementation of Team Foundation Server.

    View and download the Visual Studio Team System 2008 Team Foundation Server Power Tools 


    Saturday, January 17, 2009 10:53:07 PM (Central Standard Time, UTC-06:00)  #    Comments [0] -
    Team Foundation Server

    Visual Studio ALM MVP
    Microsoft Visual Studio ALM MVP
    <April 2009>
    About the author/Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

    © Copyright 2016
    Mike Douglas
    Sign In
    Total Posts: 107
    This Year: 0
    This Month: 0
    This Week: 0
    Comments: 90
    All Content © 2016, Mike Douglas
    DasBlog theme 'Business' created by Christoph De Baene (delarou)