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

Unified Diff: chrome/tools/build/win/create_installer_archive.py

Issue 186593006: Copy msvc*.dll from the build_dir to the installer_dir rather than straight to the installer_dir as… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/tools/build/win/create_installer_archive.py
diff --git a/chrome/tools/build/win/create_installer_archive.py b/chrome/tools/build/win/create_installer_archive.py
index 0001cbe2f6454b5ce4d836a2ab42e413a390b071..385b4768c72092b0bbb7dcc2e032cba97f60f17e 100755
--- a/chrome/tools/build/win/create_installer_archive.py
+++ b/chrome/tools/build/win/create_installer_archive.py
@@ -435,24 +435,31 @@ def DoComponentBuildTasks(staging_dir, build_dir, target_arch, current_version):
if not os.path.exists(installer_dir):
os.mkdir(installer_dir)
- # Copy the VS CRT DLLs to |build_dir| and |installer_dir|. This must be done
- # before the general copy step below to ensure the CRT DLLs are added to the
- # archive and marked as a dependency in the exe manifests generated below.
+ # Copy the VS CRT DLLs to |build_dir|. This must be done before the general
+ # copy step below to ensure the CRT DLLs are added to the archive and marked
+ # as a dependency in the exe manifests generated below.
CopyVisualStudioRuntimeDLLs(target_arch, build_dir)
- CopyVisualStudioRuntimeDLLs(target_arch, installer_dir)
- # The set of component DLLs required by setup.exe (to be dropped in the
- # archive in the |installer_dir|).
- setup_component_dll_names = { 'base.dll',
+ # Explicitly list the component DLLs setup.exe depends on (this list may
+ # contain wildcards). These will be copied to |installer_dir| in the archive.
+ setup_component_dll_globs = [ 'base.dll',
'crcrypto.dll',
'crnspr.dll',
'crnss.dll',
'icui18n.dll',
- 'icuuc.dll', }
-
- # Stage all the component DLLs found in |build_dir|. These are all the DLLs
- # which have not already been added to the staged |version_dir| by virtue of
- # chrome.release.
+ 'icuuc.dll',
+ 'msvc*.dll' ]
+ for setup_component_dll_glob in setup_component_dll_globs:
+ setup_component_dlls = glob.glob(os.path.join(build_dir,
+ setup_component_dll_glob))
+ for setup_component_dll in setup_component_dlls:
+ shutil.copy(setup_component_dll, installer_dir)
+
+ # Stage all the component DLLs found in |build_dir| to the |version_dir| (for
+ # the version assembly to be able to refer to them below and make sure
+ # chrome.exe can find them at runtime). The component DLLs are considered to
+ # be all the DLLs which have not already been added to the |version_dir| by
+ # virtue of chrome.release.
build_dlls = glob.glob(os.path.join(build_dir, '*.dll'))
staged_dll_basenames = [os.path.basename(staged_dll) for staged_dll in \
glob.glob(os.path.join(version_dir, '*.dll'))]
@@ -466,15 +473,7 @@ def DoComponentBuildTasks(staging_dir, build_dir, target_arch, current_version):
if component_dll_name.startswith('remoting_'):
continue
component_dll_filenames.append(component_dll_name)
- # Copy each |component_dll| to the version_dir (for the version assembly to
- # be able to refer to them below and make sure chrome.exe can find them at
- # runtime).
shutil.copy(component_dll, version_dir)
- # Also copy the ones listed in |setup_component_dll_names| directly to the
- # Installer directory for the installed setup.exe to be able to run (as it
- # doesn't statically link in component DLLs).
- if component_dll_name in setup_component_dll_names:
- shutil.copy(component_dll, installer_dir)
# Augment {version}.manifest to include all component DLLs as part of the
# assembly it constitutes, which will allow dependents of this assembly to
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698