TFS/DevOps – Show Differences: “Cannot execute the configured tool.”-error

When you work with Microsoft DevOps Server (aka. Team Foundation Server) using Ivercy and you use the “Show Differences” command to diff between your local copy of an object/file and the same file in the repository on the server, you might encounter the error message “Cannot execute the configured tool.” and there is no diff view displayed.

 “Cannot execute the configured tool.” error message

The same error happens when you try to compare two different version from the history of an object/file.

The cause for this problem is that with the default configuration Microsoft Visual Studio or Team Explorer must be running already, the TFS/DevOps connection configured, and the default TFS workspace should be the same workspace as the one used by the external tool (i.e. Ivercy).

So, one simple but slightly inconvenient solution would be to always also start Visual Studio / Team Explorer when you start working in Microsoft Access with Ivercy.

Manually Configure vsDiffMerge for Visual Studio and the MSSCCI-Provider

The other solution is to manually configure vsDiffMerge as diff tool in Visual Studio / Team Explorer. vssDiffMerge is the very same tool that Visual Studio uses internally.

To do this for the MSSCCI-Provider, open Visual Studio 2013 or Team Explorer 2013 and go to the Tools – Options menu. Then navigate to the section “Source Control” – “Plug-In Selection”. In that section make sure that “Visual Studio Team Foundation Server“ is selected as Current source control plug-in (not the MSSCCI-Provider!).

Then navigate to “Source Control” – “Visual Studio Team Foundation Server“ and click on “Configure User Tools…”. In the dialog click “Add” and then enter the following to configure vsDiffMerge for use with Ivercy:

Extension:           .acq,.acf,.acr,.acm,.acs

Operation:          Compare

Command:          C:\path\to\vsDiffMerge.exe

Arguments:        %1 %2 %6 %7

Steps to configure vsDiffMerge in Visual Studio

If you have multiple versions of vsDiffMerge.exe on your computer, you may need to try out the path to each version. Some versions work, while others don’t. If none of those available work as intended, try to update Visual Studio with the most recent patches and retry.

Many other sources will only list arguments %1 and %2. However, %6 and %7 are important to include the descriptive labels for the files in the header above the diff.

Without the labels you have to kind of guess which version is which:

vsDiffMerge in Visual Studio without version info

With the labels vsDiffMerge will display the changesets (versions) of the two different incarnations of the object/file:

vsDiffMerge in Visual Studio displaying version info

With these settings Visual Studio / Team Explorer should always start up without error and display the diff window right away even if it is not connected to the TFS/DevOps Server at all.