Jump to content

Howto install unsigned drivers without prompts


soul

Recommended Posts

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

Link to comment
Share on other sites


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)

Link to comment
Share on other sites

  • 1 month later...

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
Link to comment
Share on other sites

  • 4 weeks later...
  • 3 weeks later...
  • 4 years later...

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

Link to comment
Share on other sites

  • 3 weeks later...
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..............................

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