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)