[New-bugs-announce] [issue28888] Installer fails when newer version of CRT is pending installation

Steve Dower report at bugs.python.org
Tue Dec 6 12:39:51 EST 2016


New submission from Steve Dower:

We just discovered an issue where CPython install can fail on Windows 8, 8.1 and Server 2012.

* do not install the recommended UCRT update
* install any other Windows Update that requires a reboot
* install the *latest* VC Redist and do not reboot
* install CPython

Because of the pending reboot, the UCRT update in the VC Redist will be queued but not installed. When we install CPython, because we don't find the UCRT we will try and install it, but because we install a slightly older version than the latest VC Redist we get 0x80240017 WU_E_NOT_APPLICABLE returned. Since this is an error code, we abort installation.

However, the correct action to take here is to continue installation, but trigger a mid-setup reboot before doing any of the custom actions that require Python to be installed (bootstrap pip, precompile stdlib) or require a reboot after install. We also need to do a reboot if our own installation of the UCRT requests it, since we may be the ones to queue the update.

At the very least, continuing with installation, failing the custom actions and telling the user to reboot and repair Python would also be less impactful than aborting. But I believe we can set it up to do that automatically.

Ned FYI, but I won't be forcing this in to 3.6.0. The workaround is fine for interactive installs (reboot your machine and try again) - it's only a problem when Python is being chained into a larger install (e.g. Visual Studio, or an automated deployment).

----------
assignee: steve.dower
components: Windows
messages: 282560
nosy: ned.deily, paul.moore, steve.dower, tim.golden, zach.ware
priority: high
severity: normal
stage: needs patch
status: open
title: Installer fails when newer version of CRT is pending installation
type: behavior
versions: Python 3.5, Python 3.6, Python 3.7

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue28888>
_______________________________________


More information about the New-bugs-announce mailing list