Mozilla Weave Sync, FAIL!


I decided to install Mozilla weave when they released version 1.0 after being bin beta for years. I assumed they had enough time to work out the kinks and that the 1.0 tag meant it was going to be stable.
But no, my bookmarks got moved around, taken out of folders, duplicated… very disappointing!

TFS Source Control – Merging between Team Projects


To do a merge between 2 different Team Projects in TFS, you first need to establish the branch relationship. This cannot be done from the UI in VS 2008 and needs to be accomplished using the tf.exe command line tool. The branch relationship will be establish during the first merge operation which is a “baseless merge”. Subsequent merges do not have to be baseless. However, Visual Studio 2008 cannot read branch relationships established through baseless merge (by design) so all subsequent merges have to be done using the command line too.

Below is an example on merging the Main\Source folder from a Project1 Team Project to a Project2 Team Project.

Initial “Baseless” Merge

1. Get the latest version of both branches that need to be merged
2. Open Visual Studio 2008 Command Prompt

  • The shortcut should be in Start > Programs > Microsoft Visual Studio 2008 > Visual Studio Tools
  • If you can’t find it, just open a regular command prompt and go to C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE

3. Type the following command:

tf merge /baseless -r “$/Project2/Main/Source” “$/Project1/Main/Source”
  • tf is the TFS command line tool
  • /baseless is what prompts the tool to do a baseless merge (makes sense, huh?)
  • -r is to do a recursive merge so all sub-folders and files get merged
  • First string in quotes is the path to the source folder in TFS
  • Second string in quotes is the path to the destination folder in TFS

4. Resolve any conflicts as you normally would
5. Check-in your changes

Note: The initial baseless merge will merge all files even if they are identical between the 2 branches.

Subsequent Merges

1. Get the latest version of both branches that need to be merged
2. Open Visual Studio 2008 Command Prompt
3. Type the following command:

tf merge -r “$/Project2/Main/Source” “$/Project1/Main/Source”

4. Resolve any conflicts as you normally would
5. Check-in your changes

Note: This will only merge files that have changed in the source branch since the last merge operation

Item Templates not showing up in VS2005


I recently converted the WebPart template provided by Microsoft from C# to VB (At the time I am writing this post, Microsoft hasn’t released a VB version and we are, unfortunately, standardized on VB).
After converting the code and placing it in the appropriate folder (C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\VisualBasic\SharePoint\), the template was still not showing when creating a new project. This was because the templates cache had to be refreshed. I was able to solve this thanks to a post by Eric Hammersley (Missing an item template in Visual Studio 2005? Try this…)

The secret was just to open a VisualStudio Command prompt and run the command

devenv /installvstemplates

The application-specific permission settings do not grant Local Activation permission for the COM Server application


This error can be found in the Event Viewer. It can be solved in 3 steps: identify the application using the registry, grant local activation using the Component Services console, restart IIS. Below are the details copied from Mike H’s blog post (I changed the service affected to reflect the problem I had to resolve):

The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID {BA126AD1-2166-11D1-B1D0-00805FC1270E}

to the user NT AUTHORITY\NETWORK SERVICE SID (S-1-5-20). This security permission can be modified using the Component Services administrative tool.

Copy the GUID following the CLSID above, and Start–>Run–>regedit

With the registry editor open, ensure that your cursor is on the computer at the beginning of the tree (make sure you are not in the middle of some previous edit session in the registry editor).

Edit–>Find and paste in the GUID. It’ll stop at the application entry – and you will want to note the application name on the right side pane. In this example, it was the Netowrk Connections Manager service that popped up.

Now, open Component Services (typically, from the server – Start–>Administrative Tools–>Component Services), expand Component Services, Computers, My Computer, DCOM Config. Scroll down and find the application (netman in this case). Right-Click–>Properties and select the Security tab. You’ll have some options here – the first block Launch and Activation Permissions – ensure that the Customize radio button is selected, and click Edit. Now, add your service account – giving it launch and activate – and in some requirements – remote launch / activate permission.

Restart IIS and continue on.

Get the current user without writing code in InfoPath 2007


Itay Shakury wrote a great post about getting the current user in InfoPath without using code which would require to have the InfoPath form signed

Optimizing VS2005 speed


I found 2 interesting blog posts about optimizing the speed of VS2005 both at startup and during regular usage:

.NET Tip of The Day: Optimize the launch of the Visual Studio 2005

.NET Tip of The Day: Speed up Visual Studio 2005