Category Archives: Uncategorized

MSSQL 2017 Installer Fails: VS Shell installation has failed with exit code 1638

Installing MSSQL 2017 Developer Edition on my relatively clean development VM today I was getting an error part way through the installation:

Error installing Microsoft Visual C++ 2015 Redistributable
VS Shell installation has failed with exit code 1638.

The installer then continued, but at the end I was told that the Database Engine and a couple of other components were not installed correctly.

I tried downloading a newer MSSQL installer, but that still didn’t work.

I tried installing the Microsoft Visual C++ 2013 Redistributable (per several suggestions from others).  That made no difference.

In the end it boiled down to the fact that I already had Visual Studio 2017 installed and that had installed the Microsoft Visual C++ 2017 Redistributable.  I ended up having to remove the Microsoft Visual C++ 2017 Redistributable component using Windows Add/Remove Programs (being sure to uninstall both the x86 and x64 versions).

After a reboot for good measure, the MSSQL 2017 installer ran fine.

I then went back and re-installed the Microsoft Visual C++ 2017 Redistributable x86 and x64 components using the following links:

  • https://download.microsoft.com/download/1/f/e/1febbdb2-aded-4e14-9063-39fb17e88444/vc_redist.x86.exe
  • https://download.microsoft.com/download/3/b/f/3bf6e759-c555-4595-8973-86b7b4312927/vc_redist.x64.exe

And fired up Visual Studio 2017.

GIT Error “Please tell me who you are” in SourceTree

I recently received this error when trying to commit a local GIT repository in SourceTree:

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'username@MACHINENAME.(none)')

This was weird as I had already used the indicated commands to set my commit options.  Running “git config –global -l” in a Git Bash shell (I am running on Windows 10) resulted in the following:

$ git config --global -l
user.name=My Name
user.email="myemail@sixthimpulse.com"
branch.autosetuprebase=always
pull.rebase=true
rebase.autostash=true

After a bit of searching online, I discovered one possible problem was my email address.  Notice the quotation marks around the email address.  When I configured my email address I used the following:

git config --global user.email "myemail@sixthimpulse.com"

All the examples showed the quotation marks.  Instead, I should have left them off like the following:

git config --global user.email myemail@sixthimpulse.com

Now my global GIT config looks like this:

$ git config --global -l
user.name=My Name
user.email=myemail@sixthimpulse.com
branch.autosetuprebase=always
pull.rebase=true
rebase.autostash=true

Unfortunately, that still didn’t work.

A bit more digging and I noticed that when I opened a Terminal window from inside SourceTree and tried to set my user.name, like so:

git config --global user.name "My Name"

I  got an error back:

error: could not lock config file C:/WINDOWS/system32/config/systemprofile/.gitconfig: Permission denied

From there it was pretty simple to deduce that I needed to run SourceTree as an administrator and then I was able to commit just fine.

Not sure how this got changed, but at least I can commit now.