How to add Third-Party SCSI Array controller drivers for Windows 2000 Server



I finally got this to work! I did not find much out there, so I
wanted to post this. This is how to get past that annoying message
"d:\nt\private\ntos\boot\setup\oemdisk.c error 21 line 1044". If
there are any mistakes or additions to this please add to it. :0)

1. Download the drivers for your SCSI controller

2. Make the folder structure on your RIS image:
I386 (already exists)

3. Place the DLL file for the SCSI controller into the OEMDIR

4. Place the other driver files into the TEXTMODE directory along
with the txtsetup.oem file

5. Edit the ristndrd.sif file to include or add:
DriverSigningPolicy = Ignore
OemPreinstall = yes

"Smart Array 5i, 532, 5312 Controllers" = "OEM"


"On your computer when you run an unattended installation using a
small computer system interface (SCSI) controller with a
manufacturer's drives, you may receive the following error message:

Illegal or missing file types specified in section
This behavior may occur because the line in the Txtsetup.oem file
under the [] heading is not a supported file type for a
SCSI. For example:
dll = (driver).dll

To resolve this behavior, you must remove the line in the Txtsetup.oem
file. The dynamic-link library (DLL) file may be copied to the correct
location of the installation by placing the DLL file in the
I386\$Oem$\$$\OEMDIR folder.

(OEMDIR would be the destination folder where the file would normally
be located, if installed to a running operating system. For example,
INF files are normally found in the %SystemRoot%\INF folder, etc. The
correct OEMDIR destination can be found by searching the INF file used
to install the device or driver.)"

Here is what my txtsetup.oem file looks like. Note that the only
thing that was edited was the removal of the "dll = d1,cpqcissm.dll"
entry under the actual controller (B178).
d1 = "Smart Array 5x and 6x Driver Diskette",\TXTSETUP.OEM,\

SCSI = B060

B060 = "Smart Array 5300 Controller"
B178 = "Smart Array 5i, 532, 5312 Controllers"
0046 = "Smart Array 641, 642, 6400, 6400EM Controllers"

driver = d1,cpqcissm.sys,cpqcissm
dll = d1,cpqcissm.dll
inf = d1,cpqcissm.inf
catalog = d1,

driver = d1,cpqcissm.sys,cpqcissm
inf = d1,cpqcissm.inf
catalog = d1,

driver = d1,cpqcissm.sys,cpqcissm
dll = d1,cpqcissm.dll
inf = d1,cpqcissm.inf
catalog = d1,

value = "",tag,REG_DWORD,103
value = Parameters\PnpInterface,5,REG_DWORD,1
value = Parameters\Device,NumberOfRequests,REG_DWORD,80

id = "PCI\VEN_0E11&DEV_B060","cpqcissm"

id = "PCI\VEN_0E11&DEV_B178","cpqcissm"

id = "PCI\VEN_0E11&DEV_0046","cpqcissm"

For information on "How to add a NIC driver to a RIS image" see:;en-us;246184

HINT: you can copy over any folder or files to the server's "C:\"
that you want to by placing them into the RIS image folder
I386 (already there)


Nov 29, 2011
Reaction score
Thanks a lot...

I know this post is very old but this is the first helpful information I found after lots of frustrating tries that allowed me to install Windows XP on a HP Proliant server.

I had the SCSI drivers from HP (for Win 2000/2003 server) but couldn't get it work, winXP install ending up with the error "cannot copy the cpqcissm.sys file" at the end (loading the third party driver using F6 + S worked OK but install process wasn't able to 'reload' it at the end even if it was on the A: disk). I re-organized the files (, cpqcissm.inf, cpqcissm.sys and txtsetup.oem) on the disk the way it is explained (adding the ristndrd.sif in the root) and it worked !

Thanks, you made my day.

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question