Skip to main content
Matrix42 Self-Service Help Center

Driver integration for the operating system installation

If a device requires drivers that are not yet included in Windows, this can be implemented via the additional Matrix42 PreOS package DriverIntegration.


A detailed step-by-step guide for handling drivers is described in the additional document "Matrix42-Driverintegration-for-WinPE-HowTo-EN.pdf".

For the file storage and all path specifications, a maximum path length of 256 characters applies. The following characters ~ " # % & * : < > ? / \ { | } are not allowed in folder, file and path specifications.

The following Matrix42 PreOS packages are used in this context:

  • DiskPartitioning
  • DriverIntegration
  • WindowsInstallation
  • PxeOffAndReboot
  • DomainJoin
  • EmpirumAgentSetup

The DiskPartitioning package deletes the partitions of the first hard disk of the computer and creates the necessary partitions. The partitioning can be configured via the variables of the package.

The DriverIntegration package prepares the Windows system partition so that drivers can be adopted for the computer.

With the WindowsInstallation package, the actual Windows installation is carried out, which then takes the prepared drivers into account.

The deployment with the presented packages is restricted to the first hard disk of the computer.

DriverIntegration Package

The Matrix42 PreOS package DriverIntegration is responsible for the integration of the operating system drivers. Based on the vendor name, model name and operating system type (Windows 7, Windows 10, Windows Server 2016 or Windows Server 2019) of the computer to be loaded, a control file (Drivers.json) is used to determine which driver archive or driver directory is to be used for the operating system installation.

The control file can be found on the Empirum server:


Using the WinPE Driver Assistant, the driver control file (Drivers.json) can be modified.

Identifying the vendor and model

To perform the automated assignment of driver packages correctly, we need the Vendor and Model designation as determined by the Windows Management Instrumentation.

For this purpose, we provide the Matrix42 PreOS Package HardwareInfo, with which you can determine all necessary information to import it into the control file using the Matrix42 Driver Assistant.

Assign only the Matrix42 PreOS Package HardwareInfo and a WinPE based PXE image to the computer. After activating the computer, the computer can be booted and the HardwareInfo package is executed and an ini file is stored in the Mac8 or UUID directory. This ini file contains the information about the recognized vendor name and model name of the computer and can be imported into the driver control file using the WinPE Driver Assistant.

The names for vendor and model are read with the HardwareInfo package by using the Windows Management Instrumentation (WMI) classes at WinPE runtime (gwmi win32_computersystem).

Starting the Matrix42 Driver Assistant

To start the Matrix42 Driver Assistant, the Matrix42WinPEDriverAssistant.exe application must be started in the Empirum\AddOns\WinPEDriverAssistant directory.


Make sure that the user who starts the assistant has enough permissions to open, edit, recreate, and delete the Drivers.json file on the Empirum share. The user should also have the permissions to copy files and folders there.

Creating a Drivers.json file at first startup

The Matrix42 Driver Assistant automatically tries to open the driver control file Drivers.json on the Empirum share at startup. If the driver control file does not exist, an empty driver control file will be created by confirming the following message with Yes.


After creating an empty driver control file, the assistant opens and displays the opened file.

The top entry is the driver control file Drivers.json and its file path.


Importing HardwareInfo package output files

The easiest and safest way to extend the driver control file is to import HardwareInfo PreOS package output files, which the HardwareInfo package automatically creates in the EmpInst$\Wizard\OS\Auto subdirectory of the given client. Identifying the vendor and model descripts how to generate the output file with help of the HardwareInfo package.

This file contains the information about the vendor and the model of the given client.

The import can be started via the Import button.


The file browser opens in the EmpInst$\Wizard\OS\WinPeStatus folder which can be used to open the output file of the HardwareInfo package.


The output file of the HardwareInfo package is in the subfolder of the given client.

You can also use the search function of the file browser to search for the client name. The output file of the HardwareInfo package always contains the client name and domain of the client.

Once the output file has been found and selected, the import can be started via Open. The wizard then gives feedback about which vendor and which model was imported.


After confirmation with OK the new entry is inserted into the control file.


An entry was created for the recognized vendor VMware, Inc. Subordinate an entry for the recognized model VMware7,1 was created.

No driver files or driver directories are currently assigned to the operating systems Windows 7, Windows 10, Windows Server 2016, or Windows Server 2019 of the model entry.

For this reason, the entry is highlighted in light gray and marked with an exclamation mark . This indicates that the entry is not yet valid because there is no driver is specified, or the specified driver is not available on the Empirum share.

Import driver file

Most manufacturers now offer so-called SCCM driver packages. These driver packages usually contain all drivers that have been released by the manufacturer for installation as a driver installation file.

This may or may not necessarily include all device drivers for the hardware model. Often drivers that contain an additional software component are not included in such packages. In this case it is recommended to distribute these as separate software packages on the client. Normally, the scope of the drivers in the SCCM package can be found in the manufacturer's documentation. In most cases, the drivers that are not included are also explicitly listed.

The Matrix42 WinPE based OS deployment currently supports unpacked driver directories as well as compressed archives of type .cab or .zip.

You can also press the driver import   button behind the corresponding operating system to select a driver file or folder to be copied to the Empirum share.

In this case the driver import button of the Windows 10 entry is selected to import a driver for Windows 10 to the model.


A context menu opens, which can be used to decide whether to import a single driver file or a complete driver directory. In this case, a single Zip archive is to be imported, therefore the Import driver file entry should be selected.

The file browser opens, which can be used to select the driver archive.


If the selection is confirmed with Open, the selected driver file is copied to the Empirum share and the Assigned driver value of the model entry is set.


You can now save the changes with the help of the Save button. The confirmation dialog opens.


Confirm the message with Yes, so the change will be saved in the driver control file on the Empirum server.


The confirmation of the successful saving process appears, click OK and this will return you to the Driver Assistant view.

This prepares the control file for the DriverIntegration package and a corresponding driver is stored for the computer type. The deployment can then be performed.


  • Was this article helpful?