Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
win: do not use Boxstarter to install tools #24677
The script to install Python and Visual Studio on Windows uses Boxstarter to reboot the machine whenever a reboot is pending and disable some Windows features that can make the installation fail. This has been causing issues for some users, leaving the machine in an unexpected state when the installation is cancelled.
This PR removes Boxstarter, changing the script to use Chocolatey directly, thus not changing machine configuration. This makes it possible for the installation to fail because of interference from updates or previous installations, but I could not make this happen in my tests with the packages installed here. Hence, I believe this is a good trade-off to fix the issues that have been happening.
Can you elaborate on the tests that you did here?
Based on the installation test that I did here:
At least one reboot was required, which if not done, would likely have failed the subsequent package installation.
This was referenced
Nov 28, 2018
@gep13 thanks for your review, updated.
I tested this on Windows 2008, 2012, 2016 and 10. I tested this on Windows 10 while system updates were installing. The installation always completed successfully.
It is possible that there is some software or some state a machine can be in that will make this fail in a way that Boxstarter would have prevented, that's why I used it before. What I see here is that the installations always succeed, but leave the machine with a reboot pending. Chocolatey already displays a clear warning in this case when it completes.
The potential for problems likely comes machines that don't have the Windows Updates installed. I am going to guess that all the machines that you tested on were reasonably new VM's that had Windows Updates installed recently. As a result, the Windows Updates that are dependent packages didn't actually do anything, as they were not required. This is an area where we might still see some reports, but hopefully fewer.