Step 2: Install Client on the test system(s)

After you install the Windows Hardware Lab Kit (Windows HLK) on the test server, you are ready to add test systems to the environment. You must install the Windows HLK Client software on each test system. The Windows HLK Client software is stored on the Windows HLK test server. Please review the Test System prerequisites prior to install to ensure successful client installation.

If you are testing software, be sure to install the product on the test system first, and then install the Windows HLK Client software. Note: Having Secure Boot enabled on a test computer can cause the HLK Client installation to fail. Additionally, there are a set of HLK tests which require Secure Boot to be disabled in order to run properly. Please see System Testing with Secure Boot for the complete list of tests.

Warning

Changing the computer name of the test system after the Windows HLK Client software has been installed is unsupported.

To install the Windows HLK Client on x86/x64 test systems for all HLK releases and on ARM64 test systems for HLK releases Windows 24H2 or later

  1. On the test system, browse to the following location:

    \\<ControllerName>\HLKInstall\Client\Setup.cmd.
    (Replace <ControllerName> with the name of the test server.)

    If the following software is not already installed, it is installed during this step:

    • .NET Framework 4 (Client Profile and Extended)
    • Application Verifier
    • Windows Driver Test Framework (WDTF)
    • Windows Performance Toolkit (WPT).

    If the test system has a Server Core installation, then you should install the HLK client using the silent install option:

    \\<HLKController>\HLKInstall\Client\Setup.cmd /qn ICFAGREE=Yes
    
  2. The Windows Hardware Lab Kit Client Setup wizard appears. To start the wizard, choose Next.

  3. On the Internet Connection Firewall Agreement page, select Yes I will allow a port to be opened, and then choose Next.

    Note

    If the Internet Connection Firewall Agreement page doesn't appear, either Windows Firewall isn't installed, or another software firewall or hardware firewall is installed on the computer. If another firewall is installed, you must manually open TCP port 1771 to proceed with installation. Refer to the instructions that came with your firewall product to manually open a TCP port. If you continue without opening port 1771, the installation may fail or the Client software might not function properly.

HLK Client requests port to be opened, which is required for installation

  1. On ARM64 architectures only the Emulation Architecture page appears, select the correct architecture to run emulation tests under and then choose Next.

Only ARM64 HLK Clients are required to choose the emulation architecture

  1. When the Ready to Install page appears, select Install.

HLK Client is ready to install, select "Install" to begin Page with progress bar to show HLK Client's installation progress

  1. Click Finish to exit the wizard.

    Tip

    When installation completes, confirm its success by going to the Control Panel and choosing Uninstall a program. Windows Hardware Lab Kit Client should appear in the program list.

Setup wizard has completed installation, wizard can be exited now.

  1. Repeat steps 1-5 for each test system.

To install the Windows HLK Client on Arm64 test systems on HLK releases before Windows 24H2

Testing for Arm64 Desktop requires the client systems to be set up differently than x86/x64, using a different install path. There are 3 distinct test modes for Arm64: Native mode, x86 on Arm64 mode, and x64 on Arm64 mode.

To create a complete submission package:

  1. Test each mode supported by the scenario area under test in a separate project.
  2. Create a separate package for each project.
  3. Merge the packages to create a single submission package.

Testing can be done with dedicated machines for each mode, or a single machine used to test all modes. Note that using a single machine requires the HLK client to be uninstalled and reinstalled to change modes before testing the next one using the directions below.

Mode Test Scenario Area Min OS
Native All Windows 10, version 1709
Windows Server 2019
x86 on Arm64 System
Bitlocker
Camera
Graphics
Print/Scan
TPM
Wireless Lan
Windows 10, version 1709
Windows Server 2019
x64 on Arm64 System
Graphics
Windows 11

Warning

If you are testing software, be sure to install the product on the test system first, and then install the HLK Client software.

Note

It is recommended that the client system is on A/C (plugged in) and that the Power Options are set to Never for Put the computer to sleep settings.

To install the Windows HLK Client

  1. Enable test signing

    On the test system, enable test signing by running the following from a command prompt with administrator privileges and rebooting:

    bcdedit /set testsigning on
    
  2. Enable test client to access the install share on the test controller

    On the test system, run net use to access the controller install share

    net use \\<HLKController>\hlkinstall\coresystemclient /u:(user on controller)
    
  3. Install HLK test Client In Native Mode:

    On the test system, run the following from a command prompt with administrator privileges -- do not run in a PowerShell environment:

    \\<controllername>\HLKInstall\CoreSystemClient\InstallWTTClient ICFAGREE:1
    

    In x86 on Arm64 Mode:

    On the test system, run the following from a command prompt with administrator privileges -- do not run in a PowerShell environment:

    \\<controllername>\HLKInstall\CoreSystemClient\InstallWTTClient ICFAGREE:1 UseEmulationForTestContent
    
    HLK for Windows 11 syntax:
    \\<controllername>\HLKInstall\CoreSystemClient\InstallWTTClient ICFAGREE:1 UseX86EmulationForTestContent
    

    In x64 on Arm64 Mode:

    On the test system, run the following from a command prompt with administrator privileges -- do not run in a PowerShell environment:

    \\<controllername>\HLKInstall\CoreSystemClient\InstallWTTClient ICFAGREE:1 UseX64EmulationForTestContent
    

    (Replace ControllerName with the name of the test server.)

Warning

For Secure Boot ARM64 Testing, avoid rebooting machine immediately after HLK Client setup; see For Secure Boot ARM64 Testing below.

Note

The HLK client install script must be run from a network path, and cannot be run from the mapped drive letter.

Note

The following errors when InstallWTTClient is executed can be safely ignored: '[SC] OpenService FAILED 1060:' and 'ERROR: The process “Wex.Service.exe” not found.'

Note

When using the ARM64 MSI client installer supported on Windows 24H2 and later, the emulation architecture can be set from the command line.

Default/X64 emulation mode: 
\\<HLKController>\HLKInstall\Client\Setup.cmd /qn ICFAGREE=Yes

X86 emulation mode:
\\<HLKController>\HLKInstall\Client\Setup.cmd /qn ICFAGREE=Yes EMULATIONARCHITECTURE=x86

Note

InstallWTTClient will open a firewall port to communicate with the HLK Controller. If another firewall is installed, you may need to manually open TCP port 1771 to proceed with installation. Refer to the instructions that came with your firewall product to manually open a TCP port. If you continue without opening port 1771, the installation may fail or the Client software might not function properly.

For example, if you specify net use \\<HLKController>\hlkinstall /u:(user on controller), you must still run the install file using the full network path, for example \\<HLKController>\hlkinstall\CoreSystemClient\InstallWttClient.cmd.

Do not run G:\CoreSystemClient\InstallWttClient.cmd (if drive G: was previously mapped to \\<HLKController>\hlkinstall.

Tip

When installation completes, HLKSvc.exe should be in the list of running processes. Note that there will not be an entry for the HLK Client in Add/Remove programs.

  1. Repeat install steps for each test system.

Tip

When the HLK Client is reinstalled on the same system, the system may not initialize to the ready state when a reset is invoked. If this occurs:

  1. Start HLK Manager
  2. From the 'Explorers' menu option select the 'Job Monitor' item.
  3. Navigate to the machine.
  4. Right click on the system and select the 'View Errors' context menu option.
  5. If and only if there is a message that the public key does not match the public key of the resource stored in the DB, right-click on the system and select the 'Change Status..Unsafe' context menu option.
  6. Verify that the machine goes into the ready state.

For Secure Boot ARM64 Testing

For Secure Boot ARM64 Testing, avoid rebooting the machine immediately after HLK Client setup. Instead, follow these steps:

  1. After the HLK Client setup completes, clear all Secure Boot variables

  2. Open an elevated command prompt and set the following registries:

    reg add HKLM\System\CurrentControlSet\Services\iospy\StartOverride /v 0 /t REG_DWORD /d 3 /f
    reg add HKLM\System\CurrentControlSet\Services\MSDMFilt\StartOverride /v 0 /t REG_DWORD /d 3 /f
    

Secure Boot ARM64 Troubleshooting

If you have rebooted the machine and are seeing an Automatic Repair screen like below, follow these steps to recover: Automatic Repair screen when Secure Boot is enabled after ARM64 HLK Client Setup

  1. Boot into the BIOS and disable Secure Boot.

  2. Boot into Windows and run the following commands in an elevated command prompt:

    reg add HKLM\System\CurrentControlSet\Services\iospy\StartOverride /v 0 /t REG_DWORD /d 3 /f
    reg add HKLM\System\CurrentControlSet\Services\MSDMFilt\StartOverride /v 0 /t REG_DWORD /d 3 /f
    
  3. Reboot the machine and enable Secure Boot in the BIOS.