private static bool integrateInDiffTool(string applicationFullPath) { IIntegratedDiffTool diffTool = createDiffTool(); DiffToolIntegration integration = new DiffToolIntegration(); try { integration.Integrate(diffTool, applicationFullPath); } catch (DiffToolNotInstalledException) { string message = String.Format( "{0} is not installed. It must be installed at least for the current user. Application cannot start", diffTool.GetToolName()); MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } catch (DiffToolIntegrationException ex) { string message = String.Format("{0} integration failed. Application cannot start. See logs for details", diffTool.GetToolName()); MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); ExceptionHandlers.Handle(String.Format("Cannot integrate \"{0}\"", diffTool.GetToolName()), ex); return(false); } finally { GitTools.TraceGitConfiguration(); } return(true); }