Correct way of applying Visual Studio 2008 SP1

Visual Studio family contains many products. The VS 2008 SP1 released a few months ago have fixes for all products in the family. An incorrect order of applying the service pack usually lead VS products into an inconsistent state. The most common issue I see is that a particular method/type in a VS assembly can't be found.

In Visual Studio 2008 SP1, we have fixes for

  1. Visual Studio IDE.
  2. Team Explorer.
  3. Load Test Controller.
  4. Load Test Agent.

See KB 950264 for detailed description.

When applying the SP1, only fixes for already installed products are applied. For example, you might have installed Visual Studio 2008, then applied the SP1, latter you installed the load test controller on the same machine, then fixes for the test controller would not be applied unless you install the SP1 again.

So, the correct order of applying the SP1 is to install the SP1 at the latest. If you applied the SP1 and later installed a new product in the above list, then you should apply the SP1 again.

TFS service account requires read permission in user domains

When TFS is deployed in an active directory domain environment, it makes use of windows accounts stored in domain. TFS uses the service account, usually TfsService, to read SID, email, display name and other account information from AD where TFS users belong to. As you can see here, the service account requires read permission in all TFS user domains.

Account synchronization condition
The synchronization happens

  1. When TFS starts up
  2. When an account is added to a TFS group via Team Explorer
  3. When TFS task scheduler fires a synchronization every one hour

Multiple domain consideration
In organizations that TFS users may come from multiple domains, we can use a service account from a domain that is trusted by all other domains. When using Visual Studio to add users to TFS, we can log on the domain that is trusted by other domains so that we can list all domain accounts.

How to deal with TF200035?
Many customers reported TF200035: One or more errors occurred when Team Foundation Server attempted to synchronize with the following Active Directory identity error. It means TFS can't read account information from active directory for some TFS users. Please check if the account specified in this error message actually exists in the domain. We can also use "TfsSecurity /server:TfsServer /imx domain\account" to simulate TFS synchronizing an account or group. If TFS can retrieve account information for an existing TFS user, it will display something like the following:

More resources to read
Trusts and Forests Considerations for Team Foundation Server.

Useful commands for solving Visual Studio problems

Visual Studio(VS) is a very complex software. Sometimes you may suffer issues while using it. Here are some commands that might help to bring VS back to normal. If you have multiple version of VS installed, make sure the commands are run in the installation folder of the correct version of Visual Studio.

  1. devenv /ResetUserData
    This command is used to reset user data. Settings in the Tools->Options within Visual Studio will be reset. You might need to export your settings before run this command.
    In MSDN forums, I saw many customers reported that VS is in weird states such as a window is missing, tool buttons in a window is not correct etc. This command solved most of these issues.
  2. devenv /ResetSkipPkgs
    When a package loading error occurs, we may suppress VS to load it in the future. This approach hides the problem. ResetSkipPkgs switch will make VS to load the skipped packages while launching VS. After we get the error message for package loading error, we can do more troubleshooting.
  3. devenv /setup
    This command is used to build menus, commands and registry settings for all VS packages. Many VS add-ons contain packages. When we get package errors for an add-on, the first thing to try is repairing the add-on. If the repair doesn't work, just run devenv /setup.
  4. devenv /SafeMode
    This command will start VS in safe mode. In safe mode, VS will not load any third party packages.

About Me

Hi, I'm Bill Wang and I create this blog to share my experiences. I was born in southern China in 1986. Since graduated in 2008, I have been working as a support engineer in Microsoft. I work on Visual Studio Team System Forums and newsgroups to help custom to use TFS smoothly. If you often surf the VSTS Forums, you probably already knew me.


Your Name
Your Email Address
Image Verification
Please enter the text from the image
[ Refresh Image ] [ What's This? ]