ENGL Driver Manager 7 has the ability to deploy drivers to any task-based OS deployment solution.

In this article we will look at using Driver Manager to replace the Hardware Independent Imaging (HII) component of Ivanti Endpoint Manager (2017 and later). Driver Manager handles critical (mass storage and network) INF drivers, standard INF drivers and application package (setup.exe) type drivers.


Installation

Follow the documentation Driver Manager 7 documentation to install and configure Driver Manager onto a suitable machine.

Gather hardware inventory

Hardware inventory can be exported from Ivanti Endpoint Manager for all of your existing machines by following this procedure.

Configure Ivanti Endpoint Manager

Ivanti Endpoint Manager uses Hardware Independent Imaging (HII) to inject INF files during the Post-OS installation and System configuration sections of a provisioning template.


Configuring a provisioning template to use ENGL Driver Installer to replace HII

We will use the inject script action to deliver a script file to the local hard disk. It will use template variables to configure site specific values. We will run Driver Installer (DriverInstaller.exe) in the post OS installation section to install critical INF drivers, then again in the System Configuration section to install all other drivers.

Import Install script

Create a text file and paste in the following script sample.

REM Detect environment from registry key
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" | FIND /I "Preinstallation" > NUL && SET "OS_ENV=WinPE" || SET "OS_ENV=WinProd"
REM Find production OS drive in WinPE
IF "%%OS_ENV%%"=="WinPE" (FOR %%%%D IN (C D E F G H I J K L M N O P Q R S T U V W Y Z) DO (
    IF EXIST "%%%%D:\Windows\Panther" (
      SET "PROD_DRV=%%%%D:"
    )
  )
) ELSE (
  SET PROD_DRV="%%SystemDrive%%")
  REM Detect processor architecture, used to copy the correct DriverInstaller.exe
  REG QUERY "HKEY_LOCAL_MACHINE\Hardware\Description\System\CentralProcessor\0" | FIND /I "x86" > NUL && SET "ENGL_PLATFORM=x86" || SET "ENGL_PLATFORM=x64"
  REM Create ENGL folder
  SET ENGL_HOME="%%PROD_DRV%%\ENGL"
  mkdir %%ENGL_HOME%%
  REM Connect to network share, copy DriverInstaller, disconnect network share
  net use l: %ENGL_DMQSSRV_SHARE% /user:%ENGL_DMQS_USERNAME% %ENGL_DMQS_PWD%
  xcopy l:\DriverManager\x86\DriverInstaller.exe %%ENGL_HOME%%\x86\
  xcopy l:\DriverManager\x64\DriverInstaller.exe %%ENGL_HOME%%\x64\
  copy l:\DriverManager\%%ENGL_PLATFORM%%\DriverInstaller.exe %%ENGL_HOME%%
  net use l: /delete

  REM Run Driver Installer
  %%ENGL_HOME%%\%%ENGL_PLATFORM%%\DriverInstaller.exe /dmqs:"%ENGL_DMQSSRV_DNS%" /port:%ENGL_DMQSSRV_PORT% /drivershare:"%ENGL_DMQSSRV_SHARE%" /log:%%ENGL_HOME%%\driverinstaller.log /z

)

Note: Variables with a single % will be replaced with the provisioning template variables.

  1. Open Ivanti Management Console.

  2. Select Tools  > Provisioning > OS Provisioning.


  3. When the Operating system provisioning dialog opens, select Tools > Install Scripts.


    The Install Scripts dialog will launch.

  4. Browse for the file created earlier.

  5. Set the Script name to “ENGL Driver Installer”.

  6. Set the Target operating system to Windows.

  7. Check Insert variables into script.



  8. Then click on the Import button to import the script.

  9. Once the script is listed under Install scripts the dialog can be closed.

 

Configure a provisioning template

Identify the HII provisioning template you wish to modify to use ENGL Driver Manager / DriverInstaller.

  1. Right click on the template then select Clone.

  2. Right click on the new template then select Edit.

    The template will load.

 

Template variables

Review the Template variable tab in case any template specific variables have been reset in the cloning process.

Add in the following template variables:

Search value

Replace value

Type

Description

ENGL_DMQSSRV_SHARE

\\DMQS1.engllab.local\engl

String

Path to driver files created when integrating in Driver Manager

ENGL_DMQS_USERNAME

DMQSUSER

String

User name for connecting to ENGL_DMQSSRV_SHARE

ENGL_DMQS_PWD

*********

Sensitive data

Password for connecting to  ENGL_DMQSSRV_SHARE

ENGL_DMQSSRV_DNS

DMQS1.engllab.local

String

DNS name / IP address of machine running the ENGL DMQS service

ENGL_DMQSSRV_PORT

4060

String

Port DMQS service is listening on

 Note:  These values will be identified when installing / configuring Driver Manager.
 

 

Update the Action list

  1. Select Action List.

  2. Select Post-OS installation. Note the position of the Hardware Independent Imaging action then delete the action.

  3. Click Add.

  4. Change the type to “Create Directory”.

  5. Change Name to "Create C:\ENGL Directory".


  6. Click OK.

  7. Move the Create C:\ENGL directory to the location Hardware Independent Imaging was located.

  8. Click on “Create C:\ENGL directory”.

  9. Set Path of the directory to "C:\ENGL".


  10. Click Apply.

  11. Click Add.

  12. Change the type to “Inject Script”.

  13. Change the name to “Inject DI.cmd script”.

  14. Click OK.

  15. Move the “Inject DI.cmd Script” entry to below the “Create C:\ENGL directory” entry.

  16. Select “ENGL Driver Installer” from the script name drop down list.

  17. Set the Target file name to "C:\engl\DI.cmd"

  18. Click Apply.

  19. Click Add.

  20. Change the type to “Execute file”.

  21. Change the name to “Run ENGL DriverInstaller”.

  22. Click OK.

  23. Move the “Run ENGL DriverInstaller” action to below the “Inject DI.cmd script” action.

  24. Update the target path and file name to "C:\ENGL\DI.cmd".

  25. Set working directory to "C:\ENGL".


The Post-OS installation section should now appear as follows:


Driver Installer will now install critical drivers post OS installation but some drivers will not yet be installed. These are standard INF based drivers and setup.exe based drivers.

To install these drivers we need to add a “Run ENGL DriverInstaller” action into the System configuration section of the action list. The steps are exactly as before but this needs to happen after the Install LANDESK Agent action.


Click OK to save the template.

 

Testing

The template can now be deployed to a machine. The machine will build as normal but instead of using the built in HII functionality it will use the ENGL Driver Manager tools and services to ensure that all the appropriate drivers are installed correctly.

 

About ENGL Driver Manager

ENGL Driver Manager simplifies the discovery and deployment of Windows device drivers with any task-based OS deployment solution. For more information check out the Driver Manager product page