Windows 10With all of my driver, aesthetic, and networking issues worked out in previous parts, it was time to get down to business.  After all, I’m going to have to do some work from this laptop at some point, right?  And in the Microsoft Business Intelligence world, that means I’m going to need SSDT-BI (SQL Server Data Tools – Business Intelligence).  As of this writing, the current version of SSDT-BI is still based on SQL Server 2014 32-bit with the Visual Studio 2013 Integrated shell.  It’s expected at some point, with the release of 2016, there’ll be a new and improved version more tightly integrated into Visual Studio 2015, but for now, if you want to edit SSRS projects, this is the way to go.

I started out by downloading the currently release of SSDT-BI, which is 32-bit only (regardless if you’re using a 64-bit machine).

I encountered my first minor hurdle during the initial install.  Since SSDT-BI is based on SQL Server 2014 32-bit, it doesn’t play nice with SQL Server 2014 64-bit.  I wasn’t thinking clearly and when presented with the option to “Perform a new installation” or “Add features to an existing instance,” I first tried to add features and the installer yelled at me for having an incompatible installation already in place (SQL Server 2014 64-bit).  So the correct answer is Perform a new installation, which will put these 32-bit components side-by-side with any existing 64-bit components.

After selecting the right installation type and checking the box for the SQL Server Data Tools – Business Intelligence for Visual Studio 2013 shared feature to install, I thought I was on easy street.  Boy was I wrong, the fun was just beginning.  While the installer was running, it eventually failed with this error:

SSDT-BI Install Error - VS Shell Installation has failed with exit code -2147205120

SSDT-BI Install Error – VS Shell Installation has failed with exit code -2147205120

That’s not good.  I immediately tried all the basic IT things before going deeper.  I rebooted and retried the installation, this time running as administrator.  Same error.  Time to go deeper.

Following the error dialog is more detail regarding the error.  To any developer that writes an installer that includes the option to view detailed log files….THANK YOU.

SQL Server Data Tools - Business Intelligence for Visual Studio 2013 installation completed with failures

SQL Server Data Tools – Business Intelligence for Visual Studio 2013 installation completed with failures

In the error details section is a reference to a log file.  Viewing this log file gives a couple of great clues as to why the installation failed.

SSDT-BI Installation failure log File showing vs_intshelladditional.exe failing due to Compatibility mode

SSDT-BI Installation failure log File showing vs_intshelladditional.exe failing due to Compatibility mode

Reviewing the log file, we can see that vs_intshelladditional.exe failed due to Windows Program Compatability mode being turned on.  The most logical thing to do is to find that file in the filesystem and right-click on it and, on the Compatibility tab, uncheck Compatibility mode.  Except for one problem, it’s not on.  What happens if we run that file directly by double-clicking on it?  The same error, of course!

VS Shell Integrated 2013 install error

VS Shell Integrated 2013 install error

The Fix

The Visual Studio 2013 (Integrated) Shell is a pre-requisite to the SSDT-BI installer.  And the pre-requisite is having an error installing on Windows 10.  Fortunately for us, the SSDT-BI installer just needs the pre-requisite to be installed, it doesn’t care how.  So, if the pre-req gets installed prior to re-running the SSDT-BI installer, that’s great.  Less work for it.  And, that is the fix.

The Program Compatability mode error message is false.  For some unknown reason, that flag is raised if the installer file has been renamed from its original name.  So, that’s the fix.

To install Visual Studio 2013 (Integrated) Shell:

  1. The first time you ran the SSDT-BI installer, it extracted its files to a SSDTBI_X86_ENU subfolder.  Go to \SSDTBI_x86_ENU\redist\VisualStudioShell\VSShell2013\ which will contain two files, VS_INTSHELLADDITIONAL.EXE and VS_ISOSHELL.EXE.
  2. Copy VSINTSHELLADDITIONAL.EXE and name the copy vssdk_full.exe
  3. Run the vssdk_full.exe installer by double-clicking on it and you should see the Visual Studio 2013 Shell (Integrated) installer with no error messages.  Proceed through the wizard.
    SSDT-BI VS 2013 Integrated Shell Installer renamed to vssdk_full.exe
    SSDT-BI VS 2013 Integrated Shell Installer renamed to vssdk_full.exe
  4. Re-run the original SSDT-BI setup.exe and proceed normally through the wizard.  On the page where you select the SQL Server Data Tools – Business Intelligence for Visual Studio 2013 shared feature, you should hopefully notice on the right side under the heading Prerequisites for selected features that all prerequisites, including Visual Studio 2013 Shell are listed as Already installed.

    The SSDT-BI Installer with all pre-requisites already installed

    The SSDT-BI Installer with all prerequisites already installed

  5. Complete the installation wizard normally and you should finally be greeted with this glorious message.
SSDT-BI successfully installed.

SSDT-BI successfully installed.

Hopefully Microsoft will resolve this issue in the future by correcting the strange error on the Visual Studio 2013 Integrated Shell installer which causes it to falsely report that it is compatibility mode on Windows 10 when it has a non-default name.  Thanks to all the developers out there who create detailed log files to assist in troubleshooting such as this!