Topic: How do you use DriverPacks?

Currently I use them in conjunction with Ghost and Sysprep to create a universal image.

*NOTE* Machine MUST have a smaller hard drive than the systems it will be re-imaged on and you must set the HAL on "Computer" to a "Advanced Configuration and Power Interface (ACPI) PC" (computer should be restarted after change) before starting this process.

A nice image of why we set the HAL on the forum post http://www.altirigos.com/vbulletin/show … amp;page=2

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
(1) I split the drivers into two areas on root of the base workstation, pre-image. One is essential and the second is well secondary. Extract all 7zip files and then put them in the corresponding folders -
C:\D has CPU, Chipset, LAN
C:\D2 has Sound, Graphics, WLAN

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
(2) Run the utility called Sysprep Driver Scanner to enumerate and add the drivers to the registry, pre-sysprep. Put this program in the folder C:\D2
http://www.vernalex.com/tools/spdrvscn/index.shtml

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
(3) I edit my Sysprep.inf to incorporate the Storage drivers add under

;------------------------------------------------------------------------------------------------
[Sysprep]
    BuildMassStorage=Yes

[SysprepMassStorage]
    Primary_IDE_Channel = %windir%\inf\mshdc.inf
    Secondary_IDE_Channel = %windir%\inf\mshdc.inf
    PCMCIA\*PNP0600=%systemroot%\inf\mshdc.inf
    *PNP0600=%systemroot%\inf\mshdc.inf
    PCMCIA\KME-KXLC005-A99E=%systemroot%\inf\mshdc.inf
    PCMCIA\_-NinjaATA--3768=%systemroot%\inf\mshdc.inf
    PCMCIA\FUJITSU-IDE-PC_CARD-DDF2=%systemroot%\inf\mshdc.inf
    *AZT0502=%systemroot%\inf\mshdc.inf
    PCI\CC_0101=%systemroot%\inf\mshdc.inf
    PCI\VEN_10B9&DEV_5215=%systemroot%\inf\mshdc.inf
    PCI\VEN_10B9&DEV_5219=%systemroot%\inf\mshdc.inf
    PCI\VEN_10B9&DEV_5229=%systemroot%\inf\mshdc.inf
    PCI\VEN_1097&DEV_0038=%systemroot%\inf\mshdc.inf
    PCI\VEN_1095&DEV_0640=%systemroot%\inf\mshdc.inf
    PCI\VEN_1095&DEV_0646=%systemroot%\inf\mshdc.inf
    PCI\VEN_0E11&DEV_AE33=%systemroot%\inf\mshdc.inf
    PCI\VEN_8086&DEV_1222=%systemroot%\inf\mshdc.inf
    PCI\VEN_8086&DEV_1230=%systemroot%\inf\mshdc.inf
    PCI\VEN_8086&DEV_7010=%systemroot%\inf\mshdc.inf
    PCI\VEN_8086&DEV_7111=%systemroot%\inf\mshdc.inf
    PCI\VEN_8086&DEV_2411=%systemroot%\inf\mshdc.inf
    PCI\VEN_8086&DEV_2421=%systemroot%\inf\mshdc.inf
    PCI\VEN_8086&DEV_7199=%systemroot%\inf\mshdc.inf
    PCI\VEN_1042&DEV_1000=%systemroot%\inf\mshdc.inf
    PCI\VEN_1039&DEV_0601=%systemroot%\inf\mshdc.inf
    PCI\VEN_1039&DEV_5513=%systemroot%\inf\mshdc.inf
    PCI\VEN_10AD&DEV_0001=%systemroot%\inf\mshdc.inf
    PCI\VEN_10AD&DEV_0150=%systemroot%\inf\mshdc.inf
    PCI\VEN_105A&DEV_4D33=%systemroot%\inf\mshdc.inf
    PCI\VEN_1106&DEV_0571=%systemroot%\inf\mshdc.inf
    ;---- Latest Drivers for INTEL Chipsets
    PCI\VEN_8086&DEV_24D0=C:\D\C\I\xp\ich5core.inf
    PCI\VEN_8086&DEV_24DC=C:\D\C\I\xp\ich5core.inf
    PCI\VEN_8086&DEV_24D3=C:\D\C\I\xp\ich5core.inf
    PCI\VEN_8086&DEV_2640=C:\D\C\I\xp\ich6core.inf
    PCI\VEN_8086&DEV_2641=C:\D\C\I\xp\ich6core.inf
    PCI\VEN_8086&DEV_2642=C:\D\C\I\xp\ich6core.inf
    PCI\VEN_8086&DEV_27B0=C:\D\C\I\xp\ich7core.inf
    PCI\VEN_8086&DEV_27B1=C:\D\C\I\xp\ich7core.inf
    PCI\VEN_8086&DEV_27B8=C:\D\C\I\xp\ich7core.inf
    PCI\VEN_8086&DEV_27B9=C:\D\C\I\xp\ich7core.inf
;------------------------------------------------------------------------------------------------

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
(4) I've edited my Sysprep.inf to run a batch script called Install.Drivers.bat at first login.

;------------------------------------------------------------------------------------------------
[GuiRunOnce]
Command0="C:\D2\Install.Drivers.HAL.bat"        ;--- If anything didn't install automatically
;------------------------------------------------------------------------------------------------

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
(5) Create the driver installer script and save it to C:\D2 as Install.Drivers.HAL.bat

REM -------------------------------------------------------------------------------------------
@ECHO OFF
echo.
echo Driver Installer and HAL Update Utility
echo.
SET CD=C:\D2

ECHO Setting Driver Signing Policy to OFF
START %CD%\WatchDriverSigningPolicy.exe
ECHO.
ECHO Importing Drivers to Registry
REM uses the C:\D2 directory and also puts the C:\Windows\INF folder first
START /WAIT %CD%\spdrvscn /p c:\D2 /e inf /d %windir%\inf /a /s /q
ECHO.
ECHO Starting Driver Manager so you can see some progress
START devmgmt.msc
ECHO.
ECHO Starting Install of Hardware - This could take up to 10 minutes!
ECHO.
ECHO Please be patient - Some devices need a system restart
ECHO.
START /WAIT RunDll32.exe Syssetup.dll,UpdatePnpDeviceDrivers
ECHO.
ECHO DONE INSTALLING DEVICE DRIVERS
ECHO.
ECHO Closing Driver Signing and Device Manager
taskkill /f /im WatchDriverSigningPolicy.exe
taskkill /f /im mmc.exe
ECHO.
ECHO.

echo Updating your machine if you have a DUAL CORE or DUAL PROCESSOR
goto HALUPDATE
:HALUPDATE
echo.
echo Is this Laptop a Dual-Core or Multi-Processor Machine?
ECHO Press Y if Yes
ECHO Press N if No
ECHO then Enter when Done
echo.

:HALUPDATE2
set /P C=[Y,N]?
if "%C%"=="N" goto UniProcessorHAL
if "%C%"=="n" goto UniProcessorHAL
if "%C%"=="Y" goto MultiProcessorHAL
if "%C%"=="y" goto MultiProcessorHAL
goto HALUPDATE2

:UniProcessorHAL
ECHO The laptop is all set!
goto QUITBATCH

:MultiProcessorHAL
ECHO The laptop needs some additional files, the laptop will restart when Done
echo.
REM %CD%\devcon.exe sethwid @ROOT\PCI_HAL\0000 := !E_ISA_UP !ACPIPIC_UP !ACPIAPIC_UP !ACPIAPIC_MP !MPS_UP !MPS_MP !SGI_MPS_MP !SYSPRO_MP !SGI_MPS_MP
%CD%\devcon.exe sethwid @ROOT\ACPI_HAL\0000 := !E_ISA_UP !ACPIPIC_UP !ACPIAPIC_UP !ACPIAPIC_MP !MPS_UP !MPS_MP !SGI_MPS_MP !SYSPRO_MP !SGI_MPS_MP
REM %CD%\devcon.exe sethwid @ROOT\PCI_HAL\0000 := +MPS_MP !MPS_up
%CD%\devcon.exe sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_mp !acpiapic_up
%CD%\devcon.exe update %windir%\inf\hal.inf acpiapic_mp
REM %CD%\devcon.exe ReScan
%CD%\devcon.exe Reboot
echo.
ECHO *****************************
ECHO Rebooting Laptop Please Wait!
ECHO *****************************
echo.

:QUITBATCH
exit
:end
REM --------------------------------------------------------------------------------------------

As you can see it uses the Sysprep Driver Scanner and WatchDriverSigningPolicy (you can find that through google) and DEVCON (From the Windows 2003 Administrative Toolkit, also in the DPsFnshr.7z file). All files must be in the folder C:\D2
I'm sure you could edit the script to expand 7zip files and not have to extract the secondary driverpacks till after the re-image.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
(5) Edit Sysprep to have these settings specifically. DO NOT ADD DRIVERS VIA THIS METHOD. We've already done it via the registry. Doing so will negate what we've done so far.

;------------------------------------------------------------------------------------------------
[Unattended]
    ExtendOemPartition=1 ;---- This will take a whatever the small size of the image is and expand it
    OemSkipEula=Yes
    KeepPageFile=0
    UpdateInstalledDrivers=Yes ;---- This will update the drivers, obviously
    DriverSigningPolicy=Ignore ;---- Ignoring Driver Signing
    InstallFilesPath = "C:\sysprep"
    TargetPath=\WINDOWS

[Networking]
    InstallDefaultComponents=Yes
;------------------------------------------------------------------------------------------------

Edit the rest of the Sysprep.inf to your liking.


(7) !IMPORTANT! Make sure that in Device Manager that your "Computer" is set to "Advanced Configuration and Power Interface (ACPI) PC". If not set it, I believe you must restart in order for this to take affect.

(8) Then run the Sysprep.exe. 
Only check ON "Don't reset grace period" and "Use mini-setup" make sure "Shut Down" is selected, when ready click the RESEAL button.

(9) Sysprep will go through it's motions and shut down. This is the time to get ghost ready and then restart and image. I usually create a base image called, well BASE, one that is before sysprep and up to step 8. Then create another image called SYSPREP for after sysprep is run. This way I don't screw with certain things that happen after Sysprep is run and can make changes without bloating my image.

Last edited by stamandster (2007-09-21 04:22:22)

Re: How do you use DriverPacks?

I have a question, why you don't use all entries provided by the -bmsd switch in your [SysprepMassStorage]. Are the ones shown above enought to support all IDE controllers ?

For your HAL issue, you could use mysysprep.exe its much more simple. You could also use the driverpack "method" to install your drivers at 1st boot, refer to this post: http://forum.driverpacks.net/viewtopic.php?pid=11958

mysysprep.exe: http://jimtsay.googlepages.com/mysysprep

Another question, have you experienced any problems when sysprep is running and installing the Network Components ? Sometimes this part of mini-setup can take up to 5 min on certains PCs. I will try this and let you know.

[Networking]
    InstallDefaultComponents=No

[NetClients]
    MS_MSClient=params.MS_MSClient


0x00000007E issue fix
http://www.runpcrun.com/0x0000007E?page=1

Re: How do you use DriverPacks?

I haven't had great success with mySysprep for some reason. I don't know why.

AS for networking, I just don't add Wireless drivers with the scanner. The wireless drivers do add considerable sysprep time, even up to 10 minutes during network configuration portion. If that part fixes it that'd be great. It was just a suggestion not to use all of the drivers. Currently I load all drivers into the registry before sysprep. I don't use BMSD because I only use the image on about 5 different models currently and the time to sysprep would increase. I'm just trying to keep things slimmed.

Last edited by stamandster (2007-09-21 14:11:30)

Re: How do you use DriverPacks?

the M$ KB still posts about the issue..
http://support.microsoft.com/default.aspx/kb/888372

but does not offer the fix.
that is indeed weird.

Last edited by Jaak (2007-09-22 11:09:37)

The answer was 42?
Kind regards, Jaak.

Re: How do you use DriverPacks?

If you simply sysprep a Windows install using DriverPacks with KTD, the only two things lacking in order to make a universal image are the x0...07b/mass storage controller problem and the HAL problem. Some relatively minor things break that way (HD audio), but are easy to fix. There are several methods for resolving the HAL issue. I haven't found any satisfactory solution to the  x0...07b error; manually adding lines to the sysprepmassstorage section has problems with Intel drivers in particular and is tedious in general, and I haven't found a FixIDE script newer than September 2006. This method doesn't seem to solve the mass storage problem either. What are the advantages to using this method over the aformentioned method?

Last edited by johnk963 (2007-09-23 16:31:42)

Re: How do you use DriverPacks?

Universal is a broad term. The way I use it is that I can image any computer in my company. It does take some prep to make sure that the drivers for the SysprepMassStorage are correct. And that you image on the correct HAL. Almost all computers that you are going to image will be able to run with these settings that I described.

There was also a universal IDE controller driver that was posted on the MSFN.org forums a while back. Perhaps that would help with some of this?
---
http://alter.org.ua/en/soft/win/uni_ata/

Last edited by stamandster (2007-09-25 01:14:06)

Re: How do you use DriverPacks?

My brother (JakeLD) and I have been modified sysprep .inf by including the mass storage controller manually. I would say that at least 70% of the market use intel chipset, even more in company. So if you get your sysprep working with intel chipset you're in business. As for the HAL problem, we have been using mysysprep for a while and it's working perfectly. In a near future this HAL problem will disappear with dual-core cpu taking the market over.

Re: How do you use DriverPacks?

From another thread I started, others who were working on sysprep/driverpack problems said that the new Intel drivers cause an issue with some older Intel hardware.  Are you sure that your method doesn't have a problem with older Intel hardware? Regarding other hardware, I understand that Intel is the majority of the market, but we do occassionally have to install Windows on some more exotic hardware and could certainly use a way to modify Sysprep.inf automatically. The script that someone made here had some issues with it, but it seemed to be  a good start.

Re: How do you use DriverPacks?

My images can image from a Intel BX, VIA, SIS chipsets all the way up to the new ICH7's so far. I haven't had to do a 8 or 9 yet.

Last edited by stamandster (2007-09-25 06:51:24)

Re: How do you use DriverPacks?

kickarse wrote:

My images can image from a Intel BX, VIA, SIS chipsets all the way up to the new ICH7's so far. I haven't had to do a 8 or 9 yet.

Are any of them SATA with AHCI enabled?

Re: How do you use DriverPacks?

The Intel issue was fixed by the new masstorage pack, Jaak splited the driver in three distinct folder so it support all Intel SATA controllers. Make sure you update your mass storage section in sysprep.inf when you update the Mass Storage drivers. If the sysprep dont shutdown your PC or runs forever it is because you have HWID or non existing INF pointing in your syspep.inf file.

Last edited by JakeLD (2007-09-25 07:21:42)

Re: How do you use DriverPacks?

Hi
well, the intel INF won't do duplicate HWIDs (they are edited out), and the files have unique names.

Somebody once suggested to also make the service names in the INF unique for each driver.

(in the latest Mass storage testpack, Silicon Image drivers were edited similarly. The files got UNIQUE names, the HWIDs have no overlap in the INFs, and the latest driver will only support the few HWIDs it has exclusive to itself.
There is reason to believe the OLDer driver (for older silicon BIOS) will run in silicon's newer BIOS, but we know for sure that the newest driver will NOT run in an older silicon BIOS.
Since they used same names, (and had massive overlap) I have built this "somewhat experimental" testpack on silicon image.

If it works, we all gain.
The approach should cause less pain for sysprep users.
We need you guys.
I test disc installs, and sysprep users have to do their 'thing".

Last edited by Jaak (2007-09-26 07:11:43)

The answer was 42?
Kind regards, Jaak.

Re: How do you use DriverPacks?

Yeah just let me know what I can do. I don't have any silicon chips though...

I don't know if they have AHCI enabled. I could check though.

Re: How do you use DriverPacks?

johnk963 wrote:

If you simply sysprep a Windows install using DriverPacks with KTD, the only two things lacking in order to make a universal image are the x0...07b/mass storage controller problem and the HAL problem. Some relatively minor things break that way (HD audio), but are easy to fix. There are several methods for resolving the HAL issue. I haven't found any satisfactory solution to the  x0...07b error; manually adding lines to the sysprepmassstorage section has problems with Intel drivers in particular and is tedious in general, and I haven't found a FixIDE script newer than September 2006. This method doesn't seem to solve the mass storage problem either. What are the advantages to using this method over the aformentioned method?

My first post here, so I'll start off with some info I found very helpful for this issue. 

If you go to this Microsoft KB Article KB314082, it explains in detail how to get around the 0x0000007b error.

I've successfully created a single sysprepped image which works on the following PC's

Acer 5100, Acer 5600G, Acer SK-30 & SK-50, Acer 3700GX, IBM Thinkcentre A50 as well as a few custom builds with Gigabyte and Asus motherboards.  The only PC I couldn't get the image to work on was a current model Optima WorkPro X860, which is a Q965 chipset board, however changing the SATA from AHCI to Legacy resolved fixed it and it worked fine.  I'm still looking into how to get this to work in AHCI.

Anyways, I hope this helps you guys out...

Re: How do you use DriverPacks?

You need to add the driver in your image (use mass storage pack) and specify the hwids in sysprep.inf massstorage section.

Re: How do you use DriverPacks?

Another first poster (the sysprep crowd are slowly creeping out of the woodwork!)  I've been watching this thread and another I think by SkinLayer? (appologies if i'm wrong it's late!) and I'm curious about this one in particular :

kickarse wrote:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
(1) I split the drivers into two areas on root of the base workstation, pre-image. One is essential and the second is well secondary. Extract all 7zip files and then put them in the corresponding folders -
C:\D has CPU, Chipset, LAN
C:\D2 has Sound, Graphics, WLAN

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
(2) Run the utility called Sysprep Driver Scanner to enumerate and add the drivers to the registry, pre-sysprep. Put this program in the folder C:\D2
http://www.vernalex.com/tools/spdrvscn/index.shtml

If you use the driver scanner, does it correctly install for example the ATI CCC?  I'm about to take the plunge and try a universal image after spending way to long creating individual images for all our hardware, trying to piece together everyone's tips for "universal" or at least for arguements sake "semi-universal" images has been interesting.  So any advice or tips welcomed! Also if anyone needs anything testing I'm sure I can find some time to turn the odd box into a guinea pig wink

Rob

http://d1syubgj0w3cyv.cloudfront.net/cdn/farfuture/Av2BDsDf_iiqO8a4dpI49DKicUs_0zEQtEPcTGyCqV4/perpetual:forever/userbar/tester-1.png

On a mission to re-educate users the Clue stick way!

Re: How do you use DriverPacks?

Hi, we can always use people to run tests on "non-production" machines.

Yes, it does look like the sysprep crowd come 'from the voodvork out'.
(Sorry, I had to smile. This reminded me of the Shimmelhorn tales.)

I get the feeling that proper documentation of what we did to fix issues is of extreme importance now.
For instance, ExOrt was alarmed when he used a Mass storage version where an intel driver had been updated, and the updated file was given a new name (to wit, iastor70).
When he asked, I immediately knew he had used a test-pack.

The X-files or EXPERIMENTAL mass storage testpacks have unique INF filenames now.
The drivers themselves, most can get a unique filename too, but I have not done that yet.
(It requires we edit filecopy sections in INF for each driver systemfile renamed.).

Anyway, glad to see you guys post.

The answer was 42?
Kind regards, Jaak.

Re: How do you use DriverPacks?

Yeah, I don't know about the ATI CCC. I haven't had to install it on any machines.

So far so good with all my hardware. Mobile Pentium 3 800mhz all the way up to Core 2 Duo 2.13ghz machines. Mostly Intel chipsets and some VIA.