Jump to content

Adding drivers "the old way"


Recommended Posts

We are using an automated process where we wipe, partition & format the drive. After that we simply start the installation via setup.exe (RC2-5744) and pointing out our unattend.xml file. Installation works perfectly.

Now on to my problem;

I want to add drivers without having to modify the original files (images) from MS.

If that can be achieved by creating some sort of $OEM$ structure, modification of the unattend.xml file (by adding the "PnPCustomizationsWinPE" component or just creating a local directory on the partition prior to setup and adding that path in the unattend.xml file so that Windows Vista uses that path/structure to do it's Plug'N'Play identification/matching.

So far I've tried adding an UNC path to the unattend.xml file using the "PnPCustomizationsWinPE" component " to no avail.

Any suggestions on how to do this without inserting the files in the images is appreciated!

By the way, is there any source on the Internet where the above information is available or is it "too early days"?

TIA!

Link to comment
Share on other sites


Hello!

It's possible to use a $OEM$-Structure for Vista unattended Setup. I don't know if you're using WSIM, if not I highly recommand to download and use it.

In your Autounattend.xml you have to set the <UseConfigurationSet>-Tag to true. This will copy the $OEM$-Folder-Structure from the root of any removalbe media to your install HD.

You can set this option if you click on Microsoft-Windows-Setup in the WinPE pass (1) of your answer file.

To link to one of the driver pathes choose Insert / Driver Path in WSIM and select the Windows PE pass. There you can put in the path to your driver file - you can add more than just one path by doing these steps as often as you need.

Fore more detailed information look at

Walkthrough: Build a Configutation Set

and

Understandign Distribution Shares and Configuration Sets

in WSIM help.

Martin

Link to comment
Share on other sites

Hey, TIA...

Should look like this:

.
.
.
<component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<UseConfigurationSet>true</UseConfigurationSet>
</component>

.
.
.
<component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DriverPaths>
<PathAndCredentials wcm:keyValue="1" wcm:action="add">
<Path>%Systemdrive%\Drivers\Driver1</Path>
</PathAndCredentials>
<PathAndCredentials wcm:keyValue="2" wcm:action="add">
<Path>%Systemdrive%\Drivers\Driver2</Path>
</PathAndCredentials>
</DriverPaths>
</component>

This example requires an $OEM$-Folder like this:

$OEM$\$1\Drivers\Driver1\

$OEM$\$1\Drivers\Driver2\

Can't guarantee that it will work, cause I've the feeling that the whole unattended Driver installation is not finished yet. I've problems for the moment getting image integrated drivers to work.

But this is the way it supposed to work. I've tried out the $OEM$ copy procedure from USB-Stick. It was working so far.

EDIT:

If you wanna install the drivers from UNC-Path, than you don't need the $OEM$-Folders and you don't need the <UseConfigurationSet>-Tag.

It should look like this than:

<DriverPaths>
<!-- First PathAndCredentials list item -->
<PathAndCredentials wcm:action="add" wcm:keyValue="1">
<Path>\\myFirstDriverPath\DriversFolder</Path>
<Credentials>
<Domain>MyDomain</Domain>
<Username>MyUsername</Username>
<Password>MyPassword</Password>
</Credentials>
</PathAndCredentials>
<!-- Second PathAndCredentials list item -->
<PathAndCredentials wcm:action="add" wcm:keyValue="2">
<Path>C:\Drivers</Path>
<Credentials>
<Domain>MyComputerName</Domain>
<Username>MyUsername</Username>
<Password>MyPassword</Password>
</Credentials>
</PathAndCredentials>
</DriverPaths>

Martin

Edited by FireGeier
Link to comment
Share on other sites

Hi again, Martin!

Before starting setup.exe I simply create a directory in the root of C: called Drivers and copy all my drivers to that directory (that directory and files are still there after a full installation of Vista if I do an install without an the modifications to the unattend.xml file).

When I cut and paste from your code (into <settings pass="windowsPE">) installation stops quite soon with a message box saying "Windows Setup could not prepare the specified drivers for installation, to install Windows, make sure that the drivers are valid, and restart the installation".

The drivers are valid as far as I know (if I do install them manually Windows "accepts" them without any problem (signed and all)).

Any ideas?

BTW, my name is also Martin! :)

Link to comment
Share on other sites

If the Folder allready exists, than you don't need the <UseConfigurationSet>-Tag. Cause it will look for an $OEM$-Folder.

You'll just need the Driver-Section and you have to adapt the path than:

C:\Drivers

Martin

Edit:

What kind of drivers you try to install? Are they all for Vista?

Edited by FireGeier
Link to comment
Share on other sites

Martin!

That doesn't work either (if I add the Microsoft-Windows-PnpCustomizationsWinPE component to the windowsPE pass) and with the <UseConfigurationSet> tag removed.

Are you also using the RC2-5744 release? Do you also execute setup.exe to install Vista?

The drivers are for Windows XP but install flawlessly on Vista (and seems to work properly too as far as I can say). Next step would be to try using an driver which comes through Windows Update or something (if Vista needs some kind of ID in the .INF file to be "happy" during this stage).

Link to comment
Share on other sites

Are you sure, that your Autounattend.xml file is executed? There is a switch you can use with setup.exe to force it using an Autounattend.xml... I've to look for it...

You should may move the whole driver path section to auditSystem mode than.

I'm testin with RC1 and BDD 2007 V3.3... but I don't think that this is causing the problem. And like I allready told you, I've not tested this procedure of driver installation yet.

I'll try out now...

Martin

Why you're not using Autounattend.xml to wipe and format the disk?

The switch is:

setup.exe /unattend:C:\Autounattend.xml (or whereever the Autonunattend.xml is located)

Edited by FireGeier
Link to comment
Share on other sites

Martin!

I am using the switch to point out the .XML file and I know that my .XML file is working since every other setting in the file is working as it should after Vista is installed. I'm wondering what all the switches are for setup.exe, maybe there is a switch to force something on?

Audit mode is only available when using Sysprep, isn't it? We are not using Sysprep at the momemt.

Well, I'm beginning to think that this is not possible to solve and if that is the case then I think that MS forgot something on the way. Sure, images are fine and it's fast etc. but then you have to modify the installation source, right?

Basically the question is (still), when using setup.exe (and not sysprep) is it possible to point out drivers (on the local harddisk or an UNC path (or similar)) and have them installed automatically during setup (same function as with the old answer files for W2K/XP (DevicePath))?

:huh:

Link to comment
Share on other sites

Martin!

I am using the switch to point out the .XML file and I know that my .XML file is working since every other setting in the file is working as it should after Vista is installed. I'm wondering what all the switches are for setup.exe, maybe there is a switch to force something on?

Audit mode is only available when using Sysprep, isn't it? We are not using Sysprep at the momemt.

Well, I'm beginning to think that this is not possible to solve and if that is the case then I think that MS forgot something on the way. Sure, images are fine and it's fast etc. but then you have to modify the installation source, right?

Basically the question is (still), when using setup.exe (and not sysprep) is it possible to point out drivers (on the local harddisk or an UNC path (or similar)) and have them installed automatically during setup (same function as with the old answer files for W2K/XP (DevicePath))?

:huh:

The Microsoft-Windows-PnpCustomizationsWinPE component is used to add one or more out-of-box drivers to a Windows installation. Drivers that are located in the path specified by DriverPaths are copied to the driver store of the Windows installation during the windowsPE configuration pass.

You can add boot-critical as well as non-boot-critical drivers with this component to a Windows image before it is installed.

XML ExampleThe following XML output specifies the UNC paths to additional locations for device drivers and the credentials used to access those paths.

<DriverPaths>
<!-- First PathAndCredentials list item -->
<PathAndCredentials wcm:action="add" wcm:keyValue="1">
<Path>\\myFirstDriverPath\DriversFolder</Path>
<Credentials>
<Domain>MyDomain</Domain>
<Username>MyUsername</Username>
<Password>MyPassword</Password>
</Credentials>
</PathAndCredentials>
<!-- Second PathAndCredentials list item -->
<PathAndCredentials wcm:action="add" wcm:keyValue="2">
<Path>C:\Drivers</Path>
<Credentials>
<Domain>MyComputerName</Domain>
<Username>MyUsername</Username>
<Password>MyPassword</Password>
</Credentials>
</PathAndCredentials>
</DriverPaths>

Link to comment
Share on other sites

...

Audit mode is only available when using Sysprep, isn't it? We are not using Sysprep at the momemt.

...

That is right, Martin! And if I follow the link above it's no easy way of installing drivers unattended.

Sure, images are fine and it's fast etc. but then you have to modify the installation source, right?

Well... I've integrated drivers into a Windows PE-Image (boot.wim) and in the Vista-Installation (install.wim). The procedure to do this was much easier than I've thought before... but the drivers are not installed yet. :whistle:

Basically the question is (still), when using setup.exe (and not sysprep) is it possible to point out drivers (on the local harddisk or an UNC path (or similar)) and have them installed automatically during setup (same function as with the old answer files for W2K/XP (DevicePath))?

:huh:

Well it should be possible the way fizban has described above. But I've tried that yesterday and it wasn't working for me, too. For the moment I'm checking the setup logs. Have you allready done this?

The whole driver installation part of unattended Vista is ... :angrym: me off for the moment. There are many questions and no answers...

It seems to me that MS hasn't finished the driver part in the available BDDs... :no:

Martin

Edited by FireGeier
Link to comment
Share on other sites

drivers are a trickey situatiob because alot of drivers that are being used technically are not certified for vista. this causes issues with the installation and teh PNP functionality, at least that is what i have been lead to believe. hopefully we will see a new version of the BDD nov 7 or soon after when vista is releases

Link to comment
Share on other sites

Well... driver certification is the one thing, funny log entries are the other. Here is an example of one of my many tries - please look at the diffrent path entries appearing there:

[PnPUnattend.exe] Found key '1'
2006-10-25 22:17:18, Info [PnPUnattend.exe] Processing '1'...
2006-10-25 22:17:18, Info [PnPUnattend.exe] Path = '%ystemdrive\Drivers'
2006-10-25 22:17:18, Warning [PnPUnattend.exe] No credentials provided
2006-10-25 22:17:18, Info [PnPUnattend.exe] Searching for drivers at 'XèVystemdrive\Drivers'...
2006-10-25 22:17:18, Error [PnPUnattend.exe] Failed to find driver packages at
'%Systemdrive%\Drivers' (Error code 0x3: Das System kann den angegebenen Pfad nicht finden.

The last message means, System could not find the path specified!

The path in unattend.xml is '%Systemdrive%\Drivers'. I realy don't know which path it was looking for! :no:

Link to comment
Share on other sites

Ok, I'm back!

I've been testing a lot...

WinPE pass + valid drivers = bullseye! :thumbup

Gotta leave work now so I'm in a hurry, therefore a short post (but now you know!)!

Link to comment
Share on other sites

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