For info the powershell script I am running (after mounting my image D:\PE_TEMP\Mount) is below - this is adding all files/registry keys I found I needed myself and my researching many other posts on the matter
This gets me further than before, but still errors as per last post, so something still missing
Write-Host "Copying Schemas"
mkdir D:\PE_TEMP\mount\Windows\schemas\AvailableNetwork
copy "C:\Windows\schemas\AvailableNetwork\AvailableNetworkInfo.xsd" "D:\PE_TEMP\mount\Windows\schemas\AvailableNetwork\AvailableNetworkInfo.xsd"
# exe
Write-Host "Copying EXE's"
copy "C:\Windows\system32\wifitask.exe" "D:\PE_TEMP\mount\Windows\system32\wifitask.exe"
copy "C:\Windows\system32\wlanext.exe" "D:\PE_TEMP\mount\Windows\system32\wlanext.exe"
copy "C:\Windows\system32\en-US\wlanext.exe.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlanext.exe.mui"
# wlan* Dlls
Write-Host "Copying wlan* DLL's"
copy "C:\Windows\system32\wlanapi.dll" "D:\PE_TEMP\mount\Windows\system32\wlanapi.dll"
copy "C:\Windows\system32\en-US\wlanapi.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlanapi.dll.mui"
copy "C:\Windows\system32\wlancfg.dll" "D:\PE_TEMP\mount\Windows\system32\wlancfg.dll"
copy "C:\Windows\system32\en-US\wlancfg.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlancfg.dll.mui"
copy "C:\Windows\system32\WLanConn.dll" "D:\PE_TEMP\mount\Windows\system32\WLanConn.dll"
copy "C:\Windows\system32\en-US\WLanConn.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\WLanConn.dll.mui"
copy "C:\Windows\system32\wlandlg.dll" "D:\PE_TEMP\mount\Windows\system32\wlandlg.dll"
copy "C:\Windows\system32\en-US\wlandlg.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlandlg.dll.mui"
copy "C:\Windows\system32\wlangpui.dll" "D:\PE_TEMP\mount\Windows\system32\wlangpui.dll"
copy "C:\Windows\system32\en-US\wlangpui.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlangpui.dll.mui"
copy "C:\Windows\system32\WLanHC.dll" "D:\PE_TEMP\mount\Windows\system32\WLanHC.dll"
copy "C:\Windows\system32\en-US\WLanHC.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\WLanHC.dll.mui"
copy "C:\Windows\system32\wlanhlp.dll" "D:\PE_TEMP\mount\Windows\system32\wlanhlp.dll"
copy "C:\Windows\system32\WlanMediaManager.dll" "D:\PE_TEMP\mount\Windows\system32\WlanMediaManager.dll"
copy "C:\Windows\system32\WlanMM.dll" "D:\PE_TEMP\mount\Windows\system32\wlanmm.dll"
copy "C:\Windows\system32\en-US\WlanMM.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlanmm.dll.mui"
copy "C:\Windows\system32\wlanmsm.dll" "D:\PE_TEMP\mount\Windows\system32\wlanmsm.dll"
copy "C:\Windows\system32\wlanpref.dll" "D:\PE_TEMP\mount\Windows\system32\wlanpref.dll"
copy "C:\Windows\system32\en-US\wlanpref.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlanpref.dll.mui"
copy "C:\Windows\system32\WlanRadioManager.dll" "D:\PE_TEMP\mount\Windows\system32\WlanRadioManager.dll"
copy "C:\Windows\system32\wlansec.dll" "D:\PE_TEMP\mount\Windows\system32\wlansec.dll"
copy "C:\Windows\system32\wlansvc.dll" "D:\PE_TEMP\mount\Windows\system32\wlansvc.dll"
copy "C:\Windows\system32\en-US\wlansvc.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlansvc.dll.mui"
copy "C:\Windows\system32\wlansvcpal.dll" "D:\PE_TEMP\mount\Windows\system32\wlansvcpal.dll"
copy "C:\Windows\system32\wlanui.dll" "D:\PE_TEMP\mount\Windows\system32\wlanui.dll"
copy "C:\Windows\system32\en-US\wlanui.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlanui.dll.mui"
# Already in WinPE image
copy "C:\Windows\system32\wlanutil.dll" "D:\PE_TEMP\mount\Windows\system32\wlanutil.dll"
copy "C:\Windows\system32\en-US\wlanutil.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlanutil.dll.mui"
# Wifi* dll
Write-Host "Copying wifi* DLL's"
copy "C:\Windows\system32\WiFiConfigSP.dll" "D:\PE_TEMP\mount\Windows\system32\WiFiConfigSP.dll"
copy "C:\Windows\system32\wificonnapi.dll" "D:\PE_TEMP\mount\Windows\system32\wificonnapi.dll"
copy "C:\Windows\system32\WiFiDisplay.dll" "D:\PE_TEMP\mount\Windows\system32\WiFiDisplay.dll"
copy "C:\Windows\system32\en-US\WiFiDisplay.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\WiFiDisplay.dll.mui"
copy "C:\Windows\system32\wifinetworkmanager.dll" "D:\PE_TEMP\mount\Windows\system32\wifinetworkmanager.dll"
copy "C:\Windows\system32\en-US\wifinetworkmanager.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wifinetworkmanager.dll.mui"
copy "C:\Windows\system32\wifiprofilessettinghandler.dll" "D:\PE_TEMP\mount\Windows\system32\wifiprofilessettinghandler.dll"
# Other dll
Write-Host "Copying Other DLL's"
copy "C:\Windows\system32\wfdprov.dll" "D:\PE_TEMP\mount\Windows\system32\wfdprov.dll"
copy "C:\Windows\system32\wlgpclnt.dll" "D:\PE_TEMP\mount\Windows\system32\wlgpclnt.dll"
copy "C:\Windows\system32\en-US\wlgpclnt.dll.mui" "D:\PE_TEMP\mount\Windows\system32\en-US\wlgpclnt.dll.mui"
copy "C:\Windows\System32\WcnNetsh.dll" "D:\PE_TEMP\mount\Windows\System32\WcnNetsh.dll"
copy "C:\Windows\System32\en-US\WcnNetsh.dll.mui" "D:\PE_TEMP\mount\Windows\System32\en-US\WcnNetsh.dll.mui"
copy "C:\Windows\System32\whhelper.dll" "D:\PE_TEMP\mount\Windows\System32\whhelper.dll"
copy "C:\Windows\System32\en-US\whhelper.dll.mui" "D:\PE_TEMP\mount\Windows\System32\en-US\whhelper.dll.mui"
# drivers
Write-Host "Copying Drivers"
copy "C:\Windows\System32\Drivers\nwifi.sys" "D:\PE_TEMP\mount\Windows\System32\Drivers\nwifi.sys"
copy "C:\Windows\System32\Drivers\en-US\nwifi.sys.mui" "D:\PE_TEMP\mount\Windows\System32\Drivers\en-US\nwifi.sys.mui"
# net start NativeWifiP failed due to missing signatures - so copy catroot files as found using sysinternals sigcheck -i c:\Windows\System32\drivers\nwifi.sys etc
robocopy /xc /xn /xo /copyall "C:\Windows\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}" "D:\PE_TEMP\mount\Windows\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}"
copy "C:\Windows\System32\Drivers\vwififlt.sys" "D:\PE_TEMP\mount\Windows\System32\Drivers\vwififlt.sys"
copy "C:\Windows\System32\Drivers\vwifimp.sys" "D:\PE_TEMP\mount\Windows\System32\Drivers\vwifimp.sys"
copy "C:\Windows\System32\Drivers\WdiWiFi.sys" "D:\PE_TEMP\mount\Windows\System32\Drivers\WdiWiFi.sys"
copy "C:\Windows\Inf\netnwifi.inf" "D:\PE_TEMP\mount\Windows\Inf\netnwifi.inf"
Add-WindowsDriver -Path "D:\PE_TEMP\mount" -Driver "C:\Windows\Inf\netnwifi.inf"
copy "C:\Windows\Inf\netvwififlt.inf" "D:\PE_TEMP\mount\Windows\Inf\netvwififlt.inf"
Add-WindowsDriver -Path "D:\PE_TEMP\mount" -Driver "C:\Windows\Inf\netvwififlt.inf"
copy "C:\Windows\Inf\netvwifimp.inf" "D:\PE_TEMP\mount\Windows\Inf\netvwifimp.inf"
Add-WindowsDriver -Path "D:\PE_TEMP\mount" -Driver "C:\Windows\Inf\netvwifimp.inf"
# http://www.msfn.org/board/topic/162453-winpe-40-enable-wireless-support/
copy "C:\Windows\Inf\netvwifibus.inf" "D:\PE_TEMP\mount\Windows\Inf\netvwifibus.inf"
copy "C:\Windows\System32\Drivers\vwifibus.sys" "D:\PE_TEMP\mount\Windows\System32\Drivers\vwifibus.sys"
copy "C:\Windows\System32\Drivers\en-US\vwifibus.sys.mui" "D:\PE_TEMP\mount\Windows\System32\Drivers\en-US\vwifibus.sys.mui"
copy "C:\Windows\System32\Drivers\vwifibus.sys" "D:\PE_TEMP\mount\Windows\Inf\vwifibus.sys"
# Dism fails if vwifibus.sys is not added to C:\Windows\INF
copy "C:\Windows\System32\Drivers\vwifibus.sys" "C:\Windows\Inf\vwifibus.sys"
Add-WindowsDriver -Path "D:\PE_TEMP\mount" -Driver "C:\Windows\Inf\netvwifibus.inf"
# L2Schemas - copy any missing files
Write-Host "Copy L2Schemas"
robocopy /xc /xn /xo /copyall "C:\Windows\L2Schemas" "D:\PE_TEMP\mount\Windows\L2Schemas"
# Registry Changes
Write-Host "Registry Changes"
reg load HKLM\WinPE_SYSTEM D:\PE_TEMP\mount\windows\system32\config\SYSTEM
reg load HKLM\WinPE_SOFTWARE D:\PE_TEMP\mount\windows\system32\config\SOFTWARE
$RegKey="HKLM\WinPE_SOFTWARE\Microsoft\NetSh"
reg add $RegKey /v wlancfg /t REG_SZ /d wlancfg.dll /f
$RegKey="HKLM\WinPE_SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost"
reg add $RegKey /v LocalSystemNetworkRestricted /t REG_MULTI_SZ /d Netman\0hidserv\0svsvc\0dot3svc\0wlansvc /f
# wlansvc
reg add HKLM\WinPE_SOFTWARE\Microsoft\WlanSvc\bmr /ve
$RegKey="HKLM\WinPE_SOFTWARE\Microsoft\WlanSvc\PowerProfiles\ClassAC"
reg add $RegKey /v PowerIdle /t REG_DWORD /d 15 # numbers are decimal
reg add $RegKey /v PowerTail /t REG_DWORD /d 280
reg add $RegKey /v PowerTxRx /t REG_DWORD /d 400
reg add $RegKey /v TailDuration /t REG_DWORD /d 300
$RegKey="HKLM\WinPE_SOFTWARE\Microsoft\WlanSvc\PowerProfiles\ClassB"
reg add $RegKey /v PowerIdle /t REG_DWORD /d 15
reg add $RegKey /v PowerTail /t REG_DWORD /d 280
reg add $RegKey /v PowerTxRx /t REG_DWORD /d 400
reg add $RegKey /v TailDuration /t REG_DWORD /d 300
$RegKey="HKLM\WinPE_SOFTWARE\Microsoft\WlanSvc\PowerProfiles\ClassG"
reg add $RegKey /v PowerIdle /t REG_DWORD /d 15
reg add $RegKey /v PowerTail /t REG_DWORD /d 280
reg add $RegKey /v PowerTxRx /t REG_DWORD /d 400
reg add $RegKey /v TailDuration /t REG_DWORD /d 300
$RegKey="HKLM\WinPE_SOFTWARE\Microsoft\WlanSvc\PowerProfiles\ClassN"
reg add $RegKey /v PowerIdle /t REG_DWORD /d 15
reg add $RegKey /v PowerTail /t REG_DWORD /d 280
reg add $RegKey /v PowerTxRx /t REG_DWORD /d 400
reg add $RegKey /v TailDuration /t REG_DWORD /d 300
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc"
reg add $RegKey /v DisplayName /d "@%SystemRoot%\System32\wlansvc.dll,-257"
reg add $RegKey /v ErrorControl /t REG_DWORD /d 1
reg add $RegKey /v Group /d TDI
reg add $RegKey /v ImagePath /t REG_EXPAND_SZ /d "%SystemRoot%\system32\svchost.exe -k LocalSystemNetworkRestricted"
reg add $RegKey /v Start /t REG_DWORD /d 2 # (automatic start) in clean install system this is 3(manual start)
reg add $RegKey /v Type /t REG_DWORD /d 32
reg add $RegKey /v Description /d "@%SystemRoot%\System32\wlansvc.dll,-258"
# Remove the Windows Connection Manager (wcmsvc) service dependany
reg add $RegKey /v DependOnService /t REG_MULTI_SZ /d nativewifip\0RpcSs\0Ndisuio
reg add $RegKey /v ObjectName /d LocalSystem
reg add $RegKey /v ServiceSidType /t REG_DWORD /d 1
reg add $RegKey /v RequiredPrivileges /t REG_MULTI_SZ /d "SeChangeNotifyPrivilege\0SeImpersonatePrivilege\0SeAuditPrivilege\0SeTcbPrivilege\0SeDebugPrivilege"
reg add $RegKey /v FailureActions /t REG_BINARY /d 805101000000000000000000030000001400000001000000c0d4010001000000e09304000000000000000000
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters"
reg add $RegKey /v ServiceDll /t REG_EXPAND_SZ /d "%SystemRoot%\System32\wlansvc.dll"
reg add $RegKey /v ServiceDllUnloadOnStop /t REG_DWORD /d 1
reg add $RegKey /v ServiceMain /d WlanSvcMain
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\ComInterfaceProviders"
reg add $RegKey /v IHNetIcsSettings /d "{46C166AA-3108-11D4-9348-00C04F8EEB71}"
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\EapolKeyIpAddress"
reg add $RegKey /v LocalAddress /d "192.168.173.1"
reg add $RegKey /v PrefixLength /t REG_DWORD /d 24
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\OEM\SystemCapabilities"
reg add $RegKey /ve #***************** no value
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\OneXAuthenticator"
reg add $RegKey /ve /t REG_EXPAND_SZ /d "%SystemRoot%\System32\WcnEapAuthProxy.dll"
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\VendorSpecificIEProviders\02166b50-0459-44d9-9ec1-073431b7d9c9"
reg add $RegKey /v Path /t REG_EXPAND_SZ /d "%SYSTEMROOT%\System32\TetheringIeProvider.dll"
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\VendorSpecificIEProviders\4D50EE01-EEE0-4E5D-9A41-2F5F32044192"
reg add $RegKey /v Path /t REG_EXPAND_SZ /d "%SYSTEMROOT%\System32\WlanSvc.dll"
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\VendorSpecificIEProviders\B7D94B4D-5DB1-4E70-B5C3-DD003EEEBE66"
reg add $RegKey /v Path /t REG_EXPAND_SZ /d "%SYSTEMROOT%\System32\WiFiDisplay.dll"
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Parameters\WFDProvPlugin"
reg add $RegKey /ve /t REG_EXPAND_SZ /d "%SystemRoot%\System32\wfdprov.dll"
reg add $RegKey /v DllEntryPoint /d WFDProvGetInfo
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Security"
reg add $RegKey /v Security /t REG_BINARY /d 0100048098000000a40000000000000014000000020084000500000000001400fd01020001010000000000051200000000001800ff010f0001020000000000052000000020020000000014008d010200010100000000000504000000000014008d01020001010000000000050600000000002800700000000106000000000005500000002e25d9e85a67cd58c504f3dc32c0cb09ab704571010100000000000512000000010100000000000512000000
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\VirtualizationManager"
reg add $RegKey /v WindowsPushNotificationPlatformClsid /d "0C9281F9-6DA1-4006-8729-DE6E6B61581C"
# Native Wifi Filter (dependancy of wlansvc)
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\NativeWifiP"
reg add $RegKey /v DisplayName /d "@%SystemRoot%\System32\drivers\nwifi.sys,-101"
reg add $RegKey /v ErrorControl /t REG_DWORD /d 1
reg add $RegKey /v Group /d NDIS
reg add $RegKey /v ImagePath /t REG_EXPAND_SZ /d "system32\DRIVERS\nwifi.sys"
reg add $RegKey /v Start /t REG_DWORD /d 3
reg add $RegKey /v Type /t REG_DWORD /d 1
# vwififlt
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\vwififlt"
reg add $RegKey /v DisplayName /d "@%SystemRoot%\System32\drivers\vwififlt.sys,-259"
reg add $RegKey /v ErrorControl /t REG_DWORD /d 1
reg add $RegKey /v Group /d NDIS
reg add $RegKey /v ImagePath /t REG_EXPAND_SZ /d "System32\drivers\vwififlt.sys"
reg add $RegKey /v Start /t REG_DWORD /d 1
reg add $RegKey /v Type /t REG_DWORD /d 1
reg add $RegKey /v Description /d "@%SystemRoot%\System32\drivers\vwififlt.sys,-260"
reg add $RegKey /v NdisMajorVersion /t REG_DWORD /d 6
reg add $RegKey /v NdisMinorVersion /t REG_DWORD /d 50
reg add $RegKey /v DriverMajorVersion /t REG_DWORD /d 1
reg add $RegKey /v DriverMinorVersion /t REG_DWORD /d 0
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\vwififlt\Parameters"
reg add $RegKey /v DefaultFilterSettings /t REG_DWORD /d 1
# vwifimp not in core image (not required)
# WdiWifi
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\wdiwifi"
reg add $RegKey /v DisplayName /d "WDI Driver Framework"
reg add $RegKey /v ErrorControl /t REG_DWORD /d 1
reg add $RegKey /v ImagePath /t REG_EXPAND_SZ /d "system32\DRIVERS\wdiwifi.sys"
reg add $RegKey /v Start /t REG_DWORD /d 3
reg add $RegKey /v Type /t REG_DWORD /d 1
# legacy WiFi adapter - recommended by http://pcloadletter.co.uk/2011/12/03/windows-pe-builder-script-for-waik-including-wifi-support/
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\Enum\Root\LEGACY_WLANSVC"
reg add $RegKey /v NextInstance /t REG_DWORD /d 1 # numbers are decimal
reg add $RegKey\0000 /v Service /t REG_SZ /d Wlansvc
reg add $RegKey\0000 /v Legacy /t REG_DWORD /d 1
reg add $RegKey\0000 /v ConfigFlags /t REG_DWORD /d 0
reg add $RegKey\0000 /v Class /t REG_SZ /d LegacyDriver
reg add $RegKey\0000 /v ClassGUID /t REG_SZ /d "{8ECC055D-047F-11D1-A537-0000F8753ED1}"
reg add $RegKey\0000 /v DeviceDesc /t REG_SZ /d "@%SystemRoot%\System32\wlansvc.dll,-257"
$RegKey="HKLM\WinPE_SYSTEM\ControlSet001\services\WlanSvc\Enum"
reg add $RegKey /v 0 /t REG_SZ /d "Root\LEGACY_WLANSVC\0000"
reg add $RegKey /v Count /t REG_DWORD /d 1
reg add $RegKey /v NextInstance /t REG_DWORD /d 1
reg unload HKLM\WinPE_SYSTEM
reg unload HKLM\WinPE_SOFTWARE
# Windows Connection Manager - Wcmsvc ** Not required and removed as dependancy **
# Startup Wifi
Write-Host "Startup Changes"
Add-Content "D:\PE_TEMP\mount\Windows\System32\Startnet.cmd" "netcfg -l %SystemRoot%\Inf\netnwifi.inf -c s -i MS_NativeWifiP"
Add-Content "D:\PE_TEMP\mount\Windows\System32\Startnet.cmd" "netcfg -l %SystemRoot%\Inf\netvwififlt.inf -c s -i ms_vwifi"
Add-Content "D:\PE_TEMP\mount\Windows\System32\Startnet.cmd" "net start dot3svc"
Add-Content "D:\PE_TEMP\mount\Windows\System32\Startnet.cmd" "net start wlansvc"
Write-Host "Finished"