Unable to Launch SourceTree after updating Windows
Asked by jbolinics:

Sometime between January 2020, and March 2020, my SourceTree installation was no longer able to run. The reason for the long interval is due my varying need to use that app since most of my data backup is taken care of on another platform.

It would display the SourceTree splash then fail to launch. I have tried updating using the new installer (same result) as well as uninstalling Source Tree and attempting to re-install. The installer create the app in the correct directory, but never prompts any of the normal installation wizards nor attempts to launch SourceTree.

As next attempt, I deleted the Atlassian and SourceTree directories in %localappdata% that other forum posts have found fixed. Unfortunately, still did not fix.

I thought I saw in the Atlassian forms that a similar issue required rolling back/uninstalling .NET updates (specifically KB4537572), but still no change.  

It appears to be an issue with the Squirrel - when I run the installer, it gives the following in the SquirrelTemp log (no logs appear in SourceTree nor are shortcuts created):  
2020-03-18 10:04:50\> Program: Starting Squirrel Updater: --install . --rerunningWithoutUAC  
2020-03-18 10:04:50\> Program: Starting install, writing to \[%localappdata%\]\\SquirrelTemp  
2020-03-18 10:04:50\> Program: About to install to: \[%localappdata%\]\\SourceTree  
2020-03-18 10:04:50\> CheckForUpdateImpl: Couldn't write out staging user ID, this user probably shouldn't get beta anything: System.IO.DirectoryNotFoundException: Could not find a part of the path '\[%localappdata%\]\\SourceTree\\packages\\.betaId'.  
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)  
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)  
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)  
at System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost)  
at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)  
at System.IO.File.InternalWriteAllText(String path, String contents, Encoding encoding, Boolean checkHost)  
at System.IO.File.WriteAllText(String path, String contents, Encoding encoding)  
at Squirrel.UpdateManager.CheckForUpdateImpl.getOrCreateStagedUserId()  
2020-03-18 10:04:50\> CheckForUpdateImpl: Failed to load local releases, starting from scratch: System.IO.DirectoryNotFoundException: Could not find a part of the path '\[%localappdata%\]\\SourceTree\\packages\\RELEASES'.  
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)  
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)  
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)  
at Squirrel.Utility.LoadLocalReleases(String localReleaseFile)  
at Squirrel.UpdateManager.CheckForUpdateImpl.\<CheckForUpdate\>d__2.MoveNext()  
2020-03-18 10:04:50\> CheckForUpdateImpl: Reading RELEASES file from \[%localappdata%\]\\SquirrelTemp  
2020-03-18 10:04:50\> CheckForUpdateImpl: First run or local directory is corrupt, starting from scratch  
2020-03-18 10:04:50\> ApplyReleasesImpl: Writing files to app directory: \[%localappdata%\]\\SourceTree\\app-3.3.8  
2020-03-18 10:05:01\> LogHost: Rigging execution stub for SourceTree_ExecutionStub.exe to \[%localappdata%\]\\SourceTree\\SourceTree.exe  
2020-03-18 10:05:04\> ApplyReleasesImpl: Squirrel Enabled Apps: \[\[%localappdata%\]\\SourceTree\\app-3.3.8\\SourceTree.exe\]  
2020-03-18 10:05:06\> ApplyReleasesImpl: Starting fixPinnedExecutables  
2020-03-18 10:05:06\> ApplyReleasesImpl: Examining Pin: Command Prompt.lnk  
2020-03-18 10:05:06\> ApplyReleasesImpl: Examining Pin: Excel.lnk  
2020-03-18 10:05:06\> ApplyReleasesImpl: Examining Pin: File Explorer.lnk  
2020-03-18 10:05:06\> ApplyReleasesImpl: Examining Pin: Firefox.lnk  
2020-03-18 10:05:06\> ApplyReleasesImpl: Examining Pin: Outlook.lnk  
2020-03-18 10:05:06\> ApplyReleasesImpl: Examining Pin: PuTTY.lnk  
2020-03-18 10:05:06\> ApplyReleasesImpl: Examining Pin: Snipping Tool.lnk  
2020-03-18 10:05:06\> ApplyReleasesImpl: File '\[%appdata%\]\\Microsoft\\Internet Explorer\\Quick Launch\\User Pinned\\TaskBar\\Snipping Tool.lnk' could not be converted into a valid ShellLink: System.IO.FileNotFoundException: The system cannot find the file specified. (Exception from HRESULT: 0x80070002)  
at Squirrel.Shell.ShellLink.IShellLinkW.Resolve(IntPtr hWnd, UInt32 fFlags)  
at Squirrel.Shell.ShellLink.Open(String linkFile, IntPtr hWnd, EShellLinkResolveFlags resolveFlags, UInt16 timeOut)  
at Squirrel.UpdateManager.ApplyReleasesImpl.\<fixPinnedExecutables\>b__11_0(FileInfo file)  
2020-03-18 10:05:06\> ApplyReleasesImpl: Examining Pin: TFTP server.lnk  
2020-03-18 10:05:07\> ApplyReleasesImpl: Examining Pin: winbox.lnk  
2020-03-18 10:05:07\> ApplyReleasesImpl: Fixing up tray icons  
2020-03-18 10:05:07\> ApplyReleasesImpl: cleanDeadVersions: for version 3.3.8  
2020-03-18 10:05:07\> ApplyReleasesImpl: cleanDeadVersions: exclude folder app-3.3.8

Under Computer Management \>System Tools \> Event Viewer \> Application:

1 .NET Runtime Error:

Application: SourceTree.exeFramework Version: v4.0.30319  
Description: The process was terminated due to an unhandled exception.  
Exception Info: System.Management.ManagementException  
at System.Management.ThreadDispatch.Start()  
at System.Management.ManagementScope.Initialize()  
at System.Management.ManagementObjectSearcher.Initialize()  
at System.Management.ManagementObjectSearcher.Get()  
at SourceTree.Utils.WindowsOSHelper.GetWindowsVersion()  
at SourceTree.App..ctor()  
at SourceTree.App.Main()

2. Application Error:

Faulting application name: SourceTree.exe, version: 3.3.8.3848, time stamp: 0x5e2b7a41  
Faulting module name: KERNELBASE.dll, version: 10.0.18362.719, time stamp: 0xb31987d3  
Exception code: 0xe0434352  
Fault offset: 0x000000000003a859  
Faulting process id: 0x40e0  
Faulting application start time: 0x01d5fd369afad19d  
Faulting application path: \[%localappdata%\]\\SourceTree\\app-3.3.8\\SourceTree.exe  
Faulting module path: C:\\WINDOWS\\System32\\KERNELBASE.dll  
Report Id: a1f7d234-0f87-450b-9bb1-5fb38c6029a2  
Faulting package full name:  
Faulting package-relative application ID:  

<br />

Any assistance would be greatly appreciated.  


Answers:
author: jbolinics
body: Just to close the loop, the only solution that worked was a complete reimage/rebuild of Windows 10. We (my company's IT department) attempted to rebuild the user profiles as a fix (gave the appearance initially that was the issue), but that failed to fix.


Tags: install

windows