Jump to content

XP Unattended Upgrade with Custom Drivers


MaxWilder

Recommended Posts

Forgive me if I'm duplicating something, but I'm going a bit crazy trying to sift through the mountain of information on this site. :wacko:

I'm upgrading my whole company from Win2k to XP. I've got most of it figured out, but I keep running into problems because of a NIC Device Driver. The driver currently on all the machines is incompatible with XP.

I have the XP version of the driver, but I can't figure out how to get it into an UPGRADE version of an unattended install.

Since I can't copy over any OEM folder, I tried to use nLite to integrate it into a .cab, but all that does is cause an error message ("Setup cannot copy the file: e100b325.inf", etc.).

I don't know exactly what nLite is doing, and I can't find any information about what to do next that isn't completely inapplicable to my situation.

Does anybody have a newbie's guide to cab'ing drivers? Or is it even possible for an upgrade install?

BTW, the stickies in this forum are completely unintelligible for a newb like me. :}

Link to comment
Share on other sites


Well, I finally got it to work. My boss discovered that devcon can only handle somewhere around 40 characters in the hardware id.

For example, my NIC has the hardware id "PCI\VEN_8086&DEV_1229&SUBSYS_000C8086&REV_08\4&2AF9ED5&0&08F0"

If you put that whole ID in the line, devcon will choke.

However, it works fine if you just use PCI\VEN_8086&DEV_1229&SUBSYS_000C8086.

So it finally worked when I used the line:

devcon update c:\drivers\Network\Intel\e100b325.inf "PCI\VEN_8086&DEV_1229&SUBSYS_000C8086"

This should solve my driver problem. I hope this can be of use to others.

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

In case anybody is interested in the batch code I now use...

I have two drivers that need to be upgraded nearly every time I upgrade from Win2k to WinXP: The NIC and the Video Card. On our systems, we have some ATI cards and some nvidia cards.

Since upgrading the NIC driver will disconnect the network until restart, I started by copying over all the XP install files. If you are doing this from a CD, this obviously doesn't apply. Remember, my challenge was a mass upgrade from Win2000 to WinXP. I ran this batch file over the network from an account with Administrator privileges.

After copying the setup files, the main code is

:_NIC_DRIVER_
ECHO NIC
set hwid=
for /F USEBACKQ %%l in ( `nic.bat` ) do SET hwid=%%l

ECHO Intel PRO Card hwid: >> drivers.log
ECHO ^  "%hwid%" >> drivers.log
ECHO. >> drivers.log

SET hwid="%hwid:~0,21%"
echo %hwid%
if %hwid% == "" goto _SKIP_NIC_
devcon update %SetupFiles%\drivers\Network\Intel\e100b325.inf %hwid%

:_SKIP_NIC_

:_NVIDIA_DRIVER_
echo NVID
set hwid=
for /F USEBACKQ %%l in ( `nvidia.bat` ) do SET hwid=%%l

ECHO NVIDIA Card hwid: >> drivers.log
ECHO ^  "%hwid%" >> drivers.log
ECHO. >> drivers.log

if "%hwid%" == "" goto _SKIP_NVIDIA_

SET hwid="%hwid:~0,21%"
devcon update %SetupFiles%\drivers\NVIDIA\Win2KXP\66.93\nv4_disp.inf %hwid%
:_SKIP_NVIDIA_

:_ATI_DRIVER_
echo ATI
set hwid=
for /F USEBACKQ %%l in ( `ati.bat` ) do SET hwid=%%l

ECHO ATI Card hwid: >> drivers.log
ECHO ^  "%hwid%" >> drivers.log
ECHO. >> drivers.log

if "%hwid%" == "" goto _SKIP_ATI_

SET hwid="%hwid:~0,21%"
devcon update %SetupFiles%\drivers\ATI\2KXP_INF\c2_19577.inf %hwid%

:_SKIP_ATI_

:_BEGIN_INSTALL_

Each of the batch files called are very small:

nic.bat: The NICs in our systems are almost always some form of INTEL PRO PCI variation, so we had to really drill down to eliminate all the other INTEL lines that devcon found:

@echo off
devcon find * | find "PRO/" | find "PCI"

nvidia.bat: The video drivers were much easier to single out.

@echo off
devcon find * | find "NVID"

ati.bat

@echo off
devcon find * | find "ATI"

After the drivers were updated, the install command is executed from the local directory where all the install files were copied.

%SetupFiles%\i386\winnt32.exe /s:%SetupFiles%\i386 /unattend:%SetupFiles%\%AnswerFile% /udf:%ComputerName%,%SetupFiles%\%UdfFile% /syspart:C /makelocalsource /debug4:install.log

As you can see I included lots of code to make logs, so I could see where things borked. Most of my upgrades run pretty smoothly now. I'm now incorporating defrags and backups of the vital WinNT folders in case of a major malfunction during the upgrade. The code just keeps expanding. :rolleyes:

Link to comment
Share on other sites

  • 1 month later...

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