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 below, so something still missing
net start wlansvc gives me "error 1068 - The dependency service or group failed to start"
And the dependency it means I believe is nativewifip - as a net start for that gives "error 577 - windows cannot verify the digital signature for this file..."
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"