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

Issue 9701050: Make setup.exe compatible with the component build. (Closed)

Created:
8 years, 9 months ago by gab
Modified:
8 years, 7 months ago
CC:
chromium-reviews, pam+watch_chromium.org, erikwright (departed), Sigurður Ásgeirsson
Visibility:
Public.

Description

Make setup.exe compatible with the component build. The problem with the current component build is that chrome.exe and setup.exe only know to look for DLLs like base.dll in the current directory (except chrome.dll for which they're hardcoded to know where to look). On an install those DLLs are in the version directory so chrome.exe and setup.exe fail to run not finding required DLLs... To fix this we generate config files (to point in the version directory) and manifests (to list all the DLL dependencies explicitly) to be installed beside the exes. Each DLL also has a manifest in the version directory to give it an "assemblyIdentity" (i.e. a unique name which is referred to as a dependency by each exe's manifest). In order for external manifests to work, embedded manifests had to be disabled for component builds (otherwise Windows ignores the external one). Since embedded manifests are disabled and the generated manifests are only generated in the archive to be extracted at install-time. This CL also adds a copy step for the usually embedded manifests to be dropped in the build directory so that chrome.exe and setup.exe are usable from there without requiring an install. This doesn't make mini_installer.exe compatible with the component build yet (as mini_installer runs setup.exe right after extracting it and without any other DLLs/manifests beside it). However it is now possible to use setup.exe (which takes the exact same parameters as mini_installer.exe) from the build output directory with a component build :)!!! BUG=127233 TEST=Turn on component build with gyp config "component=shared_libary" and make sure we can install chrome with setup.exe. Make sure we can run the installed Chrome. Make sure we can uninstall the installed Chrome (i.e. that setup.exe in <version_dir>/Installer is able to find its DLLs). Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=137118

Patch Set 1 #

Patch Set 2 : wooooohoooo :) #

Patch Set 3 : wooooohoooo^2 :)^2 #

Total comments: 19

Patch Set 4 : <fixed greg='happy as can be'/> #

Total comments: 8

Patch Set 5 : python style is python style #

Patch Set 6 : add setup config+manifest #

Patch Set 7 : remove if file exists since #ifdef ensures that #

Patch Set 8 : make it work #

Total comments: 9

Patch Set 9 : fixed nits #

Total comments: 4

Patch Set 10 : commas like there is no tomorrow #

Patch Set 11 : trying to rebase to fix %&#@&# CQ #

Patch Set 12 : rebase to ToT r136815 #

Patch Set 13 : only set GenerateManifest=false for DLLs and chrome.exe + setup.exe #

Patch Set 14 : fix gyp scope #

Total comments: 4

Patch Set 15 : comment nits #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+196 lines, -2 lines) Patch
M build/common.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +17 lines, -0 lines 2 comments Download
M chrome/chrome_exe.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +15 lines, -0 lines 0 comments Download
M chrome/chrome_installer.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +15 lines, -0 lines 0 comments Download
M chrome/installer/mini_installer.gyp View 1 2 2 chunks +10 lines, -0 lines 0 comments Download
M chrome/installer/setup/install_worker.cc View 1 2 3 4 5 6 1 chunk +20 lines, -0 lines 0 comments Download
M chrome/tools/build/win/create_installer_archive.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +119 lines, -2 lines 0 comments Download

Messages

Total messages: 81 (0 generated)
gab
This makes sure that base.dll and all other DLLs in a component build end up ...
8 years, 9 months ago (2012-03-14 23:53:36 UTC) #1
robertshield
Taking a look at the change in just a minute, some comments inline: On Wed, ...
8 years, 9 months ago (2012-03-15 01:09:45 UTC) #2
gab
So building mini_installer.sln from a clean build\Debug doesn't put obj\* back in build\Debug which shows ...
8 years, 9 months ago (2012-03-15 16:54:59 UTC) #3
gab
On 2012/03/15 16:54:59, gab wrote: > So building mini_installer.sln from a clean build\Debug doesn't put ...
8 years, 9 months ago (2012-03-15 17:01:13 UTC) #4
grt (UTC plus 2)
Look out: you'll hit the same problem with setup.exe, which lives in Application\W.X.Y.Z\Installer. It needs ...
8 years, 9 months ago (2012-03-15 17:48:41 UTC) #5
gab
On 2012/03/15 17:48:41, grt wrote: > Look out: you'll hit the same problem with setup.exe, ...
8 years, 9 months ago (2012-03-16 14:59:15 UTC) #6
grt (UTC plus 2)
setup.exe doesn't load chrome.dll. it works right now because it links everything it needs statically ...
8 years, 9 months ago (2012-03-16 15:58:13 UTC) #7
gab
(please ignore patchset 2... diffed against wrong branch) Wooohoo!! So it looks like this is ...
8 years, 7 months ago (2012-05-09 01:34:20 UTC) #8
grt (UTC plus 2)
Looks cool. This will be a big win for WinDevs. Color me uncomfortably excited! The ...
8 years, 7 months ago (2012-05-09 15:49:40 UTC) #9
gab
Addressed comments (see below). As for setup.exe I'm not sure I understand what you mean... ...
8 years, 7 months ago (2012-05-09 21:13:24 UTC) #10
robertshield
Looks good, I think that what Greg meant re. setup.exe was that you leave it ...
8 years, 7 months ago (2012-05-09 21:42:41 UTC) #11
gab
Addressed Robert's comments (see below). I made the script also drop setup.exe.config and setup.exe.manifest in ...
8 years, 7 months ago (2012-05-10 00:12:55 UTC) #12
gab
make it work
8 years, 7 months ago (2012-05-11 14:13:50 UTC) #13
gab
Adding last couple components to make it work: 1) Need trustInfo tag in exe manifests. ...
8 years, 7 months ago (2012-05-11 14:21:22 UTC) #14
grt (UTC plus 2)
very cool. would you update the CL description with a bit more detail about how ...
8 years, 7 months ago (2012-05-11 15:10:50 UTC) #15
gab
fixed nits
8 years, 7 months ago (2012-05-11 15:56:07 UTC) #16
gab
Done + see new description/title! https://chromiumcodereview.appspot.com/9701050/diff/6007/chrome/chrome_exe.gypi File chrome/chrome_exe.gypi (right): https://chromiumcodereview.appspot.com/9701050/diff/6007/chrome/chrome_exe.gypi#newcode53 chrome/chrome_exe.gypi:53: ] On 2012/05/11 15:10:50, ...
8 years, 7 months ago (2012-05-11 15:56:51 UTC) #17
grt (UTC plus 2)
lgtm once you add the missing commas!111!!!! https://chromiumcodereview.appspot.com/9701050/diff/6007/chrome/tools/build/win/create_installer_archive.py File chrome/tools/build/win/create_installer_archive.py (right): https://chromiumcodereview.appspot.com/9701050/diff/6007/chrome/tools/build/win/create_installer_archive.py#newcode315 chrome/tools/build/win/create_installer_archive.py:315: # Adds ...
8 years, 7 months ago (2012-05-11 17:01:22 UTC) #18
gab
commas like there is no tomorrow
8 years, 7 months ago (2012-05-11 17:28:49 UTC) #19
gab
Oops, didn't realize I was missing them on both lines! Cheers, Gab https://chromiumcodereview.appspot.com/9701050/diff/17009/chrome/chrome_exe.gypi File chrome/chrome_exe.gypi ...
8 years, 7 months ago (2012-05-11 17:30:24 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/14005
8 years, 7 months ago (2012-05-11 17:30:43 UTC) #21
commit-bot: I haz the power
Try job failure for 9701050-14005 (retry) on win for step "compile" (clobber build). It's a ...
8 years, 7 months ago (2012-05-11 17:48:37 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/14005
8 years, 7 months ago (2012-05-11 18:00:36 UTC) #23
commit-bot: I haz the power
Try job failure for 9701050-14005 (retry) on win for step "compile" (clobber build). It's a ...
8 years, 7 months ago (2012-05-11 18:18:02 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/14005
8 years, 7 months ago (2012-05-11 18:34:11 UTC) #25
commit-bot: I haz the power
Try job failure for 9701050-14005 (retry) on win for step "compile" (clobber build). It's a ...
8 years, 7 months ago (2012-05-11 18:52:06 UTC) #26
gab
trying to rebase to fix %&#@&# CQ
8 years, 7 months ago (2012-05-11 19:39:50 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/18022
8 years, 7 months ago (2012-05-11 19:41:18 UTC) #28
commit-bot: I haz the power
Try job failure for 9701050-18022 (retry) on win for step "compile" (clobber build). It's a ...
8 years, 7 months ago (2012-05-11 19:57:26 UTC) #29
M-A Ruel
On 2012/05/11 19:57:26, I haz the power (commit-bot) wrote: > Try job failure for 9701050-18022 ...
8 years, 7 months ago (2012-05-11 20:04:12 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/18022
8 years, 7 months ago (2012-05-11 20:05:28 UTC) #31
gab
On Fri, May 11, 2012 at 4:04 PM, <maruel@chromium.org> wrote: > On 2012/05/11 19:57:26, I ...
8 years, 7 months ago (2012-05-11 20:09:29 UTC) #32
commit-bot: I haz the power
Try job failure for 9701050-18022 (retry) on win for step "compile" (clobber build). It's a ...
8 years, 7 months ago (2012-05-11 20:22:22 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/18022
8 years, 7 months ago (2012-05-11 21:16:27 UTC) #34
commit-bot: I haz the power
Try job failure for 9701050-18022 (retry) on win for step "compile" (clobber build). It's a ...
8 years, 7 months ago (2012-05-11 21:36:32 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/18022
8 years, 7 months ago (2012-05-12 01:05:31 UTC) #36
commit-bot: I haz the power
Try job failure for 9701050-18022 on win for step "update". http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win&number=11424 Step "update" is always ...
8 years, 7 months ago (2012-05-12 01:09:30 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/18022
8 years, 7 months ago (2012-05-12 01:31:14 UTC) #38
commit-bot: I haz the power
Try job failure for 9701050-18022 (retry) on win for step "compile" (clobber build). It's a ...
8 years, 7 months ago (2012-05-12 01:48:23 UTC) #39
gab
Ok this is ridiculous... im pretty sure there is nothing wrong with this patch that ...
8 years, 7 months ago (2012-05-12 02:09:10 UTC) #40
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/18022
8 years, 7 months ago (2012-05-12 13:14:00 UTC) #41
commit-bot: I haz the power
Try job failure for 9701050-18022 (retry) on win for step "compile" (clobber build). It's a ...
8 years, 7 months ago (2012-05-12 13:32:36 UTC) #42
gab
My tries are succeeding when I specify -r with my working revision... I'll try to ...
8 years, 7 months ago (2012-05-13 20:22:48 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/18022
8 years, 7 months ago (2012-05-13 20:25:42 UTC) #44
commit-bot: I haz the power
Try job failure for 9701050-18022 (retry) on win for step "compile" (clobber build). It's a ...
8 years, 7 months ago (2012-05-13 20:44:02 UTC) #45
gab
rebase to ToT r136815
8 years, 7 months ago (2012-05-14 02:08:46 UTC) #46
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/21003
8 years, 7 months ago (2012-05-14 02:09:18 UTC) #47
commit-bot: I haz the power
Try job failure for 9701050-21003 (retry) on win for step "compile" (clobber build). It's a ...
8 years, 7 months ago (2012-05-14 02:31:03 UTC) #48
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/21003
8 years, 7 months ago (2012-05-14 15:23:27 UTC) #49
commit-bot: I haz the power
Try job failure for 9701050-21003 (retry) on win for step "runhooks" (clobber build). It's a ...
8 years, 7 months ago (2012-05-14 15:40:27 UTC) #50
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/21003
8 years, 7 months ago (2012-05-14 15:43:22 UTC) #51
commit-bot: I haz the power
Try job failure for 9701050-21003 (retry) on win for step "compile" (clobber build). It's a ...
8 years, 7 months ago (2012-05-14 16:05:13 UTC) #52
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/21003
8 years, 7 months ago (2012-05-14 16:19:16 UTC) #53
commit-bot: I haz the power
Try job failure for 9701050-21003 (retry) on win for step "compile" (clobber build). It's a ...
8 years, 7 months ago (2012-05-14 16:39:33 UTC) #54
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/21003
8 years, 7 months ago (2012-05-14 16:59:44 UTC) #55
commit-bot: I haz the power
Try job failure for 9701050-21003 (retry) on win for step "compile" (clobber build). It's a ...
8 years, 7 months ago (2012-05-14 17:20:28 UTC) #56
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/21003
8 years, 7 months ago (2012-05-14 17:24:52 UTC) #57
commit-bot: I haz the power
Try job failure for 9701050-21003 (retry) (retry) on win for step "compile" (clobber build). It's ...
8 years, 7 months ago (2012-05-14 17:52:19 UTC) #58
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/21003
8 years, 7 months ago (2012-05-14 18:00:21 UTC) #59
commit-bot: I haz the power
Try job failure for 9701050-21003 (retry) on win for step "compile" (clobber build). It's a ...
8 years, 7 months ago (2012-05-14 18:24:08 UTC) #60
gab
Oops, the patch actually did have a problem (thanks Greg for bringing me back to ...
8 years, 7 months ago (2012-05-14 19:53:19 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/16022
8 years, 7 months ago (2012-05-14 20:25:16 UTC) #62
gab
Patch set 14 addresses the too broad settings I had originally put in common.gyp and ...
8 years, 7 months ago (2012-05-14 20:39:10 UTC) #63
grt (UTC plus 2)
lgtm. robert: do you have time for a quick look? the approach now removes manifests ...
8 years, 7 months ago (2012-05-15 02:30:00 UTC) #64
robertshield
Sure, taking a peek now. On Mon, May 14, 2012 at 10:30 PM, <grt@chromium.org> wrote: ...
8 years, 7 months ago (2012-05-15 02:34:23 UTC) #65
robertshield
lgtm https://chromiumcodereview.appspot.com/9701050/diff/17035/chrome/tools/build/win/create_installer_archive.py File chrome/tools/build/win/create_installer_archive.py (right): https://chromiumcodereview.appspot.com/9701050/diff/17035/chrome/tools/build/win/create_installer_archive.py#newcode350 chrome/tools/build/win/create_installer_archive.py:350: # Write setup.exe.config to point to the version ...
8 years, 7 months ago (2012-05-15 02:42:50 UTC) #66
gab
Thanks Greg and Robert! Time to make friends back with the CQ (and apologies for ...
8 years, 7 months ago (2012-05-15 03:01:39 UTC) #67
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/15037
8 years, 7 months ago (2012-05-15 03:03:26 UTC) #68
commit-bot: I haz the power
The commit queue went berserk retrying too often for a seemingly flaky test. Builder is ...
8 years, 7 months ago (2012-05-15 04:05:54 UTC) #69
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/15037
8 years, 7 months ago (2012-05-15 04:28:12 UTC) #70
commit-bot: I haz the power
The commit queue went berserk retrying too often for a seemingly flaky test. Builder is ...
8 years, 7 months ago (2012-05-15 05:30:58 UTC) #71
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/15037
8 years, 7 months ago (2012-05-15 10:34:01 UTC) #72
commit-bot: I haz the power
The commit queue went berserk retrying too often for a seemingly flaky test. Builder is ...
8 years, 7 months ago (2012-05-15 11:40:19 UTC) #73
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gab@chromium.org/9701050/15037
8 years, 7 months ago (2012-05-15 12:41:25 UTC) #74
commit-bot: I haz the power
Change committed as 137118
8 years, 7 months ago (2012-05-15 14:07:00 UTC) #75
grt (UTC plus 2)
On 2012/05/15 14:07:00, I haz the power (commit-bot) wrote: > Change committed as 137118 WOOHOO!
8 years, 7 months ago (2012-05-15 14:11:58 UTC) #76
M-A Ruel
It's concerning. :D 2012/5/15 <grt@chromium.org> > On 2012/05/15 14:07:00, I haz the power (commit-bot) wrote: ...
8 years, 7 months ago (2012-05-15 14:14:42 UTC) #77
gab
Woo woo :)! On Tue, May 15, 2012 at 10:14 AM, Marc-Antoine Ruel <maruel@chromium.org>wrote: > ...
8 years, 7 months ago (2012-05-15 14:55:42 UTC) #78
gab
Had to revert this as it was causing CRT DLLs not found error for some ...
8 years, 7 months ago (2012-05-16 00:15:25 UTC) #79
rvargas (doing something else)
So I guess this CL was the one responsible for all modules failing to build ...
8 years, 7 months ago (2012-05-16 01:09:58 UTC) #80
gab
8 years, 7 months ago (2012-05-16 01:15:54 UTC) #81
I'm not sure why this would this mt.exe error, but it's possible.

http://codereview.chromium.org/9701050/diff/15037/build/common.gypi
File build/common.gypi (right):

http://codereview.chromium.org/9701050/diff/15037/build/common.gypi#newcode2836
build/common.gypi:2836: # same directory as chrome.exe and setup.exe):
On 2012/05/16 01:09:58, rvargas wrote:
> What does this exactly mean? I don't think this is going to work, does it?

It will, but not this way. Follow
https://chromiumcodereview.appspot.com/10399041/ if you're intrigued.

Powered by Google App Engine
This is Rietveld 408576698