Help - Search - Members - Calendar
Full Version: Chrome in Bart PE
The CD Forum > The CD Forum > Bootable CDs
Czerno
Hi Friends !

I'm trying to run Google Chrome (rather, Protable Google Chrome from Caschy) from BartPE.

Howeverthe main Chrome browser windowopens but yields the infamous Application Error box :
Failed to initialize properly (0xc0000142). Click on OK to terminate the app...

Clicking on OK does NOT terminate the Chrome browser UI ; however it is impossible to browse to any page, including
locally generated ones (even about:blank) : each time it opens the aforementionned app error box :-(

This happens whether launching Chrome from the hard disk or downloading the Portable to the RAM Disk.

Is there a way to make (portable) Chrome behave properly in Bart PE ? I suspect missing system DLLs.

It would be terrific !


Thanks

--
Czerno
jaclaz
QUOTE (Czerno @ Nov 16 2008, 05:17 PM) *
I suspect missing system DLLs.

It's a possibility.

Try tracing it with Dependency Walker:
http://www.dependencywalker.com/

and with procmon (or filemon/regmon):
http://technet.microsoft.com/en-us/sysinternals/default.aspx

jaclaz
Czerno
QUOTE (jaclaz @ Nov 16 2008, 01:16 PM) *
Try tracing it with Dependency Walker:
http://www.dependencywalker.com/


Nice tool. Just gave it a test run, obviously I fail to grasp the intricacies of it (and the helpfile is of the
CHM variety, not available in Bart UIAM). Yet at first sight it shows ominous signs about :

(!)SHELL32.DLL and SETUPAPI.DLL (which are Bart's own) Could not find the section that owns the delay import directory.

In addition MPR.DLL (also from Bart's directory) is prefixed by a pink (not red) square.

If I fancied to copy those 3 DLLs, the MS version I have (from Win 2k) alongside Chrome's executables, could it start resolving the problem ?
I don't remember the specifics of DLL load order, which have changed several times, I'm not even sure it is possible to override the DLLs which reside in Windows System32 without some registry hack anyway.

BTW the results I mentionned are purely static. Will Dependecy Walker follow execution threads ?

I'm so ignorant ... Very grateful for sharing your knowledge ...

--
Czerno
Czerno
Alright, I found how to "profile" the launch of Google Chrome.
Here's the log :
********************************************************************************
****************************************************************
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
Warning: At least one module was corrupted or unrecognizable to Dependency Walker, but still appeared to be a Windows module.

--------------------------------------------------------------------------------
Starting profile on 11/16/2008 at 6:59:44 PM

Operating System: Microsoft Windows XP Professional (32-bit), version 5.01.2600 (Gold)
Program Executable: d:\programs\portable_google_chrome_0.2.149.30\chrome\CHROME.EXE
Program Arguments: --lang=en-US --type=renderer --channel=596.1ad96a0.1475736077 --user-data-dir=Profil
Starting Directory: d:\programs\portable_google_chrome_0.2.149.30\chrome\
Search Path: H:\i386;H:\i386\System32;H:\Bin

Options Selected:
Log DllMain calls for process attach and process detach messages.
Hook the process to gather more detailed dependency information.
Log LoadLibrary function calls.
Log GetProcAddress function calls.
Log first chance exceptions.
Log debug output messages.
Automatically open and profile child processes.
--------------------------------------------------------------------------------

Started "CHROME.EXE" (process 0x2B4) at address 0x00400000. Successfully hooked module.
Loaded "NTDLL.DLL" at address 0x77F50000. Successfully hooked module.
Loaded "KERNEL32.DLL" at address 0x77E60000. Successfully hooked module.
DllMain(0x77E60000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNEL32.DLL" called.
DllMain(0x77E60000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNEL32.DLL" returned 1 (0x1).
Injected "DEPENDS.DLL" at address 0x08370000.
Loaded "USER32.DLL" at address 0x77D40000. Successfully hooked module.
Loaded "GDI32.DLL" at address 0x77C70000. Successfully hooked module.
Loaded "ADVAPI32.DLL" at address 0x77DD0000. Successfully hooked module.
Loaded "RPCRT4.DLL" at address 0x78000000. Successfully hooked module.
Loaded "SHELL32.DLL" at address 0x004B0000. Successfully hooked module.
Loaded "MSVCRT.DLL" at address 0x77C10000. Successfully hooked module.
Loaded "SHLWAPI.DLL" at address 0x70A70000. Successfully hooked module.
Loaded "VERSION.DLL" at address 0x77C00000. Successfully hooked module.
Entrypoint reached. All implicit modules have been loaded.
DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x0012FD30) in "DEPENDS.DLL" called.
DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x0012FD30) in "DEPENDS.DLL" returned 1 (0x1).
DllMain(0x78000000, DLL_PROCESS_ATTACH, 0x0012FD30) in "RPCRT4.DLL" called.
DllMain(0x78000000, DLL_PROCESS_ATTACH, 0x0012FD30) in "RPCRT4.DLL" returned 1 (0x1).
DllMain(0x77DD0000, DLL_PROCESS_ATTACH, 0x0012FD30) in "ADVAPI32.DLL" called.
DllMain(0x77DD0000, DLL_PROCESS_ATTACH, 0x0012FD30) in "ADVAPI32.DLL" returned 1 (0x1).
DllMain(0x77D40000, DLL_PROCESS_ATTACH, 0x0012FD30) in "USER32.DLL" called.
-> RED ! DllMain(0x77D40000, DLL_PROCESS_ATTACH, 0x0012FD30) in "USER32.DLL" returned 0 (0x0).
First chance exception 0xC0000142 (DLL Initialization Failed) occurred in "NTDLL.DLL" at address 0x77F966BC.
Second chance exception 0xC0000142 (DLL Initialization Failed) occurred in "NTDLL.DLL" at address 0x77F966BC.
Exited "CHROME.EXE" (process 0x2B4) with code 128 (0x80).
********************************************************************************
*********************************************************

Chrome popped up the error message, which I closed (3 times, as I had 3 tabs open in the main browser window),
then I closed that window and the process exited as reflected on the last line of the listing above.

Does this all make sense and can you diagnose a fix yet ?

Thans


--
Czerno
jaclaz
Well it's very difficult to say from a distance. sad.gif

More often that you would think of, this:
QUOTE
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

causes no problems, but though I am not an expert in this kind of things I do not recall to have ever seen this unsure.gif:
QUOTE
Warning: At least one module was corrupted or unrecognizable to Dependency Walker, but still appeared to be a Windows module.


However the problem when "profiling" could also be something Registry related, that's why I recommended you to also run procmon/filemon/regmon.

Really I cannot do much more that showing you some directions to explore....

jaclaz
sanbarrow
Czerno - Chrome is really a hard case - I got the same problems - in spite of the installer saying that the setup went well.
I gave up after a while ...
Czerno
QUOTE (sanbarrow @ Nov 16 2008, 03:52 PM) *
Czerno - Chrome is really a hard case - I got the same problems - in spite of the installer saying that the setup went well.
I gave up after a while ...


Aha, danke. If /you/ had to give up, it must be really tough indeed ;=)
sanbarrow
QUOTE
it must be really tough indeed ;=)


hysterical.gif - that may not mean anything - I have my blind moments like anybody else rolleyes.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.