Dark underground of INF-files

Hello All,

I am trying to install FSD and the FSD recognizer using applied INF-file on Windows 2000 SP 4 and
Windows XP SP1.

I am using the following command line to install:
RUNDLL32.EXE SETUPAPI.DLL, InstallHinfSection DefaultInstall 132 X:\InCDFat\InCDFat.INF
I am using the following command line to uninstall:
RUNDLL32.EXE SETUPAPI.DLL, InstallHinfSection DefaultUninstall 132 G:\InCDFat\InCDFat.INF

I have several problems with the INF-file:

  1. SetupApi.dll can’t install services with ServiceType set to SERVICE_FILE_SYSTEM_RECOGNIZER. It
    is very annoying.
    That is why I am using a workaround inside the AddReg section for the FSD Recognizer.
  2. SetupApi.dll can’t uninstall the FSD Recognizer either with workaround or without it.
    That is why I am using a nasty workaround with DelReg directive inside DefaultUninstall section.

Now the questions:
Where was I wrong?
If I was right, then is this a known problem with the FSD Recognizer installation?
Will it be fixed in next Service Pack of OS?

------------------ Content of INF-file -------------------------------
;
; InCDFat.inf
;
; Copyright 1995-2004 Ahead Software AG and its licensors.
; All Rights Reserved.
;

[Version]
signature = “$Windows NT$”
Provider = %Ahead%
DriverVer = 07/01/2004,4.2.13.0

[DestinationDirs]
DefaultDestDir = 12
InCDFat.Files = 12

[SourceDisksNames]
1 = %Disk1%,

[SourceDisksFiles]
InCDFat.sys = 1
InCDFatRec.sys = 1

[DefaultInstall.nt]
CopyFiles = InCDFat.Files

[DefaultInstall.nt.Services]
AddService = InCDFat,InCDFat.Service
AddService = InCDFatRec,InCDFatRec.Service

[DefaultUninstall.nt]
DelFiles = InCDFat.Files
DelReg = InCDFatRec.DelRegistry

[DefaultUninstall.nt.Services]
DelService = InCDFat

;
; Services Section
;

[InCDFat.Service]
DisplayName = %InCDFatServiceDesc%
ServiceBinary = %12%\InCDFat.sys ;%windir%\system32\drivers\InCDFat.sys
ServiceType = %SERVICE_FILE_SYSTEM_DRIVER%
StartType = %SERVICE_DEMAND_START%
ErrorControl = %SERVICE_ERROR_IGNORE%
AddReg = InCDFat.AddRegistry

[InCDFatRec.Service]
DisplayName = %InCDFatRecServiceDesc%
ServiceBinary = %12%\InCDFatRec.sys
ServiceType = %SERVICE_FILE_SYSTEM_DRIVER%
StartType = %SERVICE_SYSTEM_START%
ErrorControl = %SERVICE_ERROR_IGNORE%
AddReg = InCDFatRec.AddRegistry

[InCDFat.AddRegistry]
HKR,“Group”,%REG_SZ%,“File system”

[InCDFatRec.AddRegistry]
HKR,“Group”,%REG_SZ%,“File system”
HKR,“Type”,%REG_DWORD%,%SERVICE_FILE_SYSTEM_RECOGNIZER%

[InCDFatRec.DelRegistry]
HKLM,“SYSTEM\CurrentControlSet\Services\InCDFatRec”

[InCDFat.Files]
InCDFat.sys,0x00001004
InCDFatRec.sys,0x00001004

[Strings]
Ahead = “Ahead Software AG”
InCDFatServiceDesc = “Ahead InCDFat File System Driver”
InCDFatRecServiceDesc = “Ahead InCDFat FSD Recognizer”
Disk1 = “Ahead InCDFat Source Media”
; Start Type
SERVICE_BOOT_START = 0x0
SERVICE_SYSTEM_START = 0x1
SERVICE_AUTO_START = 0x2
SERVICE_DEMAND_START = 0x3
SERVICE_DISABLED = 0x4
; Service Type
SERVICE_KERNEL_DRIVER = 0x1
SERVICE_FILE_SYSTEM_DRIVER = 0x2
SERVICE_FILE_SYSTEM_RECOGNIZER = 0x8
; Error Control
SERVICE_ERROR_IGNORE = 0x0
SERVICE_ERROR_NORMAL = 0x1
SERVICE_ERROR_SEVERE = 0x2
SERVICE_ERROR_CRITICAL = 0x3
; Registry types
REG_SZ = 0x00000000
REG_MULTI_SZ = 0x00010000
REG_EXPAND_SZ = 0x00020000
REG_DWORD = 0x00010001
; Delete service options
SPSVCINST_STOPSERVICE = 0x00000200


Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!
http://promotions.yahoo.com/new_mail