New issue
Advanced search Search tips

Issue 611934 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Jun 2016
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug



Sign in to add a comment

component mini_installer builds with DEPOT_TOOLS_WIN_TOOLCHAIN=0

Project Member Reported by brucedaw...@chromium.org, May 14 2016

Issue description

Component builds require that api-ms* DLLs be in the output directory or system installed. When DEPOT_TOOLS_WIN_TOOLCHAIN=0 then these files are system installed which works fine until we build mini_installer.

Either mini_installer needs to tolerate their absence when DEPOT_TOOLS_WIN_TOOLCHAIN=0 or they need to be copied to the output directory even in that situation.

This bug seems similar to 585556.

There are probably some other DLLs that need the special treatment.

 
The DLLs can be manually copied from C:\Windows\System32 or some-such, although making sure they are the right bitness is important. This problem was observed on gyp builds but probably also happens on gn builds.
Status: Started (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, Jun 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e7bd0348e692e635c039328cd06aac1ce23b7d4f

commit e7bd0348e692e635c039328cd06aac1ce23b7d4f
Author: brucedawson <brucedawson@chromium.org>
Date: Wed Jun 01 18:37:18 2016

Copy local CRT DLLs to gn output directories

When DEPOT_TOOLS_WIN_TOOLCHAIN=0 it is assumed that the developer has a
local install of Visual Studio, and therefore the CRT DLLs don't need to
be copied to the output directory in order to run binaries. However,
when creating packages for running elsewhere (isolates or the
mini_installer) those DLLs are needed. In order to avoid special cases
elsewhere this change copies them to the output directories when 'gn gen'
or 'gn args' runs.

This change also makes the newly copied files writable so that they can
easily be deleted. For backwards compatibility it also makes the files
writable before deleting them. This avoids a problem with pgort140.dll
which can end up read-only and thus impossible to copy over or delete
without first removing the read-only flag.

This change also removes the need for create_installer_archive.py to
copy CRT DLLs, which should avoid bugs with over-copying of these DLLs.
This change also updates that script to say that ucrtbase*.dll is
required.

BUG= 611934 , 585556 ,  610336 

Review-Url: https://codereview.chromium.org/2021353003
Cr-Commit-Position: refs/heads/master@{#397189}

[modify] https://crrev.com/e7bd0348e692e635c039328cd06aac1ce23b7d4f/build/vs_toolchain.py
[modify] https://crrev.com/e7bd0348e692e635c039328cd06aac1ce23b7d4f/chrome/tools/build/win/create_installer_archive.py

Status: Fixed (was: Started)
Status: Verified (was: Fixed)

Sign in to add a comment