ChrisR, may I ask other question?
- Summary
Win10XPE attempts to load hive %Gtemp%\Install.hives\DEFAULT into the registry.
But that hive seems to be created in the build, not being copied from the source.
Is this behavior intentional?
- Details
I implemented compatibility mode for Visible so PEBakery can build Win10XPE successfully. However, I confronted another issue.
Here is an error log produced by PEBakery:
<Errors>
- [1] Error in script [Build Core] (Win10XPE\Core.script)
[Error] RegHiveLoad - Hive file [E:\WinPE_dev\Win10XPE\Temp\Install.hives\DEFAULT] does not exist (RegHiveLoad,Tmp_Install_Default,%Gtemp%\Install.hives\DEFAULT) (Line 389)
|-> Referenced script [Macro] (Win10XPE\Macro.script)
By examining Core.script and Macro.script, I found SOFTWARE, SYSTEM, and DRIVERS in %Gtemp%\Install.hives\ are copied from install.wim. But DEFAULT is not copied/created before RegHiveLoad is called. I did not know WinBuilder creates empty registry hive if a path given to `RegHiveLoad` does not exist. That is why in the same condition, PEBakery throws an error. So PEBakery should be patched.
Did you create empty DEFAULT hive for a specific purpose, or is this a mistake?
Thanks, James. I eventually got PEBakery to build Win10XPE, so I can wait.
+
As a reminder, another subtle issue I had found:
AOMEI Partition Assistant_XPE_File.script use %Version% as a local variable. It shadows WinBuilder's internal value 082.
Set,%History%,History%Script_Version%
Set,%Version%,%Script_Version%
If,%Script_Version%,SMALLER,100,Set,%Version%,0%Script_Version%
If,%Script_Version%,SMALLER,10,Set,%Version%,00%Script_Version%
If,%Script_Version%,SMALLER,100,Set,%History%,History0%Script_Version%
If,%Script_Version%,SMALLER,10,Set,%History%,History00%Script_Version%
Since PEBakery's default policy does not allow overriding fixed variables, it caused a problem.
The policy can be turned off with the compatibility option, but I suggest to rename that variable from the script.