To create package for driver installation ,
- Download the Driver
- Extract what you really need
- Create a new package
- Add a Driver Feature to your package
- Adding DIFxApp merge module to your package
- Adding driver to the package and setting it to install
- Deploying your package
- Extract what you really need
- Create a new package
- Add a Driver Feature to your package
- Adding DIFxApp merge module to your package
- Adding driver to the package and setting it to install
- Deploying your package
Download the Driver
We'll start by opening our Web browser to Dell's Web site and choosing "Support and Help" - > "Drivers and Downloads". For the computer model, we will choose OptiPlex GX260 and Windows XP.
For this demo we'll use the Network driver called "3Com 3C905C-TXM Ethernet Adaptor" as an example. We will use this one because network drivers tend to be good culprits for extra fluff during their installations. Who cares if we have Intel's gadget for allowing us display statistics or other information about the network card? We just want the NIC to do its job right? The file name we download is R49958.EXE.
Extract what you really need
Next we will execute the downloaded file and it will extract to the folder C:\Dell\Drivers\R49958. Then it automatically launches the setup. Instead of running the setup, we want to click cancel at this screen.
Next we want to explore the folder it created inside of the R49958 folder we see a version.txt file and a folder called Windows. Open the Windows folder we are looking for the INF files for the driver. For this particular driver we find them in the C:\dell\drivers\R49958\Windows\Update\Source folder.
Looking at the .inf files that are located in that folder we see several files. If you open the W9X90XBC.INF file and look all the way to the bottom of the file you'll see that it says it is the "Installation file for 90x - v5.4.67". This inf file also has sections for Win9x, Windows 2000, and all other Operating systems. This should work for us. Also, at the top we want to note that the catalog file is w9x90xbc.cat. In the inf file it lists el90xBC3.sys, el90xBC5.sys and netdi90x.dll under [SourceDisksFiles]. Using this information we can determine that we need the following files:
W9X90XBC.INF
w9x90xbc.cat
el90xBC3.sy_
el90xBC5.sy_
netdi90x.dl_
w9x90xbc.cat
el90xBC3.sy_
el90xBC5.sy_
netdi90x.dl_
Let's copy them to a separate location. Then use the expand command to decompress el90xBC3.sy_ to el90xBC3.sys. Also, use the expand command to decompress netdi90x.dl_ to netdi90x.dll. Do the same for el90xBC5.sy_. You can now delete the files that end with the underscore. Now we have 480kb of Files.
Create a new package
Next we want to create a project where we will create driver installation. We will rely on some information already gathered to complete these steps. Refer to the version.txt file listed earlier to complete the version info below. Follow these steps to create your project.
- Open Wise Package Studio
- On the Menu bar Click File -> New project
- Project Name: Intel 3C905C-TXM Driver 4.31
Product Vendor: Intel
Application Name: Intel 3C905C-TXM Driver
Package Name: Intel 3C905C-TXM Driver 4.31
Process: Repackage for Windows Installer (or your preferred package) - Click Close
- Click Yes for the warning about a blank Vendor Package
Normally at this point you would capture your package and Edit the package. Since we are not actually capturing the installation, we have to create our own wsi. In step 1 we do not have a wsi already created with the name of our package, so it will open the last wsi file we used. Follow these steps to create your own WSI file:
- Click on the tools tab and double click "Windows Installer Editor".
- On the Menu bar Click File -> New
- Under predefined templates choose "Device Driver"
- Make sure the "Create .WSI or .WSM project file that can be compiled into an .MSI or.MSM" radio box is selected.
- Click OK.
- On the Menu bar Click File -> Save As
- Ensure that you are in the driver project folder and then name the WSI the same as your project name. In this case it is "Intel 3C905C-TXM Driver 4.31.wsi"
From now on when you "Edit package" from the Wise Studio project tab it should open directly into this WSI. If it doesn't then you probably didn't name your wsi the same as your package name. We now have our package ready to put our driver into.
Add a Driver Feature to your package
We have a standard .wsi file. So we need to create a feature that can be installed. If we want to get fancy, we could have all drivers in their own feature and the user could select which one to install. We're going to stick with a simple package that just installs the driver we downloaded from Dell's website.
- Choose the "Installation Expert" tab at the bottom of the Windows Installer Editor.
- Under the "Project Definition" Page View Choose "Features".
- Click The Complete Feature on the right.
- Click Add and then fill the feature details as follows:
Name: Driver (This could be more descriptive if you were going include multiple drivers)
Title: Driver
Check the "Disable advertising if not supported by OS" checkbox.
- Click OK
You now have a feature called driver. However we also need to add a condition to this feature that will only allow us to install a driver for Windows 2000 and above. Follow these steps to add a condition.
- Click on the driver feature that you just created.
- Click the "Add Condition" button.
- In the feature condition box enter "VersionNT >= 500" without the quotes.
Adding this condition will require Windows 2000 or newer to install this feature. We'll see the benefit of this in the next section.
Adding the DIFxApp merge module to your package
Microsoft has released a Driver Installation Framework that allows you to install signed drivers on Windows 2000 and newer operating systems. It is called DIFxApp. This Framework is available as a merge module from Wise. When we create our package we chose the "Device Driver" template so it should have loaded the DIFxApp merge module, but currently Wise forgot to do this for the "Device Driver" Template. It's easy enough to add it ourselves.
- Choose the "Installation Expert" tab at he bottom
- Under the "Feature Details" Page View Choose "Merge Modules".
- Change your "Current feature" to "Driver"
- Click Add
If you see the DIFxApp module in the list skip to step 10 other wise continue to steps 5-9 - Click Download
- Choose WISE Web site and Click Next
- Find the DIFxApp and click the checkbox next to it.
- Click next to accept the default target location.
- Click Finish
- Check the DIFxApp checkbox and click next
- Click Next and then Click Finish.
We now have the merge module loaded. This will give us a new details tab called Driver when we add the files in our next section.
Adding and the driver to the package and setting it to install
Now we need to add the driver files that we saved earlier. The order of adding these files is very important. The .inf file should always be added first and by itself. After we add the .inf file we can add the rest of the files as a group.
First we need to add the location we want to install the driver files to and then add the driver files.
- Choose the "Installation Expert" tab at the bottom of the Windows Installer Editor.
- Under the "Feature Details" page view, choose "Files".
- Change your "Current Feature" to VersioNT >= 500
- Click "Program Files" in the bottom left windows
- Click New and enter Driver for the folder name. It will automatically become your installation directory.
- Find the folder your copied the driver files to in the top left window and click on it.
- On the right side, click the W9X90XBC.INF file and then click "Add File"
- Add the remaining files.
We now have the files in our package, however we need to set the driver to install using the DIFxApp merge module we downloaded earlier
.
- Right click on the W9X90XBC.INF file in the bottom right window and choose details.
- Click the driver tab. If it is missing you probably didn't load the merge module correctly.
- Click the "Use DIFxApp to install this driver file" checkbox.
- If you do not want your package to prompt if the hardware is not there, uncheck the "Prompt for missing device" checkbox.
- Click OK.
All we have left to do is compile our wsi file and proceed with any other packaging procedures that you would normally follow.
Deploying your package
Next you can run your package manually and click through each screen. If you had multiple drivers that you want to select you could create custom dialogs. If you want to deploy this package silently you could do that by using the /qn switch when you execute the msi.
As long as the driver program is installed, you will have a folder called Driver in your Program Files directory that includes the files from the package. You may or may not want to clean them up. More than likely you would want to point the installation to the Windows\system32\drivers\mydrivers folder instead so that you will always keep them on your PC.
It is also interesting to note that in the add/remove programs you will actually see 2 new items. You will see a program called Driver, and you will also see a program called "Windows Driver Package" that has the details on the driver you installed. Removing the driver program will remove both.
Hopefully most drivers you want to install will be signed drivers.
Is it not necessary to install the files under windows? The other driver inf files are present under C:\windows\inf.
ReplyDeleteazure training
ReplyDeletejava training
salesforce training
hadoop training
Data Science training