Hey everyone.

Sorry I've been MIA.  I switched jobs in May and no longer need to build images for anything other than personal use.

Just wanted to make a quick comment on OverFlow's anti-Sysprep sentiments.

Yes, sysprep does suck, but in a corporate XP environment it is the way to go.  *looks enviously at OS X & Linux sys builders*  I actually started trying to create universal install CDs when I first began building images.  The ryanvm update packs ended up causing more problems then they solved (couldn't install .NET frameworks from Windows Update).  Trying to script out AutoIt and WPI to make all the necessary tweaks is time consuming to implement, debug, and execute when you have a large number of apps.  Installing from optical media is waaaay slower then imaging over ethernet, which becomes a huge issues when you have 50 - 100 computers to image and roll out.  I ended up coming to the same conclusion that essaion did.  It works out better/faster in the end to go with sysprep.  Probably the most annoying part of setting up sysprep is adding drivers to support all your hardware.  That's where DriverPacks come in.  smile

One more thing.  Since I haven't updated this How To in a while it might be out of date.  Anyone have any suggestions for changes to the instructions?

skinlayers

Hello,

I'm using sysprep with DP Base 8.01 RC2 with Sound B 7.12 on Windows XP SP2 with all the latest Windows Updates installed.  The drivers isn't being installed for the onboard SoundMax.  When I looked through the list of supported devices, its says the driver for the HP nc6000 is in D\S\SMH1, but I only see a SMH and then a SMH2.  Was SMH1 removed or integrated into another folder?


SoundMax hardware ID:

VEN_8086&DEV_24C5&SUBSYS_0890103C&REV_03

No worries.  I just wanted to make sure that there wasn't more that I needed to be doing since my title does say "Testing Team". wink

Speaking of good news, I'll throw in that I ran into a known bug a couple of weeks ago in Graphics B 7.12.1 with the Radeon 7500 Mobility in my T40s & T41s prompting to find ativvpxx.vp in D\G\A5 but the beta of 8.01.2 fixed it.  smile  Thanks!

My Windows XP SP2 disc doesn't have an I386\svcpack folder, but the NEWDEV.DLL in the I386 folder is the pre-hotfix version (5.1.2600.2180 vs. 5.1.2600.2505 or later).  I'll be getting my hands on the latest beta of SP3 (5508) shortly, and I'll let you know what I find in there.  I'll test it with my image on an HP dc7100 and see if it breaks or not and then let you know.

I'm right there with you on the whole not including hotfixes in the Base.  smile  The reason I don't use RyanVM packs is some of their changes broke .NET updates for me after using sysprep and made it so Apple's Boot Camp wouldn't recognize an SP2 disc as SP2.  Like I said, this was more of an FYI to our small group of sysprep users since we run into issues that the majority of DriverPacks users don't.

Thanks again,
skinlayers

OverFlow,
Thanks for the reply.  I'd searched for 915G, but didn't think to look for the KB article number. smile

I put this post up mostly as an FYI to sysprep users who may encounter this issue, as I've already acquired the hotfixes and will use them until SP3 is released and, I am given the OK from our enterprise testing team to add it to our image.

Yes I am using DP_base 8.01RC2, but since I'm using sysprep I have to manually edit DPsFnshr.ini and extract the associated files, so I'm not exactly sure how you want me to check for compatibility with 883667, unless that's something DPsFnshr.exe takes care of. 
I'm going to wait until SP3 is officially released before I test it, but from what I've read it should include this fix.  I'm in the process of getting the list of fixes from the latest beta of SP3, and I will let you know if 883667 is included.

However, I think you are misinterpreting the text of 910678.  OemPnPDriversPath can only contain a file path, not a URL, so I believe they are referring to the latest Intel drivers downloaded from Intel or Dell's site and added to the local driver repository (which would include updated drivers in the DriverPack). 

Base install: Windows XP Professional VLK SP1 ("Corporate") 32-bit with SP2 (version 5.1 build 2600.xpsp_sp2_rtm.040803-2158) slipstreamed with nlite 1.3.5 (no other modifications were made with nlite).
All updates downloaded and applied via Microsoft Update (no update packs like RyamVM were used).

DriverPacks used: All except for Graphics C and CPU.
DriverPack Graphics A version: 8.02
DriverPack Graphics B version: 8.01.2

Hardware I have testing access to.  As far as I've seen only the HP dc7100/915G is effected:
IBM ThinkPad T40 (2373-12U)    ATI MOBILITY RADEON 7500
IBM ThinkPad T41 (2373-1HU)    ATI MOBILITY RADEON 7500
IBM Netvista M42 (8305-29U)    Intel(R) 82845G/GL/GE/PE/GV
IBM Netvista M42 (8305-G7U)    Intel(R) 82845G/GL/GE/PE/GV
IBM Netvista M42 (8307-25U)    Intel(R) 82845G/GL/GE/PE/GV
IBM Netvista M42 (8307-41U)    Intel(R) 82845G/GL/GE/PE/GV
IBM Netvista M42 (8307-46U)    Intel(R) 82845G/GL/GE/PE/GV
IBM ThinkCentre M50 (8189-E1U)    Intel(R) 82865G
HP d530        Intel(R) 82865G
HP dc7100    Intel(R) 82915G/GV/910GL Express
HP dc7600    Intel(R) 82945G Express
HP nc6000      ATI MOBILITY RADEON 9600
HP nc6230      ATI MOBILITY RADEON X300
HP nc6400      ATI Mobility Radeon X1300
HP nc8230      ATI MOBILITY RADEON X600

skinlayers

PS You mention "actively testing".  I'm not sure what you mean by this either.  I needed to build a new image so I've tested the beta Graphics B and DPs_Base RC2 and reported my findings.  I'm not sure how much more 'active' than that I can be.

This is a known issue, but since I ran into it on our HP dc7100s I thought I'd mention it.  Here's HP's KB article on the issue.
And here are the two relavent Microsoft KB articles that I found from this guy's blog post about the problem.

The issue occurs if the video driver, although signed, does not have an associated .inf file that describes connected monitors.

Is there a way of fixing this in the Graphics DriverPack?  If not, I'll just make sure to build my images with the two hotfixes applied.

Thanks!
skinlayers

skinlayers wrote:

Hello,

I've working on making a sysprep image on an IBM NetVista 8305-G7U.  After imaging the device manager shows the soundcard as a RealTek AC97 with a exclamation mark next to it.  If I tell it to up date the driver without going online it will attempt to reinstall the RealTek driver, BSOD, and then reboot.  However, if I let it check Microsoft Update, it will find the correct SoundMax driver and install it without issue.

Hardware ID:
VEN_8086&DEV_24C5&SUBSYS_02671014&REV_01

Thanks,
skinlayers

Just ran into the same issue again on an HP NC6230 with a SoundMax card id:
VEN_8086&DEV_266E&SUBSYS_0944103C&REV_03

I've been deleting D\S\R\1 to avoid the problem.

chud wrote:

skinlayers

I see what you mean about the Devicepath mess. Did you find out what was the use of running makePNF.exe as suggested by Bashrat?
I seemed to get better results doing it my original way without using the finisher after sysprep.  sad

I added the makePNF.exe step to my instructions at the top of the post.  It makes a PNF out of each of the INF files.  PNF are Precomplied INF files.  I haven't found an exact answer, but it seem to speed up driver installation.

Two problems still.

1) DevPath.exe does not seem to be getting deleted

2) The DevicePath reg key is out of control.  Its still has the original entries from manually running DevPath.exe as well as the ones starting with %KTD% variable.  Any ideas?  I'm currently getting around this by adding "C:\DevPath.exe %SystemRoot%\Options\Drivers\D" at the end of my sysprep.inf [GuiRunOnce] section.

skinlayers

Bâshrat the Sneaky wrote:

I haven't read everything in detail, skinlayers. But this howto looks very nice! Thanks!
A better way to do this is this one though (rough guidelines, no details included):
1) extract the DriverPacks to where you want them to stay (you're doing this already)
2) apply KTD on them (makePNF.exe)
3) run that Sysprep tool thingie that automatically detects all drivers and that will update [SysprepMassStorage] automatically. I don't remember the name
4) make sure that the Finisher is called on the first boot (you're doing this already)

What exactly does makePNF.exe do and how does it relate to KTD?  More importantly what syntax should I be using to run it.  One interesting thing is I had to include Intel IDE drivers from Chipset that weren't in MassStorage to make my image run on all of our machines.  The [SysprepMassStorage] population program being worked on by chud and JakeLD would not be able to detect those, I believe.  I'm lucky since I only deal with Intel chipsets and can leave the rest out.

chud: The only reason I can think you wouldn't have had trouble with the way you were doing it is if your SATA controller can mimic being a regular IDE/ATA controller, which I know some of them do.  I would test it by making an image without any driverpacks and seeing if you get a blue screen when restoring to a machine that worked with your drivepacks integrate image.  I personally think that adding everything in to [SysprepMassStorage] is a little over kill since a lot of those drivers are things you'll never restore an XP image to (like HP server equipment).  Most business environments (which is what sysprep was really designed for) contain Intel based computers from OEMs like IBM, HP, Dell, etc.  If I really wanted to make it universal, I would added in the VIA and nVidia chipsets and that would cover just about anything.  Since minisetup has to load every driver specified in [SysprepMassStorage] it saves time to only include what you need.

School007: How experienced are you with sysprep?  Did you read the guide I linked to at the top of the HOW TO?  This not a complete sysprep guide.  Its just instructions for adding driverpacks to a sysprep image.  Did you change the HAL?  If this is an Intel based system then you made need to add Intel IDE drivers from the Chipset DriverPack (look at my [SysprepMassStorage] example in the HOW TO).

skinlayers

soo_smitty wrote:

HAH, ok I just wrote a post and went to submit it, then it said the server was too busy. Oh well, here goes again...

Would it be possible to skip the manual integration of the mass storage DP w/ sysprep if the mass storage DP was added to your original windows source using the KTD and text mode options? Is there any reason that this would not work?

Thanks

Unfortunately, I don't think that's going to work.  sysprep -bmsd builds the [SysprepMassStorage] section from Machine.inf, Scsi.inf, Pnpscsi.inf, and Mshdc.inf.  As far as I can tell, none of these files are modified by integrating the text mode MassStorage DP.

skinlayers

chud wrote:

Hi Skinlayers,
What I want to do is now
XP sp2 source > install in VMware, add office 2003, do all updates > add all the drivers packs with KTD 'All' > sysprep > image with ghost > deploy (modifying sysprep/HAL after ghost imaged but before reboot)

This is exactly what the HOW TO is for.

chud wrote:

I want all the driverpacks added before sysprep starts, not during deployment.

The DriverPacks are added before sysprep.  That's what unrar-ing and running C:\DevPath C:\D accomplishes. 

chud wrote:

I don't quite follow what you just wrote because the point of sysprep negates what hardware it was built on, at least if its on generic hardware such as vmware.

DPsFnshr.exe is for post-hardware detection 'tweaks', and for moving the DriverPacks 'D' folder.  It reads DPsFnshr.ini and the *_wnt5_x86-32.ini in C:\ and compares them to the hardware installed in the Device Manager.  If it finds a match it will run an 'exception' such as launching an installer or editing the registry.  To explain my example above, ATI Radeon hardware requires its driver installation occur in two parts.  First, the actual driver has to be installed (with a reboot), and then a control panel or application to configure the driver (the ATI Catalyst Control Panel or the ATI Catalyst Control Center).  The DevPath command allows minisetup (either during CD install or after sysprepping) to find and use the drivers in the DriverPacks.  Windows always reboots after minisetup.  Then DPsFnshr.exe runs on first login and does finishing work, installing the ATI CCP or CCC.  The rule here is that in order for DPsFnshr.exe to do its job, its MUST run after all the hardware detection is done (on the machine you are deploying it on) via minisetup.

chud wrote:

Also how is sysprep seeing the massstorage stuff if its not been pre-added to windows when you run sysprep -bdsm?

Unfortunately, you have to do it manually.  I forgot to put that in my instructions.  It doesn't matter whether its pre-added or not.  Even with the way you were doing it, if you open up your sysprep.ini, you won't see anything pointing to the DriverPacks.  I'll update my instructions regarding that when I get a chance.

chud wrote:

I am currently doing as you but ending with
editing DPsFnshr.ini with KTD = "paths:D\"

I wouldn't recommend doing it that way even if you are KTD ALL.  There's a bug that will add an extra 'D' to your DriverPacks path when they're moved.  I recommend specifying each folder (see my example in the HOW TO).

chud wrote:

C:\DevPath.exe C:\D
C:\DPsFnshr.exe
c:\makePNF.exe  (for some reason I dont seem to need to have DSPdsblr.exe running?)
sysprep -bdsm
then finally sysprep minisetup reseal

To put it simply, running DPsFnshr.exe under VMWare does nothing.  The hardware that the image is going to be deployed on isn't present, so there is nothing to detect and no (useful) exceptions to run.  All this does it finish the driver installation for the machine its currently on: VMWare.  But your user aren't using VMWare, they're using PCs with variable hardware configs.  Minisetup will detect the the hardware and install drivers from the DriverPacks, but post installation tasks won't occur (like installing ATI CCP or CCC).

chud wrote:

May I ask why you chose to do it your way because as far as I can see it will take ages running through the final driverpack bits on each machine you image?

cheers

I do it this way because it doesn't work correctly otherwise.  It  only takes a couple of minutes on most of my machines for DPsFnshr.exe to run, and most of my machines are 1.8 - 2.4 GHz P4s.  It completely depends on how big your DriverPacks folder is.  I trim off a lot of hardware I don't need.  The part that takes the most time is moving the DriverPacks to the KTDlocation.  Also, I have my sysprep.ini configured to autologin to the Administrator account of first boot.  This triggers the DPsFnshr.exe.   (I think I'll add that to the instructions too).

skinlayers

chud wrote:

Hi skinslayer,
Is there a reason you don't want to run Roe.exe first and then reboot once before sysprepping otherwise deploying the image will always take ages on each machine as it has to fix all the driver signing?

We don't want DPsFnshr.exe to run until after the image is deployed.  For instance, if you built the image on a machine with an nVidia graphics card, ran ROE.exe with a reboot, and then sysprepped it.  Then you image a machine with an ATI GPU, the ATI CCP or CCC wouldn't be installed since the ATI hardware wasn't present when the DPsFnshr.exe ran.  We want DPsFnshr.exe to run after all the hardware is detected by minisetup, which in the case of a sysprepped image, is after you've resealed it with sysprep.exe.

skinlayers

UPDATED for DriverPack BASE 7.04 and later.  I'm starting a new thread because the title of the thread it was under was regarding a specific error and a tangent evolved into these instructions.

NOTE: This HOW TO assumes you are proficient with sysprep.  If not, I recommend you read through this first.

1) Download the latest version of DriverPack BASE (7.05.2 at time of writing) and whatever DriverPacks you need.

2) Extract BASE to a folder by running the .exe you downloaded (example: DPs_BASE_7052.exe)

3) In the folder you extracted BASE to, open the 'bin' folder.  Copy DPsFnshr.ini and extract DPsFnshr.7Z to C:\ on the computer you'll be running Sysprep on.

4) Inside of the BASE 'bin' folder, open the 'wnt5_x86-32' folder.  Copy ROE.exe to C:\sysprep, and extract DevPath.exe from M2.7z to C:\ on the computer you'll be running Sysprep on.

5) Extract your DriverPacks with either 7-zip or WinRAR.  If you have WinRAR integrated into your shell you can just control-click the Packs you want to select them, then right-click on one and choose "Extract Here".  Make sure that they are all merged into the same folder structure under the 'D' folder (D\C, D\G, etc).  You should also have a set of files ending with wnt5_x86-32.ini.  These contain the various exceptions that DPsFnshr.exe reads when it runs. 

6) Move extracted DriverPacks ('D' folder) and wnt5_x86-32.ini files to C:\ on the computer you'll be running Sysprep on.
6a) If you are slipstreaming DP_Graphics_A, create a dummy (Notepad) file in C:\.  Name it ATICCC.ins if you want the Catalyst Control Center or ATICCP.ins if you want the Catalyst Control Panel installed when Radeon hardware is detected.  The file can be blank as DPsFnshr.exe just looks for the file name.  DPsFnshr.exe deletes the .ins file when it is finished running.
6b) If you want, you can modify the extracted driver packs to remove hardware you don't need.  If you do, remember to move the modified driver pack to D\3\ (i.e. D\3\C, D\3\CPU, etc).  If you want DPsFnshr.exe to run as intended (do to paths in the wnt5_x86-32.ini files), though, I would leave things like the DriverPack Graphics A unmodified.

7) Open a Command Prompt and run

C:\DevPath.exe C:\D

and then

C:\makePNF.exe C:\D

NOTE: Since you are loading your DevicePath with DevPath.exe, you can leave out the OemPnPDriversPath entry (under the [Unattended] section) in your sysprep.inf file.  OemPnPDriversPath has a 512 characters limit, but DevPath.exe gets around this by writing directly to the registry entry that OemPnPDriversPath gets loaded into by sysprep.

8) Open C:\DPsFnshr.ini in Notepad or Wordpad.  Since we aren't actually running BASE we have to change the configuration for the Finisher manually.  Generally, you will only need to edit the KTD and KTDlocation variables at the very top.  If you do not want KTD enabled set:

KTD = "false"

If you want to KTD, put 'paths:' and then a list of folders in D you want to keep.  Even if you want to keep all the drivers, I would still recommend specifying them individually due to the "double D" and Desktop.ini bugs in Finisher.  For example, in my configuration, I want to keep all of the drivers.  I have a D\3 folder when I've put my 3rd party and modified driver packs, and a D\G folder that contains an unmodified Driver Pack Graphics A.  So my KTD line looks like:

KTD = "paths:D\G;D\3"

KTDlocation tell Finisher where to move the D folder to if you have KTD enabled.  For example, I move my drivers to C:\WINDOWS\Options\Drivers so my KTDlocation line is:

KTDlocation = "%SystemRoot%\Options\Drivers"

9) Edit c:\sysprep\sysprep.inf and add the following lines under the [Unattended] section:

UpdateInstalledDrivers = Yes
DriverSigningPolicy = Ignore

10a) (optional) If you want the Mass Storage drivers that come with XP added to your sysprep.inf then add the line:

[SysprepMassStorage]

to the very end of your sysprep.inf.  Then, run

c:\sysprep\sysprep.exe -bmsd

10b)If you want to include the drivers in DriverPack MassStorage, then you will have to added them to the [SysprepMassStorage] section manually by opening up the various mass storage drivers' inf files and copying the vendor and device codes with a path to the inf file.  There is a script that can automate the process for you here, but it doesn't seem to be perfect yet.
For example, all of the machines I am deploying my image on are based on Intel chipsets (IBM/Lenovos, and HPs).  So, I can get away with only adding the Intel mass storage drivers.  As of DriverPack MassStorage 7.06.2, this is the section I add at the begining of [SysprepMassStorage] after running sysprep -bmsd

PCI\VEN_8086&DEV_2652&CC_0106 = C:\D\M\IN\1\iaahci.inf
PCI\VEN_8086&DEV_2653&CC_0106 = C:\D\M\IN\1\iaahci.inf
PCI\VEN_8086&DEV_27C1&CC_0106 = C:\D\M\IN\1\iaahci.inf
PCI\VEN_8086&DEV_27C5&CC_0106 = C:\D\M\IN\1\iaahci.inf
PCI\VEN_8086&DEV_27C3&CC_0104 = C:\D\M\IN\1\iastor.inf
PCI\VEN_8086&DEV_2652&CC_0104 = C:\D\M\IN\1\iastor.inf
PCI\VEN_8086&DEV_24DF&CC_0104 = C:\D\M\IN\1\iastor.inf
PCI\VEN_8086&DEV_25B0&CC_0104 = C:\D\M\IN\1\iastor.inf
PCI\VEN_8086&DEV_2681&CC_0106 = C:\D\M\IN\2\iaahci.inf
PCI\VEN_8086&DEV_2821&CC_0106 = C:\D\M\IN\2\iaahci.inf
PCI\VEN_8086&DEV_2822&CC_0104 = C:\D\M\IN\2\iastor.inf
PCI\VEN_8086&DEV_27C6&CC_0104 = C:\D\M\IN\2\iastor.inf
PCI\VEN_8086&DEV_2682&CC_0104 = C:\D\M\IN\2\iastor.inf
PCI\VEN_8086&DEV_2829&CC_0106 = C:\D\M\IN\3\iaahci.inf
PCI\VEN_8086&DEV_2922&CC_0106 = C:\D\M\IN\3\iaahci.inf
PCI\VEN_8086&DEV_282A&CC_0104 = C:\D\M\IN\3\iastor.inf
PCI\VEN_8086&DEV_2680 = C:\D\C\I\xp\ESB2ide.inf
PCI\VEN_8086&DEV_269E = C:\D\C\I\xp\ESB2ide.inf
PCI\VEN_8086&DEV_244B = C:\D\C\I\xp\ich2ide.inf
PCI\VEN_8086&DEV_244A = C:\D\C\I\xp\ich2idem.inf
PCI\VEN_8086&DEV_248B = C:\D\C\I\xp\ich3ide.inf
PCI\VEN_8086&DEV_248A = C:\D\C\I\xp\ich3idem.inf
PCI\VEN_8086&DEV_24CB&CC_0101 = C:\D\C\I\xp\ich4ide.inf
PCI\VEN_8086&DEV_24CA&CC_0101 = C:\D\C\I\xp\ich4ide.inf
PCI\VEN_8086&DEV_24C1&CC_0101 = C:\D\C\I\xp\ich4ide.inf
PCI\VEN_8086&DEV_24D1&CC_0101 = C:\D\C\I\xp\ich5ide.inf
PCI\VEN_8086&DEV_24DB&CC_0101 = C:\D\C\I\xp\ich5ide.inf
PCI\VEN_8086&DEV_25A2&CC_0101 = C:\D\C\I\xp\ich5ide.inf
PCI\VEN_8086&DEV_25A3&CC_0101 = C:\D\C\I\xp\ich5ide.inf
PCI\VEN_8086&DEV_2651&CC_0101 = C:\D\C\I\xp\ich6ide.inf
PCI\VEN_8086&DEV_2652&CC_0101 = C:\D\C\I\xp\ich6ide.inf
PCI\VEN_8086&DEV_2653&CC_0101 = C:\D\C\I\xp\ich6ide.inf
PCI\VEN_8086&DEV_266F = C:\D\C\I\xp\ich6ide.inf
PCI\VEN_8086&DEV_27C0 = C:\D\C\I\xp\ich7ide.inf
PCI\VEN_8086&DEV_27C4 = C:\D\C\I\xp\ich7ide.inf
PCI\VEN_8086&DEV_27DF = C:\D\C\I\xp\ich7ide.inf
PCI\VEN_8086&DEV_2820 = C:\D\C\I\xp\ich8ide.inf
PCI\VEN_8086&DEV_2825 = C:\D\C\I\xp\ich8ide.inf
PCI\VEN_8086&DEV_2828 = C:\D\C\I\xp\ich8ide.inf
PCI\VEN_8086&DEV_2850 = C:\D\C\I\xp\ich8ide.inf
PCI\VEN_8086&DEV_2922 = C:\D\C\I\xp\ich9ahci.inf
PCI\VEN_8086&DEV_2923 = C:\D\C\I\xp\ich9ahci.inf
PCI\VEN_8086&DEV_2920 = C:\D\C\I\xp\ich9ide.inf
PCI\VEN_8086&DEV_2921 = C:\D\C\I\xp\ich9ide.inf
PCI\VEN_8086&DEV_2926 = C:\D\C\I\xp\ich9ide.inf
PCI\VEN_8086&DEV_2928 = C:\D\C\I\xp\ich9ide.inf
PCI\VEN_8086&DEV_292D = C:\D\C\I\xp\ich9ide.inf
PCI\VEN_8086&DEV_292E = C:\D\C\I\xp\ich9ide.inf

11) Open a Command Prompt and run

C:\sysprep\ROE.exe 937

This tells Windows to run C:\DPsFnshr.exe on the next reboot.  I found that using [GuiRunOnce] in sysprep.inf to run DPsFnshr.exe resulted in the dreaded desktop.ini bug.  Using ROE.exe to create a RunOnceEx entry for DPsFnshr.exe does not have this issue.  DO NOT REBOOT BEFORE THE NEXT STEP OR DPsFnshr.exe WILL RUN!

12) Run sysprep.exe and reseal

BONUS: If your image is to be deployed on both single and multicore systems, then I'd highly recommend you check out MySysprep.  It can detect a multicore CPU and switch HALs during minisetup.


Note: I was able to eliminate a lot of my sysprep/imaging issues (including minisetup looking for hdaudbus.sys in the wrong place) by NOT using RyanVM's update packs.  In fact, I recommend only using nlite to slipstream SP2 and setup the Unattended section when building a disc.  Since you're creating an image anyways, it doesn't hurt to run Windows update manually, and be 100% sure everything is install 'the Microsoft way'.


skinlayers

OverFlow wrote:

my guess is it is in the inf for the Hdaudbus.sys driver

a case sensitive search may yeild results since normaly it is i386 not I386 with the capital I
so you may get lucky

I tracked the issue down to using RyanVM's update packs.  Slipstreaming JUST SP2 (with nlite) and nothing else has helped eliminate a LOT of my imaging issues.

skinlayers

EvilBetty wrote:

Maybe I'm doing something wrong... my Sysprep OEMPNPDRIVERS section looks like this:

OemPnpDriversPath="D\3\CBSH\01\01_D600;D\3\CBSH\01\01_D610;D\3\CBSH\01\01_D620;D\3\CBSH\01\01_GX150;D\3\CBSH\01\01_GX260

If you are running "DevPath C:\D" then you do not need the OemPnpDriversPath in sysprep.inf.  DevPath.exe writes to the same registry entry, but doesn't have the 4096 byte limit that OemPnpDriversPath does.

I would highly recommend you check out MySysprep: http://jimtsay.googlepages.com/mysysprep

This allows you to automatically update to the correct HAL during minisetup.  A word of advice, I would build my image on a single proc machine and change the HAL to the generic ACPI.  Then configure MySysprep to only update if it find a multicore chip.  I had problems with laptops if it was set to update the HAL on single core chips to ACPI uniprocessor.

This is what I am using with 7.06.2

PCI\VEN_8086&DEV_2652&CC_0106 = C:\D\M\IN\1\iaahci.inf
PCI\VEN_8086&DEV_2653&CC_0106 = C:\D\M\IN\1\iaahci.inf
PCI\VEN_8086&DEV_27C1&CC_0106 = C:\D\M\IN\1\iaahci.inf
PCI\VEN_8086&DEV_27C5&CC_0106 = C:\D\M\IN\1\iaahci.inf
PCI\VEN_8086&DEV_27C3&CC_0104 = C:\D\M\IN\1\iastor.inf
PCI\VEN_8086&DEV_2652&CC_0104 = C:\D\M\IN\1\iastor.inf
PCI\VEN_8086&DEV_24DF&CC_0104 = C:\D\M\IN\1\iastor.inf
PCI\VEN_8086&DEV_25B0&CC_0104 = C:\D\M\IN\1\iastor.inf
PCI\VEN_8086&DEV_2681&CC_0106 = C:\D\M\IN\2\iaahci.inf
PCI\VEN_8086&DEV_2821&CC_0106 = C:\D\M\IN\2\iaahci.inf
PCI\VEN_8086&DEV_2822&CC_0104 = C:\D\M\IN\2\iastor.inf
PCI\VEN_8086&DEV_27C6&CC_0104 = C:\D\M\IN\2\iastor.inf
PCI\VEN_8086&DEV_2682&CC_0104 = C:\D\M\IN\2\iastor.inf
PCI\VEN_8086&DEV_2829&CC_0106 = C:\D\M\IN\3\iaahci.inf
PCI\VEN_8086&DEV_2922&CC_0106 = C:\D\M\IN\3\iaahci.inf
PCI\VEN_8086&DEV_282A&CC_0104 = C:\D\M\IN\3\iastor.inf
PCI\VEN_8086&DEV_2680 = C:\D\C\I\xp\ESB2ide.inf
PCI\VEN_8086&DEV_269E = C:\D\C\I\xp\ESB2ide.inf
PCI\VEN_8086&DEV_244B = C:\D\C\I\xp\ich2ide.inf
PCI\VEN_8086&DEV_244A = C:\D\C\I\xp\ich2idem.inf
PCI\VEN_8086&DEV_248B = C:\D\C\I\xp\ich3ide.inf
PCI\VEN_8086&DEV_248A = C:\D\C\I\xp\ich3idem.inf
PCI\VEN_8086&DEV_24CB&CC_0101 = C:\D\C\I\xp\ich4ide.inf
PCI\VEN_8086&DEV_24CA&CC_0101 = C:\D\C\I\xp\ich4ide.inf
PCI\VEN_8086&DEV_24C1&CC_0101 = C:\D\C\I\xp\ich4ide.inf
PCI\VEN_8086&DEV_24D1&CC_0101 = C:\D\C\I\xp\ich5ide.inf
PCI\VEN_8086&DEV_24DB&CC_0101 = C:\D\C\I\xp\ich5ide.inf
PCI\VEN_8086&DEV_25A2&CC_0101 = C:\D\C\I\xp\ich5ide.inf
PCI\VEN_8086&DEV_25A3&CC_0101 = C:\D\C\I\xp\ich5ide.inf
PCI\VEN_8086&DEV_2651&CC_0101 = C:\D\C\I\xp\ich6ide.inf
PCI\VEN_8086&DEV_2652&CC_0101 = C:\D\C\I\xp\ich6ide.inf
PCI\VEN_8086&DEV_2653&CC_0101 = C:\D\C\I\xp\ich6ide.inf
PCI\VEN_8086&DEV_266F = C:\D\C\I\xp\ich6ide.inf
PCI\VEN_8086&DEV_27C0 = C:\D\C\I\xp\ich7ide.inf
PCI\VEN_8086&DEV_27C4 = C:\D\C\I\xp\ich7ide.inf
PCI\VEN_8086&DEV_27DF = C:\D\C\I\xp\ich7ide.inf
PCI\VEN_8086&DEV_2820 = C:\D\C\I\xp\ich8ide.inf
PCI\VEN_8086&DEV_2825 = C:\D\C\I\xp\ich8ide.inf
PCI\VEN_8086&DEV_2828 = C:\D\C\I\xp\ich8ide.inf
PCI\VEN_8086&DEV_2850 = C:\D\C\I\xp\ich8ide.inf
PCI\VEN_8086&DEV_2922 = C:\D\C\I\xp\ich9ahci.inf
PCI\VEN_8086&DEV_2923 = C:\D\C\I\xp\ich9ahci.inf
PCI\VEN_8086&DEV_2920 = C:\D\C\I\xp\ich9ide.inf
PCI\VEN_8086&DEV_2921 = C:\D\C\I\xp\ich9ide.inf
PCI\VEN_8086&DEV_2926 = C:\D\C\I\xp\ich9ide.inf
PCI\VEN_8086&DEV_2928 = C:\D\C\I\xp\ich9ide.inf
PCI\VEN_8086&DEV_292D = C:\D\C\I\xp\ich9ide.inf
PCI\VEN_8086&DEV_292E = C:\D\C\I\xp\ich9ide.inf

skinlayers

Same error here.  Any chance someone can put BASE_7016 up on a mirror?  I deleted it and a really need a working Finisher at the moment.

Thanks,
skinlayers

Since I use sysprep, I have to decompress the driverpacks to C:\D.  Where do I put the decompressed .ini files?  Do they belong in the root of C: like DPsFnshr.ini did?

Thanks,
skinlayers

Edited for typos.

Hello,

I've working on making a sysprep image on an IBM NetVista 8305-G7U.  After imaging the device manager shows the soundcard as a RealTek AC97 with a exclamation mark next to it.  If I tell it to up date the driver without going online it will attempt to reinstall the RealTek driver, BSOD, and then reboot.  However, if I let it check Microsoft Update, it will find the correct SoundMax driver and install it without issue.

Hardware ID:
VEN_8086&DEV_24C5&SUBSYS_02671014&REV_01

Thanks,
skinlayers

Updated instructions for using DriverPacks with Sysprep broken off into its own thread here.

skinlayers

Thanks, Bâshrat!

Unfortunately, now I have a different problem.  After running SysPrep and rebooting, DPsFnshr.exe runs and gives the error:

"The DriverPacks root directory in the settings file doesn't contain a valid DriverPacks directory structure!"

From what I understand, I don't need to run DPs_BASe.exe at any point.  Do I need to edit the DPsFnshr.ini manually and point it to C:\D (or %SystemDrive%\D)? 

Here is my DPsFnshr.ini

[Settings]
; DO NOT SET THIS MANUALLY, LET THE DriverPacks BASE DO IT FOR YOU! (may NOT contain any spaced, if it does, all exceptions must be adapted to be compatible!)
DPsRoot	= "%SystemDrive%"
; DO NOT SET THIS MANUALLY, LET THE DriverPacks BASE DO IT FOR YOU!
KTD	= ""
; system variables supported: %SystemDrive%, %SystemRoot% and %WinDir%, one
; location cannot be used as KTDlocation: the root directory specified in
; [Settings]\DPsRoot
KTDlocation	= "%SystemRoot%\DriverPacks"


; =============================================================================
;
; REMARKS
;
; =============================================================================
; -----------------------------------------------------------------------------
; About adding your own exceptions
; -----------------------------------------------------------------------------
;
; - The following system variables are supported:
;  * %SystemDrive%
;  * %SystemRoot%
;  * %WinDir%
;  * %ProgramFiles%
;  * %DPSROOT% (equals the value of [Settings]\DPsRoot)
;  * %DPSTMP% (when you must extract files for example)
;
; - Available executables:
;  * addUsepmtimer.exe
;  * devcon.exe
;
; - The unique ID in the sectionnames (i.e.: [<OS platform>__<unique ID>__
;   <driver dir, including the master 'D' dir>]) must NOT be sequential, it
;   must just be unique. Only numbers (0-9) can be used. The reason for the
;   existence of this string is that sometimes there are multiple exceptions
;   for the same driver, which would result in identical section names, which
;   is not allowed.
;
; - A requirement of the type 'tagFiles' is considered forfilled if ALL of the
;   listed conditions are met.
;
; - A requirement of the types '+hwids', '-hwids', '+infFiles' and '-infFiles'
;   is considered forfilled if ANY of the listed conditions is met.
;
; - The commands will ONLY be executed if ALL the active requirements are
;
; - The commands will be executed in the order they are entered.
;
;
; -----------------------------------------------------------------------------
; About the implementation of KTD
; -----------------------------------------------------------------------------
;
; - To optimize the DevicePath entry in the registry (to allow more drivers to
;   be added), a new system variable will be created, which will accessible
;   through the variable %KTD%. The result is that each path that is added
;   (that refers to a driver), will be much shorter - and therefore this allows
;   more drivers to be added.
;
; =============================================================================

[wnt5_x86-32__0000__D]
tagFiles	= 0
+hwids		= 1
+hwid1		= "ACPI\MGMT180"
-hwids		= 0
+infFiles	= 0
-infFiles	= 0
commands	= 1
command1	= "%SystemDrive%\devcon.exe remove ACPI\MGMT180"


[wnt5_x86-32__0001__D-CP]
tagFiles	= 0
+hwids		= 1
+hwid1		= "ACPI\AUTHENTICAMD_-_X86_FAMILY_15_MODEL_35"
-hwids		= 0
+infFiles	= 0
-infFiles	= 0
commands	= 1
command1	= "%SystemDrive%\pmtimer.exe"


[wnt5_x86-32__0002__D-G-A-1]
tagFiles	= 2
tagFile1	= "%SystemDrive%\ATICCC.ins"
tagFile2	= "%DPSROOT%\D\G\A\1\ATICCC.exe"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\G\A\1\*.inf"
-infFiles	= 0
commands	= 6
command1	= "%DPSROOT%\D\G\A\1\ATICCC.exe -y -o%DPSTMP%"
command2	= "msiexec /i %DPSTMP%\ISScript9.Msi /qn /norestart"
command3	= "?processWaitClose:ISScript9.Msi"
command4	= "msiexec /i %DPSTMP%\ATICCC.msi /qn /norestart"
command5	= "?processWaitClose:ATICCC.msi"
command6	= "rd /s /q %DPSTMP%"


[wnt5_x86-32__0003__D-G-A-1]
tagFiles	= 2
tagFile1	= "%SystemDrive%\ATICCP.ins"
tagFile2	= "%DPSROOT%\D\G\A\1\ATICCP.exe"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\G\A\1\*.inf"
-infFiles	= 0
commands	= 3
command1	= "%DPSROOT%\D\G\A\1\ATICCP.exe -y -o%DPSTMP%"
command2	= "start /wait %DPSTMP%\Setup.exe /K"
command3	= "rd /s /q %DPSTMP%"


[wnt5_x86-32__0004__D-G-A-2]
tagFiles	= 1
tagFile1	= "%DPSROOT%\D\G\A\2\CPanel.exe"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\G\A\2\*.inf"
-infFiles	= 0
commands	= 3
command1	= "%DPSROOT%\D\G\A\2\CPanel.exe -y -o%DPSTMP%"
command2	= "start /wait %DPSTMP%\setup.exe /K"
command3	= "rd /s /q %DPSTMP%"


[wnt5_x86-32__0005__D-G-A-5]
tagFiles	= 2
tagFile1	= "%SystemDrive%\ATICCP.ins"
tagFile2	= "%DPSROOT%\D\G\A\1\ATICCP.exe"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\G\A\5\*.inf"
-infFiles	= 0
commands	= 3
command1	= "%DPSROOT%\D\G\A\1\ATICCP.exe -y -o%DPSTMP%"
command2	= "start /wait %DPSTMP%\Setup.exe /K"
command3	= "rd /s /q %DPSTMP%"


[wnt5_x86-32__0006__D-G-A-5]
tagFiles	= 2
tagFile1	= "%SystemDrive%\ATICCC.ins"
tagFile2	= "%DPSROOT%\D\G\A\1\ATICCC.exe"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\G\A\5\*.inf"
-infFiles	= 0
commands	= 6
command1	= "%DPSROOT%\D\G\A\1\ATICCC.exe -y -o%DPSTMP%"
command2	= "msiexec /i %DPSTMP%\ISScript9.Msi /qn /norestart"
command3	= "?processWaitClose:ISScript9.Msi"
command4	= "msiexec /i %DPSTMP%\ATICCC.msi /qn /norestart"
command5	= "?processWaitClose:ATICCC.msi"
command6	= "rd /s /q %DPSTMP%"


[wnt5_x86-32__0007__D-G-3-1]
tagFiles	= 1
tagFile1	= "%SystemRoot%\system32\3dfxV2ps.dll"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\G\3\1\*.inf"
-infFiles	= 0
commands	= 1
command1	= "%DPSROOT%\D\G\3\1\V2_OC_control_panel.exe"


[wnt5_x86-32__0008__D-L-NV-123]
tagFiles	= 0
+hwids		= 1
+hwid1		= "PCI\VEN_10DE&DEV_00DF&SUBSYS_E0001458&REV_A2"
+hwid2		= "PCI\VEN_10DE&DEV_00DF&SUBSYS_02501462&REV_A2"
+hwid3		= "PCI\VEN_10DE&DEV_00DF&SUBSYS_A5511297&REV_A2"
-hwids		= 0
+infFiles	= 0
-infFiles	= 0
commands	= 2
command1	= "%SystemDrive%\devcon.exe update %DPSROOT%\D\L\NV\123\nvnetbus.inf "PCI\VEN_10DE&DEV_00DF&SUBSYS_*""
command2 	= "%SystemDrive%\devcon.exe update %DPSROOT%\D\L\NV\123\nvnetfd.inf "{1a3e09be-1e45-494b-9174-d7385b45bbf5}\NVNET_DEV00DF""



[wnt5_x86-32__0009__D-S-CR-1]
tagFiles	= 2
tagFile1	= "%SystemRoot%\system32\drivers\ha20x2k.sys"
tagFile2	= "%DPSROOT%\D\S\CR\1\Ctzapxx.ini"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\S\CR\1\*.inf"
-infFiles	= 0
commands	= 19
command1	= "expand -r %DPSROOT%\D\S\CR\1\*.* %DPSROOT%\CR\1"
command2	= "expand -r %DPSROOT%\D\S\CR\1\common\*.* %DPSROOT%\D\S\CR\1\common"
command3	= "expand -r %DPSROOT%\D\S\CR\1\common\i386\*.* %DPSROOT%\D\S\CR\1\common\i386"
command4	= "expand -r %DPSROOT%\D\S\CR\1\lang\*.* %DPSROOT%\D\S\CR\1\lang"
command5	= "expand -r %DPSROOT%\D\S\CR\1\lang\i386\*.* %DPSROOT%\D\S\CR\1\lang\i386"
command6	= "expand -r %DPSROOT%\D\S\CR\1\win2k_xp\*.* %DPSROOT%\D\S\CR\1\win2k_xp"
command7	= "expand -r %DPSROOT%\D\S\CR\1\win2k_xp\data\*.* %DPSROOT%\D\S\CR\1\win2k_xp\data"
command8	= "expand -r %DPSROOT%\D\S\CR\1\win2k_xp\i386\*.* %DPSROOT%\D\S\CR\1\win2k_xp\i386"
command9	= "del /q %DPSROOT%\D\S\CR\1\*.??_"
command10	= "del /q %DPSROOT%\D\S\CR\1\common\*.??_"s
command11	= "del /q %DPSROOT%\D\S\CR\1\common\i386\*.??_"
command12	= "del /q %DPSROOT%\D\S\CR\1\lang\*.??_"
command13	= "del /q %DPSROOT%\D\S\CR\1\lang\i386\*.??_"
command14	= "del /q %DPSROOT%\D\S\CR\1\win2k_xp\*.??_"
command15	= "del /q %DPSROOT%\D\S\CR\1\win2k_xp\data\*.??_"
command16	= "del /q %DPSROOT%\D\S\CR\1\win2k_xp\i386\*.??_"
command17	= "copy /y %DPSROOT%\D\S\CR\1\common\i386\CtCtlPan.cpl %SystemRoot%\system32\"
command18	= "copy /y %DPSROOT%\D\S\CR\1\common\i386\CtPanel.exe %SystemRoot%\system32\"
command19	= "start /wait %DPSROOT%\D\S\CR\1\CTZAPXX.exe /S"


[wnt5_x86-32__0010__D-S-CR-2]
tagFiles	= 3
tagFile1	= "%SystemRoot%\system32\drivers\ha10kx2k.sys"
tagFile2	= "%SystemRoot%\system32\drivers\ha20x2k.sys"
tagFile3	= "%DPSROOT%\D\S\CR\2\Ctzapxx.ini"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\S\CR\2\*.inf"
-infFiles	= 0
commands	= 19
command1	= "expand -r %DPSROOT%\D\S\CR\2\*.* %DPSROOT%\CR\2"
command2	= "expand -r %DPSROOT%\D\S\CR\2\common\*.* %DPSROOT%\D\S\CR\2\common"
command3	= "expand -r %DPSROOT%\D\S\CR\2\common\i386\*.* %DPSROOT%\D\S\CR\2\common\i386"
command4	= "expand -r %DPSROOT%\D\S\CR\2\lang\*.* %DPSROOT%\D\S\CR\2\lang"
command5	= "expand -r %DPSROOT%\D\S\CR\2\lang\i386\*.* %DPSROOT%\D\S\CR\2\lang\i386"
command6	= "expand -r %DPSROOT%\D\S\CR\2\win2k_xp\*.* %DPSROOT%\D\S\CR\2\win2k_xp"
command7	= "expand -r %DPSROOT%\D\S\CR\2\win2k_xp\data\*.* %DPSROOT%\D\S\CR\2\win2k_xp\data"
command8	= "expand -r %DPSROOT%\D\S\CR\2\win2k_xp\i386\*.* %DPSROOT%\D\S\CR\2\win2k_xp\i386"
command9	= "del /q %DPSROOT%\D\S\CR\2\*.??_"
command10	= "del /q %DPSROOT%\D\S\CR\2\common\*.??_"
command11	= "del /q %DPSROOT%\D\S\CR\2\common\i386\*.??_"
command12	= "del /q %DPSROOT%\D\S\CR\2\lang\*.??_"
command13	= "del /q %DPSROOT%\D\S\CR\2\lang\i386\*.??_"
command14	= "del /q %DPSROOT%\D\S\CR\2\win2k_xp\*.??_"
command15	= "del /q %DPSROOT%\D\S\CR\2\win2k_xp\data\*.??_"
command16	= "del /q %DPSROOT%\D\S\CR\2\win2k_xp\i386\*.??_"
command17	= "copy /y %DPSROOT%\D\S\CR\2\common\i386\CtCtlPan.cpl %SystemRoot%\system32\"
command18	= "copy /y %DPSROOT%\D\S\CR\2\common\i386\CtPanel.exe %SystemRoot%\system32\"
command19	= "start /wait %DPSROOT%\D\S\CR\2\CTZAPXX.exe /S"


[wnt5_x86-32__0011__D-S-CR-3]
tagFiles	= 2
tagFile1	= "%SystemRoot%\system32\drivers\P17.sys"
tagFile2	= "%DPSROOT%\D\S\CR\3\Ctzapxx.ini"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\S\CR\3\*.inf"
-infFiles	= 0
commands	= 14
command1	= "expand -r %DPSROOT%\D\S\CR\3\*.* %DPSROOT%\CR\3"
command2	= "expand -r %DPSROOT%\D\S\CR\3\AddOn\*.* %DPSROOT%\D\S\CR\3\AddOn"
command3	= "expand -r %DPSROOT%\D\S\CR\3\common\*.* %DPSROOT%\D\S\CR\3\common"
command4	= "expand -r %DPSROOT%\D\S\CR\3\Lang\i386\*.* %DPSROOT%\D\S\CR\3\Lang\i386"
command6	= "expand -r %DPSROOT%\D\S\CR\3\Win2K_XP\*.* %DPSROOT%\D\S\CR\3\Win2K_XP"
command7	= "expand -r %DPSROOT%\D\S\CR\3\Win2K_XP\i386\*.* %DPSROOT%\D\S\CR\3\Win2K_XP\i386"
command8	= "del /q %DPSROOT%\D\S\CR\3\*.??_"
command9	= "del /q %DPSROOT%\D\S\CR\3\Addon\*.??_"
command10	= "del /q %DPSROOT%\D\S\CR\3\common\*.??_"
command11	= "del /q %DPSROOT%\D\S\CR\3\Lang\i386\*.??_"
command12	= "del /q %DPSROOT%\D\S\CR\3\Win2K_XP\*.??_"
command13	= "del /q %DPSROOT%\D\S\CR\3\Win2k_XP\i386\*.??_"
command14	= "start /wait %DPSROOT%\D\S\CR\3\CTZapxx.Exe /S"


[wnt5_x86-32__0012__D-S-H-2]
tagFiles	= 0
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\S\H\2.inf"
-infFiles	= 0
commands	= 4
command1	= "%SystemDrive%\devcon.exe disable =net"
command2	= "%SystemDrive%\devcon.exe updateni %DPSROOT%\D\S\H\2\wdmaherc.inf "PCI\VEN_1013&DEV_6003&SUBSYS_*""
command3	= "%SystemDrive%\devcon.exe updateni %DPSROOT%\D\S\H\2\wdmaherc.inf "HERCULES\*""
command4	= "%SystemDrive%\devcon.exe enable =net"


[wnt5_x86-32__0013__D-S-N]
tagFiles	= 1
tagFile1	= "%SystemRoot%\system32\drivers\nvapu.sys"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\S\N\*.inf"
-infFiles	= 0
commands	= 3
command1	= "start /wait %DPSROOT%\D\S\N\AudioUtl.exe -y -o%DPSTMP%"
command2	= "start /wait %DPSTMP%\Setup.exe -s -f1"
command3	= "rd /s /q %DPSTMP%"


[wnt5_x86-32__0014__D-S-S-U]
tagFiles	= 1
tagFile1	= "%SystemRoot%\system32\drivers\sthda.sys"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\S\S\U\3\*.inf"
-infFiles	= 0
commands	= 6
command1	= "copy /y %DPSROOT%\D\S\S\U\stlang.dll %SystemRoot%\system32"
command2	= "copy /y %DPSROOT%\D\S\S\U\stacgui.dll %SystemRoot%\system32"
command3	= "copy /y %DPSROOT%\D\S\S\U\stacgui.cpl %SystemRoot%\system32"
command4	= "md "%ProgramFiles%\Sigmatel\C-Major Audio\STACGUI""
command5	= "copy /y %DPSROOT%\D\S\S\U\sttray.exe "%ProgramFiles%\Sigmatel\C-Major Audio\STACGUI""
command6	= "copy /y %DPSROOT%\D\S\S\U\stlang.dll "%ProgramFiles%\Sigmatel\C-Major Audio\WDM""


[wnt5_x86-32__0015__D-S-SI-1]
tagFiles	= 1
tagFile1	= "%SystemRoot%\system32\drivers\sis7012.sys"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\S\SI\1\*.inf"
-infFiles	= 0
commands	= 1
command1	= "start /wait %DPSROOT%\D\S\SI\1\SI_7012.exe x -y o%SystemRoot%\"


[wnt5_x86-32__0016__D-S-SI-2]
tagFiles	= 1
tagFile1	= "%SystemRoot%\system32\drivers\sis7018.sys"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\S\SI\2\*.inf"
-infFiles	= 0
commands	= 1
command1	= "start /wait %DPSROOT%\D\S\SI\2\SI_7018.exe x -y o%SystemRoot%\"


[wnt5_x86-32__0017__D-S-T-2]
tagFiles	= 1
tagFile1	= "%SystemRoot%\system32\drivers\FM801.sys"
tagFile1	= "%DPSROOT%\D\S\T\2\Setup.ex_"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\S\T\2\*.inf"
-infFiles	= 0
commands	= 3
command1	= "expand -r %DPSROOT%\D\S\T\2\*.* %DPSROOT%\D\S\T\2"
command2	= "del /q %DPSROOT%\D\S\T\2\*.??_"
command3	= "start /wait %DPSROOT%\D\S\T\2\Setup.exe /S"


[wnt5_x86-32__0018__D-S-T-3]
tagFiles	= 1
tagFile1	= "%SystemRoot%\system32\drivers\cmaudio.sys"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\S\T\3\*.inf"
-infFiles	= 0
commands	= 1
command1	= "start /wait %DPSROOT%\D\S\T\3\T_3.exe"

[wnt5_x86-32__0019__D-S-T-4]
tagFiles	= 1
tagFile1	= "%SystemRoot%\system32\drivers\TT1724ht.sys"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\S\T\4\*.inf"
-infFiles	= 0
commands	= 1
command1	= "start /wait %DPSROOT%\D\S\T\4\T_SSU.exe"


[wnt5_x86-32__0020__D-S-T-5]
tagFiles	= 1
tagFile1	= "%SystemRoot%\system32\drivers\dmxsens.sys"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\S\T\5\*.inf"
-infFiles	= 0
commands	= 1
command1	= "start /wait %DPSROOT%\D\S\T\5\T_DMX.exe"


[wnt5_x86-32__0021__D-S-V-1]
tagFiles	= 1
tagFile1	= "%SystemRoot%\system32\drivers\envysens.sys"
tagFile1	= "%DPSROOT%\D\S\V\1\V_ENVY.exe"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\S\V\1\*.inf"
-infFiles	= 0
commands	= 1
command1	= "start /wait %DPSROOT%\D\S\V\1\V_ENVY.exe -y -o%SystemRoot%\"


[wnt5_x86-32__0022__D-S-V-2]
tagFiles	= 2
tagFile1	= "%SystemRoot%\system32\drivers\vinyl97.sys"
tagFile2	= "%DPSROOT%\D\S\V\2\V_VINYL.exe"
+hwids		= 0
-hwids		= 0
+infFiles	= 1
+infFile1	= "%DPSROOT%\D\S\V\2\*.inf"
-infFiles	= 0
commands	= 1
command1	= "start /wait %DPSROOT%\D\S\V\2\V_VINYL.exe -y -o%SystemRoot%\"

And DPsFnshr.log

2006-10-31 09:31:08 : <INIT> DriverPacks Finisher 6.10 initialized.
2006-10-31 09:31:08 : <INIT> Splash screen initialized.
2006-10-31 09:31:08 : <INIT> Detected platform wnt5_x86-32.
2006-10-31 09:31:08 : <INIT> Start logging of the HWIDs for relevant devices present in this system.
2006-10-31 09:31:08 : <INIT> 1. ACPI devices

ACPI\FIXEDBUTTON\2&DABA3FF&0                                : ACPI Fixed Feature Button
ACPI\GENUINEINTEL_-_X86_FAMILY_15_MODEL_3\_0                : Intel(R) Pentium(R) 4 CPU 3.00GHz
ACPI\GENUINEINTEL_-_X86_FAMILY_15_MODEL_3\_1                : Intel(R) Pentium(R) 4 CPU 3.00GHz
ACPI\PNP0000\4&247BCBC6&0                                   : Programmable interrupt controller
ACPI\PNP0003\1                                              : Advanced programmable interrupt controller
ACPI\PNP0100\4&247BCBC6&0                                   : System timer
ACPI\PNP0200\4&247BCBC6&0                                   : Direct memory access controller
ACPI\PNP0303\4&247BCBC6&0                                   : Standard 101/102-Key or Microsoft Natural PS/2 Keyboard
ACPI\PNP0401\4&247BCBC6&0                                   : ECP Printer Port (LPT1)
ACPI\PNP0501\1                                              : Communications Port (COM1)
ACPI\PNP0700\4&247BCBC6&0                                   : Standard floppy disk controller
ACPI\PNP0800\4&247BCBC6&0                                   : System speaker
ACPI\PNP0A03\2&DABA3FF&0                                    : PCI bus
ACPI\PNP0B00\4&247BCBC6&0                                   : System CMOS/real time clock
ACPI\PNP0C01\2&DABA3FF&0                                    : System board
ACPI\PNP0C02\1                                              : Motherboard resources
ACPI\PNP0C02\2                                              : Motherboard resources
ACPI\PNP0C04\4&247BCBC6&0                                   : Numeric data processor
ACPI\PNP0C0C\2&DABA3FF&0                                    : ACPI Power Button
ACPI\PNP0F13\4&247BCBC6&0                                   : PS/2 Compatible Mouse
ACPI_HAL\PNP0C08\0                                          : Microsoft ACPI-Compliant System
ROOT\ACPI_HAL\0000                                          : Advanced Configuration and Power Interface (ACPI) PC
22 matching device(s) found.

2006-10-31 09:31:08 : <INIT> 2. PCI devices

PCI\VEN_14E4&DEV_1696&SUBSYS_12BC103C&REV_03\4&2C4CBB84&0&10F0: Broadcom NetXtreme Gigabit Ethernet for hp
PCI\VEN_8086&DEV_244E&SUBSYS_00000000&REV_C2\3&61AAA01&3&F0 : Intel(R) 82801DB PCI Bridge - 244E
PCI\VEN_8086&DEV_24D0&SUBSYS_00000000&REV_02\3&61AAA01&3&F8 : Intel(R) 82801EB LPC Interface Controller - 24D0
PCI\VEN_8086&DEV_24D1&SUBSYS_12BC103C&REV_02\3&61AAA01&3&FA : Intel(R) 82801EB Ultra ATA Storage Controllers - 24D1
PCI\VEN_8086&DEV_24D2&SUBSYS_12BC103C&REV_02\3&61AAA01&3&E8 : Intel(R) 82801EB USB Universal Host Controller - 24D2
PCI\VEN_8086&DEV_24D4&SUBSYS_12BC103C&REV_02\3&61AAA01&3&E9 : Intel(R) 82801EB USB Universal Host Controller - 24D4
PCI\VEN_8086&DEV_24D5&SUBSYS_12BC103C&REV_02\3&61AAA01&3&FD : SoundMAX Integrated Digital Audio
PCI\VEN_8086&DEV_24D7&SUBSYS_12BC103C&REV_02\3&61AAA01&3&EA : Intel(R) 82801EB USB Universal Host Controller - 24D7
PCI\VEN_8086&DEV_24DB&SUBSYS_12BC103C&REV_02\3&61AAA01&3&F9 : Intel(R) 82801EB Ultra ATA Storage Controllers - 24DB
PCI\VEN_8086&DEV_24DD&SUBSYS_12BC103C&REV_02\3&61AAA01&3&EF : Intel(R) 82801EB USB2 Enhanced Host Controller - 24DD
PCI\VEN_8086&DEV_2570&SUBSYS_00000000&REV_02\3&61AAA01&3&00 : Intel(R) 82865G/PE/P/GV/82848P Processor to I/O Controller - 2570
PCI\VEN_8086&DEV_2572&SUBSYS_12BC103C&REV_02\3&61AAA01&3&10 : Intel(R) 82865G Graphics Controller
12 matching device(s) found.

2006-10-31 09:31:08 : <INIT> 3. HDAUDIO devices

No matching devices found.

2006-10-31 09:31:08 : <INIT> 4. USB devices

USB\ROOT_HUB\4&29FDE0AD&0                                   : USB Root Hub
USB\ROOT_HUB\4&316A71EE&0                                   : USB Root Hub
USB\ROOT_HUB\4&73B8598&0                                    : USB Root Hub
USB\ROOT_HUB20\4&F2E88BD&0                                  : USB Root Hub
4 matching device(s) found.

2006-10-31 09:31:08 : <INIT> Logging of HWIDs complete.
[b]2006-10-31 09:31:08 : <CRIT> The DriverPacks root directory in the settings file doesn't contain a valid DriverPacks directory structure![/b]
2006-10-31 09:31:13 : <CLNP> Deleted "C:\DPsFnshr.ini"!
2006-10-31 09:31:13 : <CLNP> Deleted "C:\devcon.exe"!
2006-10-31 09:31:13 : <CLNP> Deleted "C:\makePNF.exe"!
2006-10-31 09:31:13 : <CLNP> Deleted "C:\pmtimer.exe"!
2006-10-31 09:31:13 : <CLNP> Deleted "C:\DSPdsblr.exe"!
2006-10-31 09:31:13 : <CLNP> Added new value to the RunOnce key in the registry: the DriverPacks Finisher itself will get deleted after the next reboot.
2006-10-31 09:31:13 : Program terminated.

Also, I assume if I want to save some space, I could place the extracted drivers folder "D" inside of C:\sysprep, except for GuiRunOnce runs after the SysPrep folder deletes itself (I'm assuming) which I think would cause problems for DPsFnshr.exe. 

Thanks again for all your help!

Bâshrat the Sneaky wrote:

4) Copy/extract all attached files to C:\. (Do not forget this step!)

This is the only part I'm confused on.  I figured out that you get devpath.exe out of \bin\wnt5_x86-32\M2.7z, and DPsFnshr.exe out of \bin\DPsFnshr.7z from BASE.  Is there anything else you need to place in C:\ other than the contents of M2.7z and DPsFnsh.7z?  Does all of \bin and \bin\wnt5_x86-32 need to be copied and/or extracted to C:\?

Thanks again!

I would LOVE to find the official updated instructions for using Sysprep with the C++ version of BASE.  Are these posted anywhere?

skinlayers