Primitive driver INF not installable

Hi,
We’re moving our driver family from EWDK 2017 to 2022.
A single device-less driver is now “primitive”.

  • I made a new INF file according to
    https://learn.microsoft.com/en-us/windows-hardware/drivers/develop/creating-a-primitive-driver

  • It passes inf2cat without warnings.

  • When installing with
    Devicemanager / add legacy device / … / “have disk”
    I get a message (my german->english translation):
    "In the folder there is no compatible software driver for device.
    If there’s a driver in the folder, then assure it for “x64 based Windows system”.

  • However I have the “DefaultInstall.NTamd64” key, see below.

Thanks
Joerg Hoppe, PEAK System Technik GmbH

[Version]
Signature="$WINDOWS NT$"
Provider=%ProviderName%
Class=%DeviceClassName%
ClassGUID={C38C9D86-471E-4d6b-9FB6-78DDA20E3F70}
DriverVer = 06/01/2023,4.4.1.23193
CatalogFile=PCAN_VIRTUAL.cat
DriverPackageDisplayName=%DriverPackageDisplayName%
PnpLockdown=1

[ClassInstall32]
Addreg=Class_AddReg

[Class_AddReg]
HKR,,,0,%DeviceClassName%
HKR,,Icon,,-5

[DestinationDirs]
DefaultDestDir = 12                ; dirid = \Drivers on WinNT platforms

[AllDevices_Service.AddReg]
; This goes to HLM\System\CurrentControlSet\Services\PCAN_VIRTUAL
HKR, "DriverParams", "", 0x00010003, 0

HKR, "Parameters", "BreakOnEntry", 0x00010003, 0
HKR, "Parameters", "FailOnEntry", 0x00010003, 0

; -- Enable KMDF verifier for checked drivers. Overwrite existing values.
HKR, "Parameters\Wdf", "VerifierOn", 0x00010001, 0
HKR, "Parameters\Wdf", "KmdfLibraryVersion", 0x00000000, "1.15"

[DefaultInstall.NTamd64]
CopyFiles=PeakVirtual.NT.Files
Addreg=AllDevices_Service.AddReg

[DefaultInstall.NTamd64.Services]
Addservice = PCAN_VIRTUAL,0x00000002,PeakVirtual.AddService

[PeakVirtual.NT.Files]
PCAN_VIRTUAL.sys

[PeakVirtual.AddService]
DisplayName    = %SvcDesc%
ServiceType    = 1 ; SERVICE_KERNEL_DRIVER
StartType      = 3 ; 0=SERVICE_BOOT_START, 1=SERVICE_SYSTEM_START, 3=SERVICE_DEMAND_START, 4=SERVICE_DISABLED
ErrorControl   = 1 ; SERVICE_ERROR_NORMAL
LoadOrderGroup = Extended Base
ServiceBinary  = %12%\PCAN_VIRTUAL.sys
AddReg         = AllDevices_Service.AddReg

[SourceDisksNames]
1 = %DiskId%,,,""

[SourceDisksFiles]
PCAN_VIRTUAL.sys = 1

[Strings]
DiskId="PCAN-Hardware Installation Disk"
ProviderName="PEAK-System Technik GmbH, Darmstadt, Germany"
MfgName="PEAK-System Technik GmbH"

SvcDesc="PEAK PCAN_VIRTUAL driver for CAN hardware"
DeviceClassName="CAN-Hardware"
DriverPackageDisplayName="PCAN-VIRTUAL

You should be able to install this from Windows Explorer. Right-click on the file and choose “Install”.

1 Like

I did before, it says “Operation sucessful”, but still isn’t responsible.
Solution: Set service start type to “0” = ON BOOT in Services-Registry.
After reboot I can contact my drivers interface … thanks!

However I still don’t see the driver …

  • neither in device manager (“show hidden devices” active)
  • nor with “devcon findall *”
  • nor in services overview (“sc queryex type=service state=all”)
    Which Windows-tool will show my primitive driver?

device manager and devcon both operate on pop devices (and thus the drivers that are installed on them). primitive (“legacy”) drivers. sc query type=driver will show primitive and pop drivers.

pnputil /enum-drivers will show it as well