欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SourceTree Win10 安装不成功解决过程记录

程序员文章站 2022-07-02 21:35:14
简介 SourceTree 是一款拥有可视化界面的项目版本控制软件,适用于git项目管理,同时它集成了 git flow 工作流程,对于不熟悉 git 命令的初学者来说,可以通过 SourceTree 快速学会使用 Git 和 git flow 来参与代码版本管理和团队协作开发。 问题 今日在全新的 ......

简介

SourceTree 是一款拥有可视化界面的项目版本控制软件,适用于git项目管理,同时它集成了 git flow 工作流程,对于不熟悉 git 命令的初学者来说,可以通过 SourceTree 快速学会使用 Git 和 git flow 来参与代码版本管理和团队协作开发。

问题

今日在全新的一台 win10 电脑上安装 SourceTree (2.3.1.0) 时没有安装成功,也没有任何错误提示,双击安装文件后,出下下图后,并未成功安装。

SourceTree Win10 安装不成功解决过程记录

解决

经过 Google 后在 Stack Overflow 上发现这个问题: Source Tree doesn't launch after installation

Cause

The most likely reason for this error is that the user.config file for SourceTree has been corrupted. You can confirm this by locating the file in this location: C:Users<User>AppDataLocalAtlassianSourceTree.exe_<random_string><version_number>

If this is the cause, when you open the file, it will be full of <NULL> values.

Resolution

If the user.config file is indeed corrupted, you may delete it. It will be regenerated the next time you start SourceTree, and the application should start normally.

看起来解决办法就是删除 C:\Users\<User>\AppData\Local\Atlassian\SourceTree.exe_<random_string>\<version_number> 下的user.config 后重新安装

按照上述办法尝试后发现仍然无效,所以只有另外想办法。

自己做过四年的 .NET 开发,跑到了C:\Users\<User>\AppData\Local\Atlassian\SourceTree 目录下看了 sourcetree.log 日志信息:

ERROR [2018-03-17 20:27:06,785] [3] [SourceTree.App] [.ctor] - finish EnsureSquirrelExecutionStubIsCopied
ERROR [2018-03-17 20:27:07,491] [4] [SourceTree.App] [OnStartup] - Failed to start
System.NullReferenceException: 未将对象引用设置到对象的实例。
   在 SourceTree.Notifications.NotificationsManager.SetOwner(NotificationDialogWindow notificationWindow)
   在 SourceTree.Notifications.NotificationsManager.ShowNotificationDialog[T](NotificationDialogWindow notificationWindow, Tuple`2 customAction, VistaTaskDialogIcon icon)
   在 SourceTree.Notifications.NotificationsManager.ShowNotificationDialog[T](String title, String message, Tuple`2 customAction, String cancelLabel, String suppressionSetting, Action`1 suppressionChangedAction, Object contentControl, String contentCommandLabel, Action contentAction)
   在 SourceTree.Notifications.NotificationsManager.ShowNotificationDialogWithYesConfirmation(String title, String message, String details)
   在 SourceTree.Configuration.WpfSpellCheckerPreFlightCheck.Run()
   在 SourceTree.AppRoot.RunPreFlightChecks()
   在 SourceTree.AppRoot.OnStartup(StartupEventArgs e)
   在 SourceTree.App.OnStartup(StartupEventArgs e)
哈哈,发现了 Wpf 的身影,自己还在 10 年左右用 WPF 开发过应用,很亲切的感觉。

既然是微软系技术做的工具,肯定是需要 .NET Framework 支持的,因此跑去微软官网 https://www.microsoft.com/net... 重新安装最新的 .net framework.

然后重新安装 SourceTree 就恢复正常了。