[MP2-768] Installation Setup Failed - Error 0x80070666 - VC++ 2015/2017 Redist bug

Status
Not open for further replies.

Squelch

New Member
October 20, 2018
5
1
53
Home Country
Great Britain (UK) Great Britain (UK)
Hello all,

I would like to try MediaPortal 2, but have run into a show stopping installation bug. The installation fails with "Error 0x80070666" which apparently has been reported before, but seemingly, never fully resolved.

see:
  1. Installer recognizes spring '16 as newer
  2. Setup failed 0x80070666 MediaPortal 2.1.3

I have managed to narrow down to the Microsoft Visual C++ Redistributable component (aka vcredist140_x86.exe as fetched from the installation server)

The problem stems from a known issue where VC++ 2017 shares the same registry key as VC++ 2015, and therefore blocks any attempt to install 2015 after 2017 has been installed. The same problem is also widely reported elsewhere. A possible workaround is to uninstall any VC++ 2017 redist entries, install VC++ 2015, and then reinstall VC++ 2017 again. This course of action is obviously undesirable.

According to somewhat reliable sources. VC++ 2017 is fully (binary) compatible with VC++ 2015, so in theory, using VC++ 2017 in place of VC++ 2015 during the MP installation process should bring no harm.

See:
  1. Microsoft Blog
  2. Stack Overflow
  3. Reddit
I attach two excerpts from the installation logs. Firstly for MediaPortal, and secondly for VC++ 2015 redist manually installed.

Note - MP log is for MP 2.2 Pre, but 2.1 had been tried prior to this
Code:
...
[2598:0970][2018-10-20T01:03:47]i301: Applying execute package: VC2015_x86, action: Install, path: C:\ProgramData\Package Cache\72211BD2E7DFC91EA7C8FAC549C49C0543BA791B\vcredist140_x86.exe, arguments: '"C:\ProgramData\Package Cache\72211BD2E7DFC91EA7C8FAC549C49C0543BA791B\vcredist140_x86.exe" /passive /norestart -burn.filehandle.self=896'
[2598:0970][2018-10-20T01:03:48]e000: Error 0x80070666: Process returned error: 0x666
[2598:0970][2018-10-20T01:03:48]e000: Error 0x80070666: Failed to execute EXE package.
[123C:1238][2018-10-20T01:03:48]e000: Error 0x80070666: Failed to configure per-machine EXE package.
[123C:1238][2018-10-20T01:03:48]i319: Applied execute package: VC2015_x86, result: 0x80070666, restart: None
[123C:1238][2018-10-20T01:03:48]e000: Error 0x80070666: Failed to execute EXE package.
[2598:0970][2018-10-20T01:03:48]i351: Removing cached package: VC2015_x86, from path: C:\ProgramData\Package Cache\72211BD2E7DFC91EA7C8FAC549C49C0543BA791B\
[2598:0970][2018-10-20T01:03:48]i372: Session end, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{5e1b3023-7ee8-4ff9-8d56-b9e7db809a7a}, resume: None, restart: None, disable resume: No
[2598:0970][2018-10-20T01:03:48]i330: Removed bundle dependency provider: {5e1b3023-7ee8-4ff9-8d56-b9e7db809a7a}
[2598:0970][2018-10-20T01:03:48]i352: Removing cached bundle: {5e1b3023-7ee8-4ff9-8d56-b9e7db809a7a}, from path: C:\ProgramData\Package Cache\{5e1b3023-7ee8-4ff9-8d56-b9e7db809a7a}\
[2598:0970][2018-10-20T01:03:48]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{5e1b3023-7ee8-4ff9-8d56-b9e7db809a7a}, resume: None, restart initiated: No, disable resume: No
[123C:1238][2018-10-20T01:03:48]i399: Apply complete, result: 0x80070666, restart: None, ba requested restart:  No
[123C:1238][2018-10-20T01:16:44]i500: Shutting down, exit code: 0x666
...
Microsoft Visual C++ 2015 redistributable (x86) obtained directly from Microsoft
Code:
...
[28B4:1DE8][2018-10-20T01:51:59]i000: Setting string variable 'WixBundleOriginalSource' to value 'E:\Downloads\vc_redist.x86 (24215).exe'
[28B4:1DE8][2018-10-20T01:51:59]i000: Setting string variable 'WixBundleOriginalSourceFolder' to value 'E:\Downloads\'
[28B4:1DE8][2018-10-20T01:51:59]i000: Setting string variable 'WixBundleName' to value 'Microsoft Visual C++ 2015 Redistributable (x86) - 14.0.24215'
[28B4:1DE8][2018-10-20T01:51:59]i100: Detect begin, 10 packages
[28B4:1DE8][2018-10-20T01:51:59]i000: Setting version variable 'windows_uCRT_DetectKey' to value '10.0.17134.319'
[28B4:1DE8][2018-10-20T01:51:59]i000: Setting numeric variable 'windows_uCRT_DetectKeyExists' to value 1
[28B4:1DE8][2018-10-20T01:51:59]i102: Detected related bundle: {7e9fae12-5bbf-47fb-b944-09c49e75c061}, type: Upgrade, scope: PerMachine, version: 14.15.26706.0, operation: Downgrade
[28B4:1DE8][2018-10-20T01:51:59]i108: Detected compatible package: vcRuntimeMinimum_x86, provider: Microsoft.VS.VC_RuntimeMinimumVSU_x86,v14, installed: {39E15475-23F2-345D-8977-B5DC47A94E26}, version: 14.15.26706, chained: {BBF2AC74-720C-3CB3-8291-5E34039232FA}
[28B4:1DE8][2018-10-20T01:51:59]i103: Detected related package: {39E15475-23F2-345D-8977-B5DC47A94E26}, scope: PerMachine, version: 14.15.26706.0, language: 0 operation: Downgrade
[28B4:1DE8][2018-10-20T01:51:59]i108: Detected compatible package: vcRuntimeAdditional_x86, provider: Microsoft.VS.VC_RuntimeAdditionalVSU_x86,v14, installed: {2757496A-3E74-320A-B007-36120A9F126D}, version: 14.15.26706, chained: {69BCE4AC-9572-3271-A2FB-9423BDA36A43}
[28B4:1DE8][2018-10-20T01:51:59]i103: Detected related package: {2757496A-3E74-320A-B007-36120A9F126D}, scope: PerMachine, version: 14.15.26706.0, language: 0 operation: Downgrade
[28B4:1DE8][2018-10-20T01:51:59]i052: Condition '(VersionNT = v6.3 AND NOT VersionNT64) AND (windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10240.0)' evaluates to false.
[28B4:1DE8][2018-10-20T01:51:59]i052: Condition '(VersionNT = v6.3 AND VersionNT64) AND (windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10240.0)' evaluates to false.
[28B4:1DE8][2018-10-20T01:51:59]i052: Condition '(VersionNT = v6.2 AND NOT VersionNT64) AND (windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10240.0)' evaluates to false.
[28B4:1DE8][2018-10-20T01:51:59]i052: Condition '(VersionNT = v6.2 AND VersionNT64) AND (windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10240.0)' evaluates to false.
[28B4:1DE8][2018-10-20T01:51:59]i052: Condition '(VersionNT = v6.1 AND NOT VersionNT64) AND (windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10240.0)' evaluates to false.
[28B4:1DE8][2018-10-20T01:51:59]i052: Condition '(VersionNT = v6.1 AND VersionNT64) AND (windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10240.0)' evaluates to false.
[28B4:1DE8][2018-10-20T01:51:59]i052: Condition '(VersionNT = v6.0 AND NOT VersionNT64) AND (windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10240.0)' evaluates to false.
[28B4:1DE8][2018-10-20T01:51:59]i052: Condition '(VersionNT = v6.0 AND VersionNT64) AND (windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10240.0)' evaluates to false.
[28B4:1DE8][2018-10-20T01:51:59]i101: Detected package: vcRuntimeMinimum_x86, state: Obsolete, cached: None
[28B4:1DE8][2018-10-20T01:51:59]i101: Detected package: vcRuntimeAdditional_x86, state: Obsolete, cached: None
[28B4:1DE8][2018-10-20T01:51:59]i101: Detected package: Windows81_x86, state: Absent, cached: None
[28B4:1DE8][2018-10-20T01:51:59]i101: Detected package: Windows81_x64, state: Absent, cached: None
[28B4:1DE8][2018-10-20T01:51:59]i101: Detected package: Windows8_x86, state: Absent, cached: None
[28B4:1DE8][2018-10-20T01:51:59]i101: Detected package: Windows8_x64, state: Absent, cached: None
[28B4:1DE8][2018-10-20T01:51:59]i101: Detected package: Windows7_MSU_x86, state: Absent, cached: None
[28B4:1DE8][2018-10-20T01:51:59]i101: Detected package: Windows7_MSU_x64, state: Absent, cached: None
[28B4:1DE8][2018-10-20T01:51:59]i101: Detected package: WindowsVista_MSU_x86, state: Absent, cached: None
[28B4:1DE8][2018-10-20T01:51:59]i101: Detected package: WindowsVista_MSU_x64, state: Absent, cached: None
[28B4:1DE8][2018-10-20T01:51:59]i052: Condition 'VersionNT >= v6.0 OR (VersionNT = v5.1 AND ServicePackLevel >= 2) OR (VersionNT = v5.2 AND ServicePackLevel >= 1)' evaluates to true.
[28B4:1DE8][2018-10-20T01:51:59]i199: Detect complete, result: 0x0
[28B4:2984][2018-10-20T01:52:03]e000: Error 0x80070666: Cannot install a product when a newer version is installed.

As stated above, this problem also affects MediaPortal 2.2, and given that many other applications may install VC++ 2017 Redistributable prior to the installation of MediaPortal, This problem can only become more prevalent. I have managed to install MP2.2 on to a pristine, but up to date Windows 10 Pro virtual machine by avoiding the installation of VC++ 2017 until after MediaPortal has been installed. This method may also serve as a reproduction if required.

A rather dirty hack to enable newcomers to try it out MediaPortal, in the short term, would be to replace the vcredist140_x86.exe fetched from install.team-mediaportal.com with VC++ 2017. I do hesitate to suggest this, and would rather see MP2.1 and 2.2 patched to fetch the "correct" redistributable. (Microsoft seem to insist on naming the redistributables as "vc_redist.x86.exe" regardless of version as a matter of interest)

Thank you for your attention on this, and I would characterize this as a high priority issue.
 

HTPCSourcer
Country flag

MP2 Product Manager
  • Team MediaPortal
  • May 16, 2008
    11,298
    113
    Home Country
    Germany Germany
    @morpheus_xx, I never came across such a thing before. However, as most of us I have been upgrading over the whole series of MP2 versions, hence 2015 was already installed while 2017 came later.

    Something to verify within a virgin VM. @Alberto83, would you be able to take a look at such a scenario? You would need to install VC++ 2017 before attempting to install MP 2.2. If confirmed, we should classify this as a bug to be added to Jira - and required to be fixed asap ;). Maybe something for @aspik?
     
    Last edited:

    Alberto83

    Test Group
  • Team MediaPortal
  • August 7, 2012
    336
    28
    Home Country
    Italy Italy
    @morpheus_xx, I never came across such a thing before. However, as most of us I have been upgrading over the whole series of MP2 versions, hence 2015 was already installed while 2017 came later.

    Something to verify within a virgin VM. @Alberto83, would you be able to take a look at such a scenario? You would need to install VC++ 2017 before attempting to install MP 2.2. If confirmed, we should classify this as a bug to be added to Jira - and required to be fixed asap ;). Maybe something for @aspik?
    Yup. I'll try this evening. Just to be sure:
    1. Install VC++ 2017 Redist.
    2. Install MePo 2.2 full.

    Right?
     

    morpheus_xx
    Country flag

    Lead Dev MP2
  • Team MediaPortal
  • March 24, 2007
    11,188
    113
    Home Country
    Germany Germany
    Yes, we upgraded to VC2017 already. It was done in the FEAT_VS2017 branch. I also thought that this branch was merged to master (or wip_2.2?).
    You are right. The branch was merged, but last commit was not yet included :(
    I just merged this last commit into WIP_2.2, so we have something to test in a few minutes. I also included the Zip package update (master branch)
     

    HTPCSourcer
    Country flag

    MP2 Product Manager
  • Team MediaPortal
  • May 16, 2008
    11,298
    113
    Home Country
    Germany Germany
    I just merged this last commit into WIP_2.2, so we have something to test in a few minutes.
    So uninstalling VC++ 2015 on a client and doing a repair install should get me VC++ 2017 instead, correct?

    And while we are on this, which other VC's does MP 2.2 then require? Besides the (wrong) 2015, I have 2008, 2010 and 2013 on a fresh system. Are these all necessary?
     

    morpheus_xx
    Country flag

    Lead Dev MP2
  • Team MediaPortal
  • March 24, 2007
    11,188
    113
    Home Country
    Germany Germany
    Besides the (wrong) 2015, I have 2008, 2010 and 2013 on a fresh system. Are these all necessary?
    Most, if not all, of those dependencies come from TVE's card support which depend on vendor specific binaries.
     
    Status
    Not open for further replies.

    Users Who Are Viewing This Thread (Users: 0, Guests: 1)

    Top Bottom