| 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
|
|
|