Made this thread to simplify things as the original has gotten a bit confusing. This essentially enables you to transfer WoW64 from a Win10PESE image to a scratch WinRE/WinPE image.
Again, full credit to everyone at The Oven, I just went back through their 5-WOW64.script file.
Tested working as of 10.0.586.0, should work for later versions unless Win10PESE changes. Let me know if you have any problems and I will try to help!
1) Untouched WinRE.wim/WinPE.wim (add your own desired modifications after)
2) 64-bit Win10PE SE image (by The Oven, google it)
Quickest way is to download a fresh Windows 10 ISO from Techbench, extract WinRE.wim from it, and use the ISO to build your Win10PE SE image. The image from which WoW64 originates must be the same version as the target image!
1) Delete \Windows\WinSxS from your own image. You will probably need to use an app such as Unlocker. Note that this will take a while.
2) Copy in file dependencies from the Win10PE SE image to your own image.
- The entirety of \Windows\WinSxS
- The entirety of \Windows\System32\Catroot (merge with existing image)
- The entirety of \Windows\SysWOW64
- Alternatively, copy the files listed under 'CopySysWoW' and 'DirCopy' sections in the 5-WoW64.script. This may be a 'cleaner' way of doing it but I haven't done this myself.
3) Export registry dependencies from the Win10PE SE image and merge with your own image
- HKLM\system\currentcontrolset001\control\session manager\BootExecute\
- HKLM\software\Microsoft\Windows\CurrentVersion\SMI\WinSxS Settings\
4) Perform your other modifications. Add all the things that you want to be in your image, etc.
Done! If you want to trim the size down, there are elements in the Win10 PE SE project that you can remove (eg AutoIT scripting app if you don't use it, control panel elements, etc etc)
Error 0xc0000034 when trying to start 32-bit apps
- Check that the key at BootExecute has been added properly (this is necessary to launch loadWOW64.exe at startup)
"Side-by-side configuration incorrect" errors when trying to start 32-bit apps
- Check that you have added everything at HKLM\software\microsoft\windows\currentversion\sidebyside\
"PROCESS1_INITIALISATION_FAILED" upon startup
- Check that the SysWOW64 files and System32 files in your image are the same version (right click > properties on shell32.dll for example). Eg if you tried to add SysWOW64 from 10.0.240.0 to a 10.0.586.0 target, you would get a BSOD like this.
Issues with file > save, file > open, various other GUI elements in 32-bit apps that do not affect 64-bit versions of said apps
- Check that you have added everything at HKLM\software\classes\wow6432node\CLSID
Issues adding packages with DISM relating to corrupted component store
- Can occur if you deleted the side-by-side regkeys before adding those from the 10 PE SE image. Don't do this!
- Can probably also occur in other scenarios. As you can imagine, deleting and rebuilding WinSxS is a rough way of doing it, but I haven't had any problems with transferring their WoW64 implementation to my own image this way yet.
Issues with already added packages after adding WoW64
- Probably due to deleting WinSxS during this guide, hence my recommendation to perform this on a scratch image, then add other modifications after.
Edited by spleenharvester, 25 July 2016 - 09:22 PM.