Topic: OT: Requesting help to understand txtsetup.oem files

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

Re: OT: Requesting help to understand txtsetup.oem files

RichardBenfield wrote:

combine multiple mass storage drivers with some possible file name conflicts. What would seem to make sense, does not seem to work, which is:

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

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

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

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

I've the same experience: path does not work.
Windows setup remember driver name only, path is ignored.

Out of experience:
Windows setup load file driver.sys to RAM. If HardwareID match, then driver.sys is activated and used.
Next Windows setup load file driver.sys to RAM. Previous file name driver.sys is ower written. If HardwareID match, then driver.sys is activated and used.
Last loaded driver.sys wins.
That way a possible false HardwareID is connected to driver.sys.

You can't resolve name conflicts by different path.

Rename files and edit *.inf. Unfortunately *.inf is not signed anymore.
Or use different unattend.txt.

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

Re: OT: Requesting help to understand txtsetup.oem files

Well you have discovered the reason we are so popular wink

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

there is not a set of instructions that will work in every case...
we use a variety of solutions to address identical names, all with varied degrees of adverse side effects
do some searches here for SI3112 or Nvidia to see what i mean. (the battle for Silicon Hill has been raging for years.)

perhaps you can help us tongue wink

PS we don't use Unattend.txt or TxtSetup.oem but there are similarities to txtsetup.sif and winnt.sif
you may get some ideas/help by looking at the mass storage tutorial (how to make a mass storage pack)
http://forum.driverpacks.net/viewtopic.php?id=2461
{ why is it people  NEVER  bother to read the FAQ before posting?... } grrr

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: OT: Requesting help to understand txtsetup.oem files

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

Re: OT: Requesting help to understand txtsetup.oem files

well the problem is not MS this time (hard to belive eh...)

it is th fact that hardware providers have not figured out how to correctly use HWID's
they allow more than one piece of hardware to share a HWID with another (very bad)
they also use the same filenames for "new" drivers that no longer support the old hardware ID's
(if you are going to drop support forr a HWID then you must change all the file names too - silly OEM's, Tricks are for kids)

well on second thought it is partialy MS fault for giving out WHQL to drivers that conflict with thier own older versions
not a very thorough testing team at MS to allow such glareing errors to get past them time and time again. wink

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: OT: Requesting help to understand txtsetup.oem files

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.

Re: OT: Requesting help to understand txtsetup.oem files

that refers to folders on the source disk not on the destination machine.

IE the problems occur after the copy to the dest not at their locations on the source disk

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: OT: Requesting help to understand txtsetup.oem files

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

Re: OT: Requesting help to understand txtsetup.oem files

i thougth i saw a little light bulb come on... wink

the 'AHA' moment... ding...

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: OT: Requesting help to understand txtsetup.oem files

hooray, yet another written part for the Univarsity.

the 'how do I customise' FAQ was one of the things Jeff wanted you to read, I guess.
(see signature for link.)

The answer was 42?
Kind regards, Jaak.

Re: OT: Requesting help to understand txtsetup.oem files

I mislaid a link.
Some months ago somebody explained how the copy process in txtsetup.oem or INF files designates where the file will end up.
(similarly, the files also tell where the driver is located.. one can edit an INF to make for shorter path. When the INF is already edited, it can be beneficial. Nowadays a folder without INF does not add extra path characters to a Method 1, but it used to do this before Jeff fixed that.)

Anyway, I am looking for the post about something about missing a comma or using another number in the file (in which a driver copy/load process had an error).

The answer was 42?
Kind regards, Jaak.

Re: OT: Requesting help to understand txtsetup.oem files

yay i fixed something!  lol

INIU classes in mass storage 101 starting daily! tongue

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: OT: Requesting help to understand txtsetup.oem files

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

Last edited by RichardBenfield (2008-08-14 07:33:51)

Re: OT: Requesting help to understand txtsetup.oem files

As a mod or as an admin we can edit our posts without it sying "last edited by" NAME TIME
your probably not loosing your mind wink

yes i am Jeff and am the current coder for DriverPacks base and i'm an oldtimer wink

the mass storage ini is the key to what you are trying to do renameing like named files so they can coexist.
the base program uses the TAG name in teh ini to choose what name to use when they are injected...
it is VERY IMPORTANT to note this only applies to TEXTMODE setup. the PNP drivers must be as they are proveded from the OEM. or they will fail with a 7B BSOD after the reboot into the WinPE phase of setup. so you need two copys of the drivers one for textmode (injeced into the I386 folder and txtsetup.sif) and an original copy that is in the oempnp search path.

taht should get you started..

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: OT: Requesting help to understand txtsetup.oem files

I am Jaak, and I cannot code two bytes.
<< wanders off, wondering about 'what the hyll is MTD'...>>

DriverPack MassStorage mass INI is filtered.
For one OS, it shall not have a duplicate HWID between the delims.

IF you find dupes in INI for same OS. YELL°.
In the ideal world, it shall not have any generic HWID. If you find a generic HWID conflict, YELL°.

enter WHQL.
it HAS generics.
it has dupe subs.
it has versions.
it has a txtsetup.OEM with five generics, and 218 subs in an INF it calls.

in sound, a INF can call an INI and that INI calls another INI.
in mass, an INF does not call a console (not that I know of). (In graphicks and sound, it often will.)
(DriverPacks is fun to work on)

The answer was 42?
Kind regards, Jaak.

Re: OT: Requesting help to understand txtsetup.oem files

RichardBenfield
did any of that stuff I wrote make sense?

This is a serious question.
DriverPacks univarsity gets seeded by user questions.
(I hear elementerary school kids in the flanders learn to write proper english. I write my way of Flemish.)

Richard?
Ask for a comment by JakeLD.

I am sure he can whittle down his work on DriverPack MassStorage in a flash. (probably has a couple dozen rollouts sets saved)
He was taught to add drivers per OS.
He knows what syspreppers do.
He was shown our ways and he showed us his ways.

For a customised txtmode.
first do trimming and maybe do load order.
We will ask that you show us how you were adding your own, AND WHY you killed those you killed.

We see people telling us this version/vs/that vs/other, and sometime, they tell us the modi.
in graphs. 70 Hz is not applicable to many widescreen. The driver defaults to 70.

in mass, we like to not allow a non-popular generic being boss.

Last edited by Jaak (2008-08-14 11:33:41)

The answer was 42?
Kind regards, Jaak.

Re: OT: Requesting help to understand txtsetup.oem files

there is no I in INIU (or was that there's no i in team) wink LOL

as a comunity we are at our strongest
good questions lead to good answers, and that leads to documentation.

the wealth of knowledge here is tremendous... but is not complete, and you (all of you reading) are a part of that wealth.

INIU is all about the YOU (er "U") !

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.