There has to be a more fundamental flaw than bad registry values; loading the hive always fails.
The line you've posted wouldn't work on VistaPE since it uses "Windows" as root folder (winpe2.0 default), while XP/2003 will look for "I386" (winpe1.x default)
I don't understand.
Well, that section of one of the scripts was created by the WinBuilder Tools | Convert working on a BartPE .INF for Virtual PC 2007 VM additions. I'm trying to pick this stuff up and I figured that would be a useful and challenging task to use as a learning experience. Here's the BartPE version that works with an XP build source:
[Software.Addreg]
0x1, "Classes\CLSID\{30C14BAC-122C-42ED-B319-1139DBF48EB8}","","VPCCopyHook"
0x1, "Classes\CLSID\{30C14BAC-122C-42ED-B319-1139DBF48EB8}\InProcServer32","","\Programs\VMADD2007\VPCShExG.dll"
0x1, "Classes\CLSID\{30C14BAC-122C-42ED-B319-1139DBF48EB8}\InProcServer32","ThreadingModel","Apartment"
0x1, "Classes\Directory\shellex\CopyHookHandlers\VPCCopyHook","","{30C14BAC-122C-42ed-B319-1139DBF48EB8}"
0x4, "Microsoft\Windows\CurrentVersion\SharedDlls","\system32\vmsrvc.dll", 0x00000001
0x1, "Microsoft\Windows\CurrentVersion\Shell Extensions\Approved","{30C14BAC-122C-42ed-B319-1139DBF48EB8}","VPCCopyHook"
And here's what the translator gave me:
Echo,"Loading registry hive: [%TargetDir%\i386\System32\Config\software]"
RegHiveLoad,Tmp_software,%TargetDir%\i386\System32\Config\software
Echo,"Writing new values on registry hive.."
RegWrite,HKLM,0x1,"Tmp_software\Classes\CLSID\{30C14BAC-122C-42ED-B319-1139DBF48EB8}","","VPCCopyHook"
RegWrite,HKLM,0x1,"Tmp_software\Classes\CLSID\{30C14BAC-122C-42ED-B319-1139DBF48EB8}\InProcServer32","","\Programs\VMADD2007\VPCShExG.dll"
RegWrite,HKLM,0x1,"Tmp_software\Classes\CLSID\{30C14BAC-122C-42ED-B319-1139DBF48EB8}\InProcServer32","ThreadingModel","Apartment"
RegWrite,HKLM,0x1,"Tmp_software\Classes\Directory\shellex\CopyHookHandlers\VPCCopyHook","","{30C14BAC-122C-42ed-B319-1139DBF48EB8}"
RegWrite,HKLM,0x4,"Tmp_software\Microsoft\Windows\CurrentVersion\SharedDlls","\system32\vmsrvc.dll","1"
RegWrite,HKLM,0x1,"Tmp_software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved","{30C14BAC-122C-42ed-B319-1139DBF48EB8}","VPCCopyHook"
RegHiveUnLoad,Tmp_software
Is it failing because the Vista registry structure is different, or what? Is there a way to add those items to the registry in VistaPE?