Support for Wi-Fi network adapters in WinPE
search cancel

Support for Wi-Fi network adapters in WinPE

book

Article ID: 268140

calendar_today

Updated On:

Products

IT Management Suite Deployment Solution

Issue/Introduction

Does Deployment Solution (DS) support WinPE environment to be built with wireless networking support?

Environment

DS 8.6, 8.7

Resolution

Starting with DS 8.6 RU2, it’s possible to enable any WinPE feature from within the Symantec Management Platform console on the Preboot Environment Settings page, which lists all CAB files installed with WinPE.

Note:
There are no Wi-Fi components on the page because Microsoft does not support Wi-Fi in WinPE, as documented in this
KB article "https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-network-drivers-initializing-and-adding-drivers?view=windows-11"As result, there are no Wi-Fi components included in Windows ADK.

However, there is a known workaround that allows a WinPE environment to be built with wireless networking support by:

  • Inserting WinRE.wim and three .DLL files from the Windows installation media (or a pre-installed instance of Windows) into WinRE;
  • Disabling the existing startup script in WinRE; and
  • Adding a custom startup script that imports a wireless network profile and connects to it

To prepare WinRE to support wireless networking:

  1. Copy WinRE.wim from the installed OS or from installation media (inside Install.wim). The default location is \Windows\System32\Recovery\
  2. Copy dmcmnutils.dll, mdmpostprocessevaluator.dll and mdmregistration.dll from \Windows\System32\
  3. Mount WinRE.wim using DISM.exe, copy the three files into \Windows\System32\ folder of the mounted image, remove \windows\system32\winpeshl.ini, and then save the image
    See https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-mount-and-customize?view=windows-11#mount-the-windows-pe-boot-image
  4. Optionally, remove unnecessary features from WinRE.wim to reduce its size

The script below is an example of one that can be used to automate the modifications to WinRE.wim. While the script is configurable, it expects WinRE.wim to be placed in the same folder as the script and for the three DLLs to be placed in the “NewFiles" subfolder by default.

See attached Script.bat.

 

The next steps are to prepare the wireless networking profile and custom startup script.

The following command line can be used to export the wireless networking profile to an XML file:

netsh wlan export profile <SSID> folder=<path> key=clear


The ‘key=clear’ part is required.  It stores the password in the exported wireless networking profile in an unencrypted form.

Here is an example of a custom startup script that can be inserted into WinPE.  It will import the wireless networking profile and connect to it.

See attached prestart.bat.


If you don’t want to use an XML file with an unencrypted Wi-Fi network password, you can create your own custom startup script that prompts the user to enter the Wi-Fi network name and corresponding password.

To make the script and the XML available in Preboot:

  • Copy the XML file to \Deployment\BDC\bootwiz\oem\DS\winpe\x64\Base\
  • Copy the ‘prestart.bat’ script to \Deployment\BDC\bootwiz\oem\DS\winpe\x64\Base\prestart\

Assuming that WinRE.wim was taken from Windows 11, the next step is to copy the updated WinRE.wim file to  \Deployment\BDC\waik_winpe11\Tools\PETools\amd64\Winpe.wim   

In order to avoid potentially compatibility issues, matching versions of WinRE and WinPE should be used (e.g., replace WinPE.wim from the Windows 11 22H2 ADK with WinRE.wim from Windows 11 22H2.

The last step to prepare the Preboot environment is to add the Wi-Fi drivers.  The Wi-Fi drivers must be imported on both the DeployAnywhere and Preboot tabs of the Driver Database Management page to enable Wi-Fi to be used in both Preboot and Production after deploying a Ghost image.

A few additional things to consider:

  • The OS being deployed may not have the selected wireless networking profile configured. As a result, the corresponding job could fail by timeout.
  • Use a custom Run Script task to copy prestart.bat script and the XML file from Preboot to Production. Place this task between the Imaging task (or ‘Install Windows OS’ task) and ‘Boot To – Production’ task.
  • The copied script needs to be executed after system reboot.
  • The following approaches can be used to run custom scripts during system setup:
  • RunSynchronousCommand
  • cmd

Attachments

prestart_1687210700403.bat get_app
script_1687210585014.bat get_app