Help - Search - Members - Calendar
Full Version: Howto install unsigned drivers without prompts
MSFN Forums > Unattended Windows Discussion & Support > Device Drivers

   
Google Internet Forums Unattended CD/DVD Guide
soul
I've spent the past few days trying to figure out HOW to make XP with SP2 install unsigned drivers silently. Changing DriverSigningPolicy in winnt.sif still warned that the driver wasn't signed. Changing Driver Signing registry entries still warned that the driver wasn't signed. Nothing I tried would get rid of the prompt, so I finally decided to just create an AutoIt script to "Continue anyway". I've attached the script, the compiled exe, grep.exe and devcon.exe.

All you have to do to use this method (I'm sure there are other methods, but this is how I use it):
  • Download the attached .rar
  • Extract devcon.exe and grep.exe to $OEM$\$$\system32, DriverInstall.exe to $OEM$\$1\Drivers
  • In RunOnceEx.cmd, add driver checks such as:
CODE
devcon hwids =Display | grep Name: | grep -i GeForce > NUL
IF NOT ERRORLEVEL 1 (
)
  • Inside the IF ( ) block, invoke DriverInstaller with the relevant switches (for information about the switches that DriverInstaller supports, read about Commands for DevCon Operations), such as:
CODE
%systemdrive%\Drivers\DriverInstall.exe update %systemdrive%\Drivers\002_graphics\NVIDIA\2KXP_INF\NV_OMEGA_DISP.INF PCI\VEN_10DE


A brief breakdown about the DriverInstaller line above:
%systemdrive%\Drivers\DriverInstall.exe: The path to DriverInstaller.exe
update: Update the driver (as opposed to install, disable, enable, etc)
%systemdrive%\Drivers\002_graphics\NVIDIA\2KXP_INF\NV_OMEGA_DISP.INF: Path to the .inf for the drivers you wish to update
PCI\VEN_10DE: The hardware vendor ID. You must get this from inside the driver's .inf

Completed, my RunOnceEx.cmd looks something like:
CODE
devcon hwids =Display | grep Name: | grep -i GeForce > NUL
IF NOT ERRORLEVEL 1 (
    REG ADD %KEY%\325 /VE /D "NVIDIA ForceWare 56.72 video drivers" /f
    REG ADD %KEY%\325 /V 1 /D "%systemdrive%\Drivers\DriverInstall.exe update %systemdrive%\Drivers\002_graphics\NVIDIA\2KXP_INF\NV_OMEGA_DISP.INF PCI\VEN_10DE" /f
)


I've tested this to work with signed drivers, unsigned drivers, drivers with multiple prompts, and it has worked each time.

Any questions/comments, feel free to let me know. Hope this helps someone as much as it helped me.
Ducky_ace
Are u sure u've put

DriverSigningPolicy=Ignore

under the [unattended] tab

in winnt.sif ?
Ducky_ace
QUOTE (Ducky_ace @ Sep 27 2004, 03:30 AM)
Are u sure u've put

DriverSigningPolicy=Ignore

under the [unattended] tab

in winnt.sif ?

NVM...
Bilou_Gateux
WINNT.SIF for Windows 2000
CODE
[Unattended]
UnattendMode=FullUnattended
DriverSigningPolicy=Ignore
NtUpgrade=No
OemFilesPath  = "..\$OEM$"
OemPnPDriversPath = "PnPDrvrs\Display;PnPDrvrs\hdc;PnPDrvrs\Media;PnPDrvrs\Net;PnPDrvrs\System;PnPDrvrs\USB;PnPDrvrs\Modem;PnPDrvrs\Misc1;PnPDrvrs\Misc2"
OemPreinstall=Yes
OemSkipEula=Yes
OverwriteOemFilesOnUpgrade=No
TargetPath=\WINNT
Win9xUpgrade=No


The AutoIt script need some strings modification for use with localized versions of Windows or different version (2000 Professional)
tguy
Make sure your WINNT.SIF file includes the following two lines in the [Unattended] section

DriverSigningPolicy=Ignore
NonDriverSigningPolicy=Ignore

tguy
supahfly
nondriversigningpolicy ??
I havent seen that around somewhere
and in the docs of m$ it only mentions driversigningpolicy ...
supahfly
anyways has anyone else experienced these problems ?
tguy
I found the NonDriverSigningPolicy 'switch' here in the Forums, worked for me, good luck....


tguy
Bilou_Gateux
We can use the Windows findstr.exe utility rather than grep.exe
CODE
devcon hwids =display | findstr Name: |findstr /i NVidia


search for the Vendor ID (Display class device installed with default NVidia Windows CD outdated drivers)
CODE
set VEN=VEN_10DE
set class=Display
devcon listclass %class% | findstr /i /c:%VEN%

QUOTE
PCI\VEN_10DE&DEV_017A&SUBSYS_014610DE&REV_A3\4&3A321F38&0&58F0: NVIDIA Quadro NVS (Microsoft Corporation)
search for the Vendor ID (Display class device with no drivers found under "Other devices" --> "Video controller" in device manager)
CODE
set VEN=VEN_8086
set class=Unknown
devcon listclass %class% | findstr /i "Video Controller" | findstr /i /c:%VEN%

QUOTE
PCI\VEN_8086&DEV_2572&SUBSYS_101B1734&REV_02\3&61AAA01&0&10 : Video Controller


How to find the Vendor ID:
PCI Vendor and Device Lists

A variety of tools are provided in \Tools of the Windows 2000 System Preparation Tool, Version 1.1 package, including:
  • Sysprep.exe (v1.1)
  • Setupcl.exe
  • Pnpids.exe
    that assists in identifying the Plug and Play ID used by Windows to install the proper device.
npadmana
Can i do this in Windows2003 Servers? This is only for internal testing purpose.

Where to look for the DriverSigning policy.

Thanks,
/N
tguy
You can find information on the DriverSigningPolicy on the MS MSDN site.

Also in the unattend.doc or ref.chm help files.

Did you try disabling the System File Checker?
Google Internet Forums Unattended CD/DVD Guide
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.