none
Splitting one INF file into two separate INF files RRS feed

  • Question

  • I'm using the win32 port of libusb (http://sourceforge.net/apps/trac/libusb-win32/wiki) for a USB hardware device. The INF file (see below) includes info for both x86 and x64 platforms.

    Because of a limitation in the installer that I'm using, I need to split the INF file into two separate INF files.  One INF to install on x86 and one INF to install on x64.  Here is the INF file (this is generated by a utility that ships with the win32 port of libusb):

    [Strings]
    DeviceName = "Bootloader"
    VendorName = "None"
    SourceName = "Bootloader Install Disk"
    DeviceID = "VID_7070&PID_1234"
    DeviceGUID = "{DDFE6861-4D56-4897-9618-F8211C502129}"

    [Version]
    Signature = "$Windows NT$"
    Class = "libusb-win32 devices"
    ClassGuid = {EB781AAF-9C70-4523-A5DF-642A87ECA567}
    Provider = "libusb-win32"
    CatalogFile = Bootloader.cat
    DriverVer = 01/17/2012, 1.2.6.0

    [ClassInstall32]
    Addreg = libusb_class_install_add_reg

    [libusb_class_install_add_reg]
    HKR,,,0,"libusb-win32 devices"
    HKR,,Icon,,-20

    [Manufacturer]
    %VendorName% = Devices, NT, NTAMD64

    ;--------------------------------------------------------------------------
    ; libusb-win32 files
    ;--------------------------------------------------------------------------

    [SourceDisksNames]
    1 = %SourceName%

    [SourceDisksFiles.x86]
    libusb0.sys = 1,x86
    libusb0_x86.dll = 1,x86

    [SourceDisksFiles.amd64]
    libusb0.sys = 1,amd64
    libusb0.dll = 1,amd64
    libusb0_x86.dll = 1,x86

    [DestinationDirs]
    libusb_files_sys = 10,system32\drivers
    libusb_files_dll = 10,system32
    libusb_files_dll_wow64 = 10,syswow64
    libusb_files_dll_x86 = 10,system32

    [libusb_files_sys]
    libusb0.sys

    [libusb_files_dll]
    libusb0.dll

    [libusb_files_dll_x86]
    libusb0.dll, libusb0_x86.dll

    [libusb_files_dll_wow64]
    libusb0.dll, libusb0_x86.dll

    [LIBUSB_WIN32_DEV.NT]
    CopyFiles = libusb_files_sys, libusb_files_dll_x86

    [LIBUSB_WIN32_DEV.NTAMD64]
    CopyFiles = libusb_files_sys, libusb_files_dll, libusb_files_dll_wow64

    [LIBUSB_WIN32_DEV.NT.HW]
    DelReg = libusb_del_reg_hw
    AddReg = libusb_add_reg_hw

    [LIBUSB_WIN32_DEV.NTAMD64.HW]
    DelReg = libusb_del_reg_hw
    AddReg = libusb_add_reg_hw

    [LIBUSB_WIN32_DEV.NT.Services]
    AddService = libusb0, 0x00000002, libusb_add_service

    [LIBUSB_WIN32_DEV.NTAMD64.Services]
    AddService = libusb0, 0x00000002, libusb_add_service

    ; Older versions of this .inf file installed filter drivers. They are not
    ; needed any more and must be removed
    [libusb_del_reg_hw]
    HKR,,LowerFilters
    HKR,,UpperFilters

    ; libusb-win32 device properties
    [libusb_add_reg_hw]
    HKR,,SurpriseRemovalOK,0x00010001,1

    ;--------------------------------------------------------------------------

    [libusb_add_service]
    DisplayName = "libusb-win32 - Kernel Driver 01/17/2012 1.2.6.0"
    ServiceType = 1
    StartType = 3
    ErrorControl = 0
    ServiceBinary = %12%\libusb0.sys

    [Devices]
    %DeviceName% = LIBUSB_WIN32_DEV, USB\%DeviceID%

    [Devices.NT]
    %DeviceName% = LIBUSB_WIN32_DEV.NT, USB\%DeviceID%

    [Devices.NTAMD64]
    %DeviceName% = LIBUSB_WIN32_DEV.NTAMD64, USB\%DeviceID%

    Can anyone help me to understand which sections of this INF are only required for x64?

    Tuesday, August 13, 2013 12:53 PM

All replies

  • What limitation in the installer are you encountering?  Having a combined INF is common, even if the installer only runs for one version.


    Don Burn Windows Filesystem and Driver Consulting Website: http://www.windrvr.com Blog: http://msmvps.com/blogs/WinDrvr

    Tuesday, August 13, 2013 1:43 PM
  • Hi,

    As said you can use same INF but the "AMD64" are mandatory for the x64 and also all the sections which are not with "x86" in their names.

    Alon

    Tuesday, August 13, 2013 3:01 PM