Jump to content

Howto install unsigned drivers without prompts


Recommended Posts

Posted

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:

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:

%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:

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.

DriverInstall.rar


Posted

WINNT.SIF for Windows 2000

[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)

Posted

Make sure your WINNT.SIF file includes the following two lines in the [unattended] section

DriverSigningPolicy=Ignore

NonDriverSigningPolicy=Ignore

tguy

  • 1 month later...
Posted (edited)

We can use the Windows findstr.exe utility rather than grep.exe

devcon hwids =display | findstr Name: |findstr /i NVidia

search for the Vendor ID (Display class device installed with default NVidia Windows CD outdated drivers)

set VEN=VEN_10DE
set class=Display
devcon listclass %class% | findstr /i /c:%VEN%

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)

set VEN=VEN_8086
set class=Unknown
devcon listclass %class% | findstr /i "Video Controller" | findstr /i /c:%VEN%

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.

Edited by Bilou_Gateux
  • 4 weeks later...
  • 3 weeks later...
Posted

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?

  • 4 years later...
Posted

Hi, I've tried using your script, and it works beautifully! Except in situations where devcon asks if you want to overwrite old files, where it will pause, waiting for input.

I decided to edit the script, adding to the If...Then...Else block, to take this new prompt into account. Upon running the script, I get:

"Line -1:

Error: Unknown option or bad parameter specified."

I thought this was a problem with my edits, so I recompiled the .exe from your original DriverInstall.au3 file that you included, to get the same error!

So I was wondering, what were the differences between that file and the one you originally compiled from? Or am I just having problems on my machine?

Thanks in Advance,

Adam

Posted

Never mind, solved it! Turns out in the most recent version of AutoIt (Since 3.0) the Opt RunErrorsFatal is gone. Take out that line, and it works beautifully.

  • 3 weeks later...
Posted
Never mind, solved it! Turns out in the most recent version of AutoIt (Since 3.0) the Opt RunErrorsFatal is gone. Take out that line, and it works beautifully.

Have got a problem with my hp dv6000 audio and video drivers.The one's i downloaded from hp site appear not to work with my system.can please help out.thanks..............................

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...