Galapo - which Converter-build do you use ?
In 3.0.3 I have to start a service first - you know autoit - so I guess this will help - works for me and others reliable.
$stateicon is used like a statusbar - it displays messages
drv_ctl.exe is a commandline tool to install kerneldrivers
In moa.exe you right click on vmware-icon and can call the autoit-function _startconverter()
I guess the rest is quite self explaining I hope.
Note the sleep-cycles - don't start converter.exe too early
Func _startconverter()
If Not FileExists("R:\vm\converter\converter.exe") Then GUICtrlSetData($stateicon, @CRLF & " . . converter not found - starting plan B", 1)
If Not FileExists("R:\vm\converter\converter.exe") Then _startconverterjunction()
If FileExists("R:\vm\converter\converter.exe") Then _startconverterbatch()
EndFunc;==>_startconverter
;--------------------------------------------------------------------------------------------------------------------------------------------
Func _startconverternow()
If FileExists("R:\vm\converter\converter.exe") Then Run("R:\vm\converter\converter.exe -boot")
GUICtrlSetData($stateicon, @CRLF & " . . done", 1)
EndFunc;==>_startconverternow
;--------------------------------------------------------------------------------------------------------------------------------------------
Func _startconverterjunction()
$var = FileSelectFolder("can't find converter in default location - please select a different path", "", 7, "r:")
If FileExists($var & "\converter.exe") Then GUICtrlSetData($stateicon, @CRLF & " . . converter.exe found . . . ", 1)
If Not FileExists("r:\vm\converter\converter.exe") Then _RunDOS("junction.exe R:\vm\converter " & $var)
EndFunc;==>_startconverterjunction
;--------------------------------------------------------------------------------------------------------------------------------------------
Func _startconverterbatch()
RegWrite('HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE\Features', 'Pnp', 'Reg_Dword', '0x00000001')
RegWrite('HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE\Features', 'Icf', 'Reg_Dword', '0x00000001')
If Not FileExists("R:\temp\ufa.xml") Then FileInstall("ufa.xml", "R:\temp\ufa.xml")
If Not FileExists("R:\temp\ufa.xml") Then GUICtrlSetData($stateicon, @CRLF & " . . oh dear - can't find ufa.xml", 1)
If Not FileExists('R:\vm\converter\SSL\RUI.KEY') Then GUICtrlSetData($stateicon, @CRLF & " . . oh dear - can't find ssl-keys", 1)
$PID = ProcessExists("vmware-ufad.exe"); Will return the PID or 0 if the process isn't found.
If Not $PID Then GUICtrlSetData($stateicon, @CRLF & " . . trying to start vstor2-p2v30 driver - please be patient ...", 1)
If Not $PID Then _startVstor2_p2v30()
If Not $PID Then GUICtrlSetData($stateicon, @CRLF & " . . trying to start vmware-ufad-service - please be patient ...", 1)
If Not $PID Then Run(@ScriptDir & '\hiderun.exe R:\vm\converter\vmware-ufad.exe R:\temp\ufa.xml')
Sleep(5000)
If $PID Then GUICtrlSetData($stateicon, @CRLF & " . . ufad-service is running. . . ", 1)
Sleep(2000)
$PID = ProcessExists("vmware-ufad.exe"); Will return the PID or 0 if the process isn't found.
If Not $PID Then GUICtrlSetData($stateicon, @CRLF & " . . oh dear - couldn't start ufad-service", 1)
If $PID Then _startconverternow()
EndFunc;==>_startconverterbatch
Func _startVstor2_p2v30()
If FileExists("r:\vm\converter\vstor2-p2v30.sys") Then _RunDOS('drv_ctl --inst-nostart vstor2-p2v30 R:\vm\converter\vstor2-p2v30.sys')
If FileExists("r:\vm\converter\vstor2-p2v30.sys") Then _RunDOS('net start vstor2-p2v30')
EndFunc;==>_startVstor2_p2v30
By the way - the ufa.xml is installed to %temp% so that I can - download converter - extract it and run it at once will being in PE
I do not need to add any files special files to the PE-core.
No registry stuff is necessary - at least I don't add any.
Usually I pack converter into a 27 MB wim and load it on demand only.
If you simply run converter.exe without batch you get "remote hot clone" mode only.
hope that helps
Ulli