funny, I could swear that part was not in his message when I read it the first time... but then I've been working for about 29 hours straight and I could miss a bus parked in my office... big_smile

Anyway, I had actually read that faq. But it didn't really cover what I was trying to understand... basically I use MDT and the MDT behavior for mass storage drivers is incorrect. Eitherway it is a little more dynamic and complex than making a mass storage pack as it uses driver injection to scan the hardware and determine what drivers it needs... that said, it has a bug... its not the first, wont be the last. I was gonna fix it, but I needed to understand how it is that the txtsetup.oem is processed... the documentation is hard to find and inconsistent as it applies to using them with unattend. (This became clear when OverFlow (Jeff?) explained that the documented behavior is for pulling the drivers off of a floppy, but once they are pulled off my xp/2k3 setup they all get dumped in the same folder causing the problem I was trying to get around.

Anyway, gonna read through it again after I get some sleep tonight... even though it seems more applicable to DriverPacks, it still looks to have some very good info...

Probably what I will do is modify the script so that if it comes up with driver sets with overlap it will at least prompt for intervention. Since it is injecting only what are required it should be pretty seldom. the biggest problem was just a complete lack of any kind of logic in the script for determining which mass storage drivers are injected... I think they figured, just inject all that have any sort of match at all and let the windows setup sort them out?

Anyway, I'm gettin learned... I am indeed... one day I may even know something about something...

Thanks for all of the info and patience...

Richard

aaaahhhhhh, see I knew you was smart guys over heres... now it actually makes some sense. Thanks for the clarification...

I agree with that... I don't mind them updating drivers to include more devices. its when they start off with a few devices, add a few, add a few, add a few, add a few, ehhh, those first ones are pretty old, drop those out and add a few, drop more old ones out add a few... now you have three versions with overlap. you cant get rid of the new ones, cuz they added support for new hardware. and you cant get rid of old ones, cuz it still has old hardware ids that aren't in the new ones...

But I still hold MS partially accountable... even if there were none with the same file names, and even if there were none with overlapping hardware ids, I would prefer not to put all of my mass storage drivers drivers all in one big folder together and on top of that the documentation implies that it is supported...

http://msdn.microsoft.com/en-us/library/ms794587.aspx

http://msdn.microsoft.com/en-us/library/ms794606.aspx

Microsoft wrote:

[Disks]
diskN = "description",tagfile,directory

directory
Specifies the directory on the disk where the installation files are located. The directory must be specified as a full path from the root and must not specify a drive.

cdob wrote:

You can't resolve name conflicts by different path

"Well, thats not the answer I wanted, but at least it confirms that I am not crazy..." wait... retract that statement... try again... "...but at least it confirms I wasn't crazy, with regard to this." Thanks for the feedback...

cdob wrote:

Rename files and edit *.inf. Unfortunately *.inf is not signed anymore.

hahaha, been down that road for regular pnp drivers... for a time I strongly considered making it a policy to modify all drivers... I don't mind having unsigned drivers, my problem is that once they are unsigned, if you have a lesser match that is still signed, pnp will choose that one... Solution... make them all unsigned and only put the hardware ids you want to support with a given driver, in its inf file... forced selection... also = management nighmare. I was gonna write some code to automatically import, compare, modify, etc all new drivers... but before I could I left the company I was with and had to start over.

cdob wrote:

Well, you ask at driverpacks forum: or use driverpacks solution.

lol, how did I know that was coming... but it's certainly a valid suggestion and one I will give thought too.

OverFlow wrote:

If it were easy, everyone would be doing it...

hah, yeah, well, even if it were hard but worked according to the MS documentation more people would be doing it... I've got to hand it to you guys, you definitely found the Achilles’s heel of MS Deployment, it is getting better with MDT, SCCM and driver injection, but they still had a long way to go with getting XP/Server '03 type installs where they need to be, and they have all but abandon it now for the Vista/Server '08 wim based installation methods.

OverFlow wrote:

perhaps you can help us

I might surprise you... wait a minute... I've got enough work to do already... sorry, no free time for, stuff like sleep, so no time for new projects...
big_smile

But seriously... Thanks for the help,
Richard

I know this is really rather off topic as I do not use DriverPacks. But you folks seems to really know your stuff, and I couldn't think of anywhere I was more likely to get a good answer.

I am trying to understand some things about txtsetup.oem files when used by XP SP2 and and Server 2003 SP2. In particular I am trying to use a variation of the [MassStorageDrivers] and [OEMBootFiles] in the unattend.txt file. In a normal single mass storage driver case, you would do something like the following:

Unattend.txt

...
[MassStorageDrivers]
    "Description from Disks section of txtsetup.oem file"="OEM"

[OEMBootFiles]
    TxtSetup.oem
    Driver.sys
    Driver.inf
    Driver.cat
...

TxtSetup.oem

[Disks]
d1   = "Description matching entry in Unattend.txt", \disk1, \

[Defaults]
scsi = UNIQUE_ID

[scsi]
UNIQUE_ID = "Description matching entry in Unattend.txt"

[Files.scsi.UNIQUE_ID] 
driver = d1, Driver.sys, driverkey
inf = d1,Driver.inf
catalog = d1,Driver.cat

[Config.driverkey]
value = subkey, name, type, data

[HardwareIds.scsi.UNIQUE_ID]
id = "PCI\VEN_0000&DEV_1111","driverkey"
...

I am trying to use the same method but also combine multiple mass storage drivers with some possible file name conflicts. What would seem to make sense, does not seem to work, which is:

Unattend.txt

...
[MassStorageDrivers]
    "Description 1 from Disks section of txtsetup.oem file"="OEM"
    "Description 2 from Disks section of txtsetup.oem file"="OEM"
    "Description 3 from Disks section of txtsetup.oem file"="OEM"

[OEMBootFiles]
    TxtSetup.oem
    disk1\Driver.sys
    disk1\Driver.inf
    disk1\Driver.cat
    disk2\Driver.sys
    disk2\Driver.inf
    disk2\Driver.cat
    disk3\Driver.sys
    disk3\Driver.inf
    disk3\Driver.cat
...

TxtSetup.oem

[Disks]
disk1 = "Description 1 matching entry in Unattend.txt", \disk1\disk1.tag, \disk1
disk2 = "Description 2 matching entry in Unattend.txt", \disk2\disk2.tag, \disk2
disk3 = "Description 3 matching entry in Unattend.txt", \disk3\disk3.tag, \disk3

[Defaults]
scsi = UNIQUE_ID1

[scsi]
UNIQUE_ID1 = "Description 1 matching entry in Unattend.txt"
UNIQUE_ID2 = "Description 2 matching entry in Unattend.txt"
UNIQUE_ID3 = "Description 3 matching entry in Unattend.txt"

[Files.scsi.UNIQUE_ID1] 
driver = disk1, Driver.sys, driverkey1
inf = disk1,Driver.inf
catalog = disk1,Driver.cat

[Files.scsi.UNIQUE_ID2] 
driver = disk2, Driver.sys, driverkey2
inf = disk2,Driver.inf
catalog = disk2,Driver.cat

[Files.scsi.UNIQUE_ID3] 
driver = disk3, Driver.sys, driverkey3
inf = disk3,Driver.inf
catalog = disk3,Driver.cat

[Config.driverkey1]
value = subkey, name, type, data

[Config.driverkey2]
value = subkey, name, type, data

[Config.driverkey3]
value = subkey, name, type, data

[HardwareIds.scsi.UNIQUE_ID1]
id = "PCI\VEN_0000&DEV_1111","driverkey1"

[HardwareIds.scsi.UNIQUE_ID2]
id = "PCI\VEN_0000&DEV_2222","driverkey2"

[HardwareIds.scsi.UNIQUE_ID3]
id = "PCI\VEN_1111&DEV_3333","driverkey3"
...

Is my thinking wrong? is there a way to do this? can anyone help me understand the txtsetup.oem and disk paths?

Any Help would be greatly appreciated,
Richard