Inf2Cat error
Hi,
My plan is to develope an MSI driver package including an INF-file, a SYS-file, a BIN-file and some DLLs. Since I think about using DPInst for realisation I first need a signed CAT-file. The CAT-file is supposed to be created by INF2CAT, which I run using the command:
I corrected some syntax errors, which were indicated, so the parsing works fine:
Subsequently I get the following error message though:
The result is an empty catalog file.
So, I checked my system32 folder for that dll and found it. Furthermore I had a look if the dll has the requested function entry point using the tool DEPENDENCY WALKER and found it. Finally I downloaded the latest version of that dll and replaced the one on my system. But I had no success.
Does anyone know what to do now? Or has a proposition how I could build my driver package alternatively. Anyway, I didn't think about a proper way to sign the CAT-file yet, since I first have to solve the mentioned problem.
I also post my INF-file (in which I had to change some file names and IDs, but that doesn't mean to be a problem I guess), just in case that there's the rub.
Thanks a lot in advance.
sample.inf:
My plan is to develope an MSI driver package including an INF-file, a SYS-file, a BIN-file and some DLLs. Since I think about using DPInst for realisation I first need a signed CAT-file. The CAT-file is supposed to be created by INF2CAT, which I run using the command:
Inf2Cat /driver:c\driverfolder /os:XP_x86
I corrected some syntax errors, which were indicated, so the parsing works fine:
........................................
Signibility test complete.
Error:
None
Warnings:
None
Subsequently I get the following error message though:
Unable to find an entry point named 'CryptSIPRetrieveSubjectGuidForCatalogFile' in DLL 'crypt32.dll'.
Signibility test failed.
The result is an empty catalog file.
So, I checked my system32 folder for that dll and found it. Furthermore I had a look if the dll has the requested function entry point using the tool DEPENDENCY WALKER and found it. Finally I downloaded the latest version of that dll and replaced the one on my system. But I had no success.
Does anyone know what to do now? Or has a proposition how I could build my driver package alternatively. Anyway, I didn't think about a proper way to sign the CAT-file yet, since I first have to solve the mentioned problem.
I also post my INF-file (in which I had to change some file names and IDs, but that doesn't mean to be a problem I guess), just in case that there's the rub.
Thanks a lot in advance.
sample.inf:
[Version]
Signature=$CHICAGO$
Class=Media
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=%MFGNAME%
CatalogFile.ntx86=sample_ntx86.cat
DriverVer=01/11/2007, 5.00.2136.1
[Manufacturer]
%MFGNAME%=DeviceList
[DestinationDirs]
DefaultDestDir=11
DriverCopyFiles=10,System32\Drivers
DllCopyFiles=11 ; System Dir
[SourceDisksFiles]
drv02.sys=1
expl1.dll=1
expl2.dll=1
expl3.dll=1
ex_conf.dat=1
wever.bin=1
[SourceDisksNames]
1=%INSTDISK%,,,.\.
[DeviceList]
%DESCRIPTION_GRABBER% = DriverInstall,PCI\VEN_1111&DEV_0002
%DESCRIPTION_GRABBER% = DriverInstall,PCI\VEN_2222&DEV_0002
%DESCRIPTION_GRABBER% = DriverInstall,PCI\VEN_3333&DEV_0001
;------------------------------------------------------------------------------
; Windows 2000 Sections
;------------------------------------------------------------------------------
[DriverInstall.NT]
CopyFiles=DriverCopyFiles, DllCopyFiles
[DllCopyFiles]
expl1.dll,,,2
expl2.dll,,,2
expl3.dll,,,2
ex_conf.dat,,,2
wever.bin,,,2
[DriverCopyFiles]
drv02.sys,,,2
[DriverInstall.NT.Services]
AddService=DRV02,2,DriverService
[DriverService]
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%10%\system32\drivers\drv02.sys
[DriverInstall.nt.hw]
AddReg=DriverHwAddReg
[DriverHwAddReg]
HKR,,FriendlyName,,%FRIENDLYNAME%
HKLM,%SERVICE_PARAMETERS%,DebugLevel,0x00010001,0
HKLM,%SERVICE_PARAMETERS%,EnableIRQs,0x00010001,1
HKLM,%SERVICE_PARAMETERS%,EnableIRQsLate,0x00010001,1
;------------------------------------------------------------------------------
; Windows 98 Sections
;------------------------------------------------------------------------------
[DriverInstall]
AddReg=DriverAddReg
CopyFiles=DriverCopyFiles, DllCopyFiles
; TODO Add a LogConfig command and section if this is a legacy device
[DriverAddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,drv02.sys
HKR,Parameters,DebugLevel,0x00010001,0
HKR,Parameters,EnableIRQsLate,0x00010001,1
HKR,Parameters,EnableIRQs,0x00010001,1
[DriverInstall.HW]
AddReg=DriverHwAddReg
;------------------------------------------------------------------------------
; String Definitions
;------------------------------------------------------------------------------
[Strings]
SERVICE_PARAMETERS="System\CurrentControlSet\Services\drv02\Parameters"
MFGNAME="MyCompany"
INSTDISK="MyCompany Installation Disc"
DESCRIPTION_GRABBER="MyCompany FG01 Frame Grabber"
FRIENDLYNAME="FG01 PCI Device"
0 Comments
[ + ] Show comments
Answers (13)
Please log in to answer
Posted by:
AngelD
17 years ago
Posted by:
germanguy
17 years ago
I just changed some file names and descriptions, I didn't change any pathes.
But in fact, the files are on a CD-ROM. I just noticed I might need a tag file specified in the [SourceDisksNames] section, something like
Can you confirm that?
Unfortunately I couldn't find out what exactly is a .TAG file and what has to be included.
The only thing I read is, it can be an empty file with a unique name. So I created one named
but that didn't work neither.
Which next steps are possible to perform?
But in fact, the files are on a CD-ROM. I just noticed I might need a tag file specified in the [SourceDisksNames] section, something like
[SourceDisksNames]
1=%INSTDISK%,file.tag,,.\.
Can you confirm that?
Unfortunately I couldn't find out what exactly is a .TAG file and what has to be included.
The only thing I read is, it can be an empty file with a unique name. So I created one named
uniqueX.tag
, placed it inside the installation folder and modified the .INF file: [SourceDisksNames]
1=%INSTDISK%,uniqueX.tag,,.\.
but that didn't work neither.
Which next steps are possible to perform?
Posted by:
AngelD
17 years ago
Posted by:
germanguy
17 years ago
Posted by:
AngelD
17 years ago
Posted by:
germanguy
17 years ago
Posted by:
germanguy
17 years ago
Posted by:
AngelD
17 years ago
So I took a quick look and tested to verify the XRD-FGmod.inf file and everything passed on my side.
command:
INF2CAT /driver:C:\driverfolder /os:XP_X86 /nocat /verbose
Try to change
CatalogFile.ntx86=PKI_FG_ntx86.cat
to
CatalogFile=XRD-FGmod.cat
Generate the XRD-FGmod.cat file
command:
INF2CAT /driver:C:\driverfolder /os:XP_X86 /verbose
When the .CAT file has been created you will need to sign it with a valid certificate.
command:
INF2CAT /driver:C:\driverfolder /os:XP_X86 /nocat /verbose
Try to change
CatalogFile.ntx86=PKI_FG_ntx86.cat
to
CatalogFile=XRD-FGmod.cat
Generate the XRD-FGmod.cat file
command:
INF2CAT /driver:C:\driverfolder /os:XP_X86 /verbose
When the .CAT file has been created you will need to sign it with a valid certificate.
Posted by:
germanguy
17 years ago
I changed the intended line and the .INF file seems to be ok:
INF2CAT /driver:C:\driverfolder /os:XP_X86 /nocat /verbose
But when I try to create the .CAT file I'll get the Error Message, I mentioned in the beginning, and the .CAT file is invalid. There must be something wrong with the environment, I guess.
You have been successful so far? You have a working .CAT file?
INF2CAT /driver:C:\driverfolder /os:XP_X86 /nocat /verbose
But when I try to create the .CAT file I'll get the Error Message, I mentioned in the beginning, and the .CAT file is invalid. There must be something wrong with the environment, I guess.
You have been successful so far? You have a working .CAT file?
Posted by:
germanguy
17 years ago
Posted by:
AngelD
17 years ago
Have a look at http://itninja.com/question/how-do-you-roll-out-new-machines?0873
It explains how to create an authenticode certificate if you do not already have one in your company you could use and to sign the .CAT file with the certificate.
It explains how to create an authenticode certificate if you do not already have one in your company you could use and to sign the .CAT file with the certificate.
Posted by:
germanguy
17 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.