Search code examples
cntk

Installation fails for CNTK v.2.0 Beta 8 Release when VS2015 is already installed


I have VS2015 already installed on my machine, and when I try to install CNTK v.2.0 Beta 8 Release (Script-driven installation) it spawns VS installation window which immediately gets closed and I get next output:

The following operations will be performed:
 * Install VS2015 Runtime
 * Setup CNTK PythonEnvironment 34
 * Setup/Update CNTK Wheel 34
 * Create CNTKPY batch file

Do you want to continue? (y/n)
y
Performing download operations
Download operations finished

Performing install operations
Installing VS2015 Runtime....

Fatal error during script execution!
 System.Management.Automation.RuntimeException: Running 'start-process  /install /passive /norestart' failed with exit code [1638]

It is weird that installation is trying to perform "Install VS2015 Runtime" step even though I have VS2015 installed. I also have VS2017 RC installed, I guess maybe that's a problem. By quick Google search I found that exit code 1638 means:

Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel.


Solution

  • Issue is solved by uninstalling Microsoft Visual C++ 2017 RC Redistributable (solely uninstalling VS2017 RC doesn't help!). It seems that when VS2017 RC is installed it replaces C++ 2015 redistributable with C++ 2017 RC redistributable since they are both version 14, and then when CNTK installation is run it cannot find C++ 2015 redistributable and tries to install it but installation fails because redistributable of same version (14, but latter version date) is already installed.

    I believe that CNTK installation should be smarter when it checks if C++ 2015 redistributable exists, i.e. it should check for redistributable version (14 in this case) not the name of redistributable.