Right now it should run on any Windows version that has the .Net Framework 3.5. I have tested it both on XP and Windows 7 x64.
Sorry no screenshot for now but I'll take some time to add some real documentation soon.

I've been enjoying the DrivePacks for years now so it's time I contribute with something some of you might find useful:

I have written a small utility that works very much like BGInfo to display system information on the Windows wallpaper. You can find it on Codeplex at: http://wpinfo.codeplex.com

Of course I wrote it for my own needs so it doesn't have all of the BGInfo features; instead it's capable to pick a different wallpaper according to the screen resolution and it can overlay images on top of that wallpaper. Plus it's open source so you can just add whatever feature you want!

Jaak,

The issues I've seen with the Sigmatel driver and others were generally for computers from about 2003 to 2005. What happens is the inf file references a couple of Windows' own inf files which are used to identify some files from the Windows multimedia subsystem that the driver needs. Somehow when using dpinst or even my own tool that used DIFxAPI, those windows files were not found and the driver's installation failed half way through. Retrying dpinst would fix the problem, but it never worked for me during the finalization of my unattended install.

I wrote a tool some months ago that fixed the problem by copying those files to the driver's preinstallation directory but I had a slight accident with my partition and lost all the source. Now I pretty much finished rewriting its core and improving it but it needs to go through some cleanup. After that I'll have no problems giving you guys a copy of the source. God knows the driverpacks saved me hours so it's only fair.

DPInst is actually limited and fails with some drivers (notably Sigmatel ones). If a driver installation crashes, dpinst will crash as well and the remaining drivers won't be installed. I used it for some time and had to give up on it and come up with my own solution.

I wrote a tool in c# to better fit my needs without dpinst problems. It's still rough around the edges but I was able to start testing it with my unattended cd/dvd in the past few days and it's behaving well. What it does is:
- enumerate all the devices reported by Windows
- parse all of the inf files found in a folder and its subfolders and match them to the compatible devices based on hardware id
- install the drivers for each device starting with the most recent.
- repeat one more time in case a driver created a new virtual device

I'm not ready to publish the source code yet but if anyone's interested in testing it, drop me an email and I can send you the binaries. It's only compatible with 32bits systems right now. I run it with XP SP2 but it might work with Vista as well.

The newer drivers didn't help. After spending quite a few hours on the issue it seems like my problem is coming from .inf files that include wmaudio.inf and other files from c:\windows\inf

It seems that dpinst.exe is unable to find them when running from RunOnceEx but it has no problem if ran manually afterwards.

I'm trying to figure out a workaround right now...

Hi,

I'm currently testing my unattended XP install and I have 4 systems, using 3 different integrated audio chips from sigmatel and soundmax.

The drivers all get installed using dpinst.exe from a repository on the network, during runonceex. Everything else gets properly detected (video, wlan, etc...)

But for the sound drivers, somehow they are detected and installed but not completely. Once the computers are ready and I look in the device manager, the driver appears fine. But if I look at its properties and look at the detail of the mixer device for example, the property page says that driver does not work...

However, if I delete the sound device, re-scan for pnp devices, and when it gets detected I point to the driver's folder, it installs perfectly fine and works. Also all kind of software devices get detected.

There's something wried going on but I can't figure out what...

Has anyone else had that problem?

Hi again.

Sample XML file:

<?xml version="1.0"?>
<dpInst>
    <quietInstall />
    <scanHardware />
    <language code="0x0409">
        <dpinstTitle>Drivers Installer</dpinstTitle>
    </language>
    <group>
        <package path="D\W\Z\4\bcmwl5a.inf" />
        <package path="D\3\IN\A\Apfiltr.inf" />
        <suppressAddRemovePrograms />
    </group>
</dpInst>

Call it dpinst.xml and put it in the same folder as dpinst.exe with your drivers in the appropriate subfolders.


Sample code for a C# command-line tool that will create the above xml file and fill it with the list of .inf files found in subfolders:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace BuildDrvList
{
    class Program
    {
        static void Main(string[] args)
        {
            StreamWriter outputFile = new StreamWriter("dpinst.xml");

            outputFile.WriteLine("<?xml version=\"1.0\"?>");
            outputFile.WriteLine("<dpInst>");
            outputFile.WriteLine("    <quietInstall />");
            outputFile.WriteLine("    <scanHardware />");
            outputFile.WriteLine("    <language code=\"0x0409\">");
            outputFile.WriteLine("        <dpinstTitle>Drivers Installer</dpinstTitle>");
            outputFile.WriteLine("    </language>");
            outputFile.WriteLine("    <group>");

            string[] arrInfFiles = System.IO.Directory.GetFiles(".", "*.inf", SearchOption.AllDirectories);
            foreach (string strFileName in arrInfFiles)
            {
                outputFile.WriteLine("        <package path=\"{0}\" />", strFileName.Substring(2, strFileName.Length -2));
            }

            outputFile.WriteLine("        <suppressAddRemovePrograms />");
            outputFile.WriteLine("    </group>");
            outputFile.WriteLine("</dpInst>");
            outputFile.Close();
        }
    }
}

Sorry I didn't have a quick way to put the .exe up anywhere. If you want to compile this tool, get Visual C# Express from Microsoft, it's free!

Hi,

I personally unzipped all the DriverPacks (including some of the 3rd party ones) onto a networked shared drive.
Then I use a small tool I wrote to build a list of folders which contain the drivers and save it in a simple XML file that I use with Microsoft's own dpinst (Driver Installation Tools 2.01).

This way all I need to slipstream to an unattended CD are the network and chipset drivers. (Haven't done mass storage yet). Then during RunOnceEx, I mount the repository and run dpinst.

It seems to work well with vmware and a Dell Latitude D505 I use for testing. So I'm hopeful it'll scale well to other hardware. I have too many systems which don't have a dvd drive so this seems like the best choice to support most hardware automatically.