esgaroth

WinPE 4.0 Explorer.exe

23 posts in this topic

I have been experimenting with making a WinPE 4 and I am trying to get explorer.exe to run. I know windows 8 has not been finalized and things might change in the final version but I just wanted to experiment with it a bit and see if I can get it to work.

So far I can run explorer from the command window and it starts but the desktop and taskbar are not working correctly. Both the desktop and taskbar are blank. I can right click on the taskbar and start task manager but no icons are created on the task bar to show running programs. I can right click on the desktop and select create new folder but nothing appears on the desktop. A new folder is created at X:\windows\system32\config\systemprofile\desktop, its just not visible on the desktop.

I can also right click and select personalize and the control panel will open.

Here is what I have done so far to get explorer working:

After mounting the winpe.wim,

I used dependancy walker to get a list of all files needed by explorer.exe. Copied all of these files into the mounted wim without overwriting any existing files.

Copied folders:

Windows\en-us

System32\en-us

System32\migration

Windows\Branding

WinSxS\common-controls

WinSxS\gdiplus

All .cpl, .exe, and .msc files from system32.

I have exported from the install.wim registry hives:

Software\Classes

Software\Microsoft\Windows\CurrentVersion\Explorer

Software\Microsoft\Windows NT\CurrentVersion\Winlogon

Software\Microsoft\Internet Explorer

Default\Software\Microsoft\Windows\CurrentVersion\Explorer

Set System\ControlSet001\Control\ProductOptions\ProductSuite=Terminal Server

I have also tried importing the entire Software key from install.wim.

I have replaced all “C:\” with “X:\” and all “43,00,3a,00,5c,00” with “58,00,3a,00,5c,00”

Removed all references to "RunAs"="Interactive User"

I also tried copying all dll files from install.wim system32 without overwriting anything.

These are about the steps that have worked for passed versions of windows so I don't know yet what might be different for windows 8.

Any other files I should add? Services maybe? Any registry changes I should make?

0

Share this post


Link to post
Share on other sites

it is a known problem and as far as i know there is no known solution for that and metro. will wait and see somebody to patch somethings.

0

Share this post


Link to post
Share on other sites

Something like this?

:w00t:

0

Share this post


Link to post
Share on other sites

Windows 7 explorer in pe4 looks interesting, I might try that.

Kullenen, I have read through your winpe 3.0 thread and it has been very helpfull, do you have any suspicion of what might be missing? I'm sure I will probably have to wait for someone more knowledgeable than I to figure this out, but I may try a bit more nonetheless.

I have noticed that comparing logs from procmon that explorer behaves differently. Under PE explorer starts loading registry settings first then starts loading files. In windows explorer checks a bunch of files first before checking the same registry settings. Also under PE explorer keeps looking in X:\Windows for dll files before it finds them in System32. In windows explorer always looks in System32 first. I doubt this matters as the files are eventually loaded in either case.

0

Share this post


Link to post
Share on other sites

I am quite sure not a missing registry or file problem. probably 1-)"productoptions" registry 2-) walpaperhost.exe 3-) explorer.exe or 4-)Minint string in a file or registry needs to be patched. Just my opinion.

0

Share this post


Link to post
Share on other sites

Since most of the classic theme and shell code has been removed from windows 8; I wonder if this is just a matter of getting themes and the desktop window manager running in PE. I have gotten the theme service to run, but the desktop window manager is no longer a service as it was in windows 7. dwm.exe is spawned by winlogon.exe during startup. If I add dwm.exe to my wim file with no other changes then it boots to a black screen with no command prompt. So winlogon.exe must be automatically starting dwm.exe if it exists. I don't know if the black screen is the system locking up or if it just isn't able to display anything properly.

I tried copying dwm.exe after booting the PE and running it manually, but it just exits after a couple of seconds.

I have found that the taskbar and desktop are at least somewhat usable. If you right click the desktop and select refresh then the icons will show up. I can also right click on the task bar and add toolbars. The toolbar shortcuts function properly.

Running applications still do not show on the taskbar,

0

Share this post


Link to post
Share on other sites

Looks like the problem definitely has to do with the HKLM\System\Setup\SystemSetupInProgress registry key. Setting it to 1 in a normal windows environment reproduces the problems with explorer.

Looks like both dwm.exe and explorer.exe check the value of SystemSetupInProgress when starting up. I tried patching the string in the exe but it looks like both dwm.exe and explorer.exe get that value from some other loaded dll or exe.

So its starting to look like Microsoft may have deliberately prevented explorer from running in winpe this time around.

0

Share this post


Link to post
Share on other sites

Yes, like I explained in the first post. The taskbar is visible but open applications do not show up there. The desktop is also blank, no icons are shown.

Here is a screenshot of what happens to a normal windows 8 rtm install if SystemSetupInProgress is set to 1. Very similar to how the taskbar behaves in winpe 4.0.

setupinprogresssetto1.png

0

Share this post


Link to post
Share on other sites

Looks like both dwm.exe and explorer.exe check the value of SystemSetupInProgress when starting up. I tried patching the string in the exe but it looks like both dwm.exe and explorer.exe get that value from some other loaded dll or exe.

This should be the same even with Vista or Windows 7. I imagine this is why if you deploy Windows to Audit Mode, aero is disabled. But maybe this change you are seeing is because Aero is not in Windows 8 anymore. :unsure:

0

Share this post


Link to post
Share on other sites

This should be the same even with Vista or Windows 7. I imagine this is why if you deploy Windows to Audit Mode, aero is disabled. But maybe this change you are seeing is because Aero is not in Windows 8 anymore. :unsure:

Thats what I thought about dwm.exe not working in PE. I thought that maybe dwm.exe would have to be loaded with the windows 8 theme working in order for explorer to work since there is no other theme to fall back on. But in the last screenshot the theme is working so dwm.exe must be running yet explorer still does not work correctly.

If I try to run task manager or any other exe I get "The device is not ready." So I can't check to see what is running and what is not.

0

Share this post


Link to post
Share on other sites

I started working on this again recently and was able to make a small bit of progress. I can get dwm to run in pe. Only required the direct3d/directdraw registry keys from HKLM/Software/Microsoft.

Taskbar still does not work though. With dwm running windows now have the windows 8 theme to them. The folder view and task manager don't have the new windows 8 skins though so something still isnt loading.

screen.png

0

Share this post


Link to post
Share on other sites

Have you managed to get the file copy-progress part of explorer working?

With Win PE3 (Win7) it was as easy as copying shellstyle.dll, but there is more to it with this version.

I would be content using a 3rd party file manager on my WinPE build, but I really would like Win8's file copy handling.

0

Share this post


Link to post
Share on other sites

Have you tried to copy the DLL's "twinui.dll" and "twinapi.dll" to WinPE? They are the most important for Windows 8 UI (Metro) work.

Sorry if my english is bad :( ... I am brazillian...

0

Share this post


Link to post
Share on other sites

Thanks for the suggestion Meyer, but even with twinui.dll and twinapi.dll there is no copy progress window.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.