Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1132)

Issue 1588673004: Package/Install the Windows 10 Universal C Runtime for VS 2015 (Closed)

Created:
4 years, 11 months ago by brucedawson
Modified:
4 years, 11 months ago
Reviewers:
scottmg
CC:
chromium-reviews, dpranke+depot_tools_chromium.org, iannucci+depot_tools_chromium.org, pschmidt1
Base URL:
https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Package/Install the Windows 10 Universal C Runtime for VS 2015 The VS 2015 tools require the Windows 10 Universal C Runtime, either installed in C:\Windows or in every directory containing tools, or dynamically linked executables created with VS 2015. Installing to C:\Windows seems less error prone. This is only applicable for Google developers and build machines that don't have VS 2015 installed. This updates the packaging script so that it packages the three installers, and no longer packages the installed files (which vary between operating systems anyway). The installer is updated to check for the existence of one of the Universal C Runtime files. If it isn't found then it detects the version of Windows in order to select and run the correct installer. I manually confirmed that, for instance, the installers for Windows 7 and Windows 2008 R2, were identical despite coming from different download URLs. If the installation fails because gclient runhooks is run non-elevated then the developer will have to do a one-time manual install of the update. A message will be printed indicating this. BUG=440500 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=298286

Patch Set 1 #

Total comments: 14

Patch Set 2 : Adding packaging code and integrating installer code #

Patch Set 3 : Remove debug code and sys.exit(0), and better Windows 10 handling #

Patch Set 4 : Fix installer path! #

Total comments: 1

Patch Set 5 : Package ucrtbased.dll #

Total comments: 2

Patch Set 6 : Use _winreg, and add vctip.exe to kill list #

Total comments: 5

Patch Set 7 : Code review fixes #

Patch Set 8 : Fix Windows 10 support and don't install for VS 2013 #

Total comments: 2

Patch Set 9 : Fix indent #

Patch Set 10 : Use OSError instead of WindowsError for pylint on Linux #

Unified diffs Side-by-side diffs Delta from patch set Stats (+101 lines, -28 lines) Patch
M win_toolchain/get_toolchain_if_necessary.py View 1 2 3 4 5 6 7 8 9 4 chunks +83 lines, -4 lines 0 comments Download
M win_toolchain/package_from_installed.py View 1 2 3 4 5 6 1 chunk +18 lines, -24 lines 0 comments Download

Messages

Total messages: 31 (8 generated)
brucedawson
Scott, can you take a quick sanity-check look at this? It's not done (the .msu ...
4 years, 11 months ago (2016-01-14 00:57:18 UTC) #2
scottmg
Yeah, looks good. I'd probably just inline it into get_toolchain_if_necessary or somewhere similar as you ...
4 years, 11 months ago (2016-01-14 03:10:28 UTC) #3
brucedawson
This is ready for a real review now, of both the update packaging and the ...
4 years, 11 months ago (2016-01-14 21:14:17 UTC) #4
brucedawson
https://codereview.chromium.org/1588673004/diff/60001/win_toolchain/package_from_installed.py File win_toolchain/package_from_installed.py (left): https://codereview.chromium.org/1588673004/diff/60001/win_toolchain/package_from_installed.py#oldcode162 win_toolchain/package_from_installed.py:162: 'ucrtbased.dll', Oh damn, I just remembered that I still ...
4 years, 11 months ago (2016-01-14 21:37:44 UTC) #5
scottmg
https://codereview.chromium.org/1588673004/diff/1/win_toolchain/install_universal_c_runtime.py File win_toolchain/install_universal_c_runtime.py (right): https://codereview.chromium.org/1588673004/diff/1/win_toolchain/install_universal_c_runtime.py#newcode63 win_toolchain/install_universal_c_runtime.py:63: raise Exception('Elevation required. You must manually install %s' % ...
4 years, 11 months ago (2016-01-14 21:47:31 UTC) #6
scottmg
Otherwise, lgtm, modulo packaging stuff. https://codereview.chromium.org/1588673004/diff/80001/win_toolchain/get_toolchain_if_necessary.py File win_toolchain/get_toolchain_if_necessary.py (right): https://codereview.chromium.org/1588673004/diff/80001/win_toolchain/get_toolchain_if_necessary.py#newcode231 win_toolchain/get_toolchain_if_necessary.py:231: output = subprocess.check_output('reg query ...
4 years, 11 months ago (2016-01-14 21:50:00 UTC) #7
brucedawson
> I was suggesting print ...; system.exit(1) or something. People's eyes have a > tendency ...
4 years, 11 months ago (2016-01-14 21:58:29 UTC) #8
brucedawson
Switched to _winreg, added vctip.exe to the list of executables that must be killed, and ...
4 years, 11 months ago (2016-01-14 22:22:02 UTC) #9
scottmg
lgtm https://codereview.chromium.org/1588673004/diff/100001/win_toolchain/get_toolchain_if_necessary.py File win_toolchain/get_toolchain_if_necessary.py (right): https://codereview.chromium.org/1588673004/diff/100001/win_toolchain/get_toolchain_if_necessary.py#newcode356 win_toolchain/get_toolchain_if_necessary.py:356: 'vctip.exe', # compiler and tools experience improvement data ...
4 years, 11 months ago (2016-01-14 22:45:11 UTC) #11
brucedawson
https://codereview.chromium.org/1588673004/diff/100001/win_toolchain/get_toolchain_if_necessary.py File win_toolchain/get_toolchain_if_necessary.py (right): https://codereview.chromium.org/1588673004/diff/100001/win_toolchain/get_toolchain_if_necessary.py#newcode356 win_toolchain/get_toolchain_if_necessary.py:356: 'vctip.exe', # compiler and tools experience improvement data uploader ...
4 years, 11 months ago (2016-01-15 00:10:31 UTC) #12
brucedawson
Testing on Windows 10 revealed that (yay Microsoft!) Windows 10 reports its version number in ...
4 years, 11 months ago (2016-01-15 18:22:31 UTC) #13
scottmg
It's amazing what testing can reveal! :) On 2016/01/15 18:22:31, brucedawson wrote: > Testing on ...
4 years, 11 months ago (2016-01-15 19:06:39 UTC) #14
scottmg
https://codereview.chromium.org/1588673004/diff/140001/win_toolchain/get_toolchain_if_necessary.py File win_toolchain/get_toolchain_if_necessary.py (right): https://codereview.chromium.org/1588673004/diff/140001/win_toolchain/get_toolchain_if_necessary.py#newcode267 win_toolchain/get_toolchain_if_necessary.py:267: sample_crt_file) The indent should be after the (, aligned ...
4 years, 11 months ago (2016-01-15 19:06:44 UTC) #15
brucedawson
Indent fixed. Committing. https://codereview.chromium.org/1588673004/diff/140001/win_toolchain/get_toolchain_if_necessary.py File win_toolchain/get_toolchain_if_necessary.py (right): https://codereview.chromium.org/1588673004/diff/140001/win_toolchain/get_toolchain_if_necessary.py#newcode267 win_toolchain/get_toolchain_if_necessary.py:267: sample_crt_file) On 2016/01/15 19:06:44, scottmg wrote: ...
4 years, 11 months ago (2016-01-15 19:16:46 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1588673004/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1588673004/160001
4 years, 11 months ago (2016-01-15 19:17:09 UTC) #19
commit-bot: I haz the power
Try jobs failed on following builders: depot_tools_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/depot_tools_presubmit/builds/339)
4 years, 11 months ago (2016-01-15 19:25:49 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1588673004/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1588673004/180001
4 years, 11 months ago (2016-01-15 20:51:06 UTC) #24
commit-bot: I haz the power
Committed patchset #10 (id:180001) as http://src.chromium.org/viewvc/chrome?view=rev&revision=298286
4 years, 11 months ago (2016-01-15 20:53:00 UTC) #26
bcwhite
On 2016/01/15 20:53:00, commit-bot: I haz the power wrote: > Committed patchset #10 (id:180001) as ...
4 years, 11 months ago (2016-01-19 18:11:19 UTC) #27
brucedawson
> I think this broke part of "gclient runhooks". The > get_toolchain_if_necessary.py module imports "_winreg" ...
4 years, 11 months ago (2016-01-19 18:19:54 UTC) #28
scottmg
On 2016/01/19 18:19:54, brucedawson wrote: > > I think this broke part of "gclient runhooks". ...
4 years, 11 months ago (2016-01-19 18:52:08 UTC) #29
brucedawson
> We shouldn't change back to reg.exe for that. gyp_chromium does this: > https://code.google.com/p/chromium/codesearch#chromium/src/build/gyp_chromium.py&l=224 > ...
4 years, 11 months ago (2016-01-20 00:36:52 UTC) #30
brucedawson
4 years, 11 months ago (2016-01-21 20:16:16 UTC) #31
Message was sent while issue was closed.
> I think this broke part of "gclient runhooks".  The
> get_toolchain_if_necessary.py module imports "_winreg" which exists under
> vs2013_files but not anywhere else.

To clarify - vs2013_files contains winreg.h. However this is unrelated to
Python's _winreg module - red herring.

Powered by Google App Engine
This is Rietveld 408576698