Jump to content

Problem with drivers with same filenames


OCedHrt

Recommended Posts

I have 3 different graphics drivers that I integrate, of which each have a different copy of "oemdspif.dll".

Now, 2 is doable, as you can have one be oemdspif.dll while the other be oemdspif.dl_ and they will be entered into TXTSETUP.SIF as 2 different entries.

However, the starting from 3 files of the same name, there is a problem with 2 ways to resolve it:

1. Change the name and update the relevant inf's. (Breaks driver signing)

2. Change the name and then edit TXTSETUP.SIF after integration to rename back to original name.

Is there a way to have nLite perform the 2nd solution automatically? Maybe instead of keeping the original names on the cd, driver files can be named 00000001, 00000002, etc. (or just the duplicate ones) and then renamed with TXTSETUP.SIF.

Link to comment
Share on other sites


The drivers with same filenames are in different folders, however the problem is not quite that simple. 2 files with the same name will only have one valid entry under TXTSETUP.SIF.

For example, say I have two files:

001\conflict.dll

002\conflict.dll

In TXTSETUP.SIF, there will be 2 dirid's, one for 001 and one for 002, so you will potentially end up with two entries like this:

conflict.dll = 1983,,,,,,,1983,0,0

conflict.dll = 1984,,,,,,,1984,0,0

However, for all intents and purposes, this is just one entry, the first. Meaning, the second conflict.dll will never be copied during the text portion of setup. My solution is this:

file0001.dll = 1983,,,,,,,1983,0,0,conflict.dll

file0002.dll = 1984,,,,,,,1984,0,0,conflict.dll

and have instead:

001\file0001.dll

002\file0002.dll

Link to comment
Share on other sites

You don't need a so powerful hammer to break an egg !

Driver binaries should go in CAB files referenced in drvindex.inf (also contains the list of included files), txtsetup.sif & dosnet.inf. You can have as many different CABs as you need (by default, there is driver.cab, sp1.cab, sp2.cab, etc...). Then these CABs should get copied to %systemroot%\Driver Cache\i386... In theory, windows will find the binaries correctly (except if the .inf uses a tag file)

++

Link to comment
Share on other sites

Hmm..I always wondered about that. So I put all the files other than the inf/cat files into cabs and list their contents in drvindex.inf. Then I just have nLite integrate the inf/cats? Since they would need to be copied to C:\Windows\inf

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...