Jump to content

Problem with drivers with same filenames


Recommended Posts

Posted

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.


Posted

BTS driverpacks solve this issue by having each driver in a separate subfolder.

not sure how nlite's integration works because i've never used it, but perhaps that will give you an idea.

Posted

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

Posted

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)

++

Posted

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

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...