Discussion:
[WiX-users] Driver without an INF file
Rob Hamflett
2010-11-30 14:51:54 UTC
Permalink
Has anyone installed a kernel-mode driver that doesn't have an INF file? I know not all drivers
have them since there's documentation from Micrsoft about signing drivers that don't. Specifically
I'm trying to install a build of the dokan file system driver. The instructions from dokan are to:
Copy dokan.sys under \Windows\system32\drivers
Copy dokan.dll under \Windows\system32
Place dokanctl.exe and mounter.exe in the same folder.
Run dokanctl.exe /i a. This means register the driver and the service to Windows.

I managed to get the service installed and running easily enough, but it looks like difx needs to
have an inf file. Any pointers would be useful.

Thanks,
Rob
Rob Hamflett
2011-01-20 11:58:55 UTC
Permalink
So I finally got this working and thought I'd best post the reply here for other people having the
same issue. Specifically, the dirver I'm installing is a file system driver. Here's my INF file:

------ START OF FILE ---------------------------------------------------------------
; Copyright (C) My Company

[Version]
Signature = "$WINDOWS NT$"
Provider = %CompanyName%
DriverVer = 01/19/2011,1.0.0.0
DriverPackageType = FileSystem
DriverPackageDisplayName = %DriverDesc%

[Dokan_dll_file]
dokan.dll

[Dokan_sys_file]
dokan.sys

[DestinationDirs]
Dokan_sys_file = 12 ; system32
Dokan_dll_file = 11 ; system32\drivers

[SourceDisksNames]
1 = %SrcDisk1%


[SourceDisksFiles]
dokan.dll = 1
dokan.sys = 1

[DefaultInstall]
CopyFiles = Dokan_sys_file, Dokan_dll_file

[DefaultInstall.Services]
AddService = %ServiceName%,,driver.Service

[driver.Service]
DisplayName = %ServiceName%
Description = %ServiceDesc%
ServiceBinary = %12%\dokan.sys
ServiceType = 2 ; SERVICE_FILE_SYSTEM_DRIVER
StartType = 1 ; SERVICE_SYSTEM_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
LoadOrderGroup = "File System"

[DefaultUninstall]
DelFiles = Dokan_dll_file, Dokan_sys_file

[DefaultUninstall.Services]
DelService = %ServiceName%,0x200

[Strings]
CompanyName = "My Company Ltd"
SrcDisk1 = "Source Disk 1"
ServiceName = "dokan"
ServiceDesc = "<Service description here>"
DriverDesc = "<Driver description here>"
------ END OF FILE ---------------------------------------------------------------

I added the following as a child element of the component containing the .inf file.
<difx:Driver AddRemovePrograms="no" ForceInstall="no" PlugAndPlayPrompt="no" Legacy="yes" />

Hope that helps someone,
Rob

Loading...