Join our localization effort on Transifex
Snappy Driver Installer
Snappy Driver Installer installs and updates drivers
Windows 2K, XP, Vista, 7, 8, 8.1, 10, 11
Command Line Usage
Click on a topic to expand it.
Options for specific tasks
-? Show this help window.
-7z Run in 7z archiver mode.
Example: SDI.exe -7z x DP_TV_Beholder_14020.7z
-install <hwid> <inffile> Install driver with specified <hwid> from <inffile>.
Exit codes:
1 - Successfully installed.
0x80000001 - Successfully installed(reboot required).
Other - Errors.
-HWIDInstalled:<hwid>=<file> Check if driver <hwid> installed in session <file>
Exit codes:
0 Driver not installed in session saved in <file>.
1 Driver has been installed in session saved in <file>.
24 Invalid length. HWID is shorter than 17 characters.
-save-installed-id[:<file>] Saves HardwareIDs of installed driver in <file>.
If <file> is not specified, saves at %temp%\SDI2\InstalledID.txt
-PATH <pathToDrivers> Runs as a replacement of DPInst.
For exit codes refer to the documentation of DPInst.
-delextrainfs Deletes unused infs after extracting.
-verbose:<flags> Sets log detail level.
-ls:<file> Loads snapshot.
-nogui Runs without GUI interface.
-nologfile Suppress creating logs.
-nosnapshot Suppress creating snapshots.
-nostamp Creates logs and snapshot without timestamps.
Options that are saved in sdi.cfg
-drp_dir:<dir> Path to driverpacks.
-index_dir:<dir> Path to indexes.
-output_dir:<dir> Path to indexes in human-readable format.
-data_dir:<dir> Path to translations and themes.
-log_dir:<dir> Path to logs and snapshots.
-lang:<name> Current interface language.
-theme:<name> Current theme.
-hintdelay:<time> Sets hint delay.
-wndwx:<num> Sets window width.
-wndwy:<num> Sets window height.
-filters:<flags> Sets filters.
-expertmode Enable the expert mode.
-license Suppress the license dialog.
-norestorepnt Suppress creating of restore point.
-novirusalerts Suppress virus alerts.
-showdrpnames1 Shows driverpack names on the right.
-showdrpnames2 Shows driverpack names above.
-oldstyle Shows driver list using old style.
-keepunpackedindex Prevents updating of indexes for unpacked drivers.
-preservecfg Prevents updating of sdi.cfg.
-cfg:<FileName> Loads <file> instead of "sdi.cfg".
Options controlling torrent
-checkupdates Checks for updates online.
-onlyupdates Disables notification of missing driverpacks.
-autoupdate Starts downloading automatically.
-port:<num> Port for torrent client.
-downlimit:<num> Sets download speed limit (in KBs).
-uplimit:<num> Sets upload speed limit (in KBs).
-connections:<num>Sets the maximum number of connections.
-finish_upd_cmd:<cmd> Specifies a command executed upon completion of download.
-autoclose Close the application after downloading.
Options for emulation
-a:32 Emulates 32-bit Windows.
-a:64 Emulates 64-bit Windows.
-v:<version> Emulates Windows of specific version. For example, in order to emulate Windows Vista use -v:60.
Options for autoinstall
-autoinstall Immediately start driver installation.
-autoclose Close the application after installation.
-finish_cmd:<cmd> Specifies a command executed upon completion of driver installation.
-finishrb_cmd:<cmd> Specifies a command executed upon completion of driver installation when reboot is required.
-extractdir:<dir> Path to TEMP.
-keeptempfiles Keep temp files.
Options for debugging
-showconsole Displays console window.
-failsafe Disables indexing of WINDOWS\inf.
-disableinstall Suppresses driver installation and creation of a restore point.
-reindex Forces reindexing of all driverpacks.
-index_hr Creates indexes in human-readable format.
Options controlling verbose logging
The -verbose:<flags> switch is used to set log detail level.
For example, in order to log only sections DeviceInfo and manager_print, you have to calculate the sum: 4+16=20. SDI.exe -verbose:20
Name Hex value Decimal value Description
LOG_VERBOSE_ARGS 0x0001 1 Sections: "Settings".
LOG_VERBOSE_SYSINFO 0x0002 2 Sections: "Windows", "Environment".
LOG_VERBOSE_DEVICES 0x0004 4 Sections: "DeviceInfo".
LOG_VERBOSE_MATCHER 0x0008 8 Sections: "{matcher_print".
LOG_VERBOSE_MANAGER 0x0010 16 Sections: "{manager_print".
LOG_VERBOSE_DRP 0x0020 32 Sections: "Driverpacks".
LOG_VERBOSE_TIMES 0x0040 64 Sections: "Times".
LOG_VERBOSE_LOG_ERR 0x0080 128 Error messages.
LOG_VERBOSE_LOG_CON 0x0100 256 Misc messages.
LOG_VERBOSE_LAGCOUNTER 0x0200 512 GUI lag counter.
LOG_VERBOSE_DEVSYNC 0x0400 1024 Sections: "{Updated".
LOG_VERBOSE_BATCH 0x0800 2048 Batch processing of snapshots.
Script for keeping SDI.exe updated with the latest drivers and version of SDI_Rnnn.exe
:: Keep SDI.exe updated with the latest drivers and version of SDI_Rnnn.exe
:: NOTE: Put this batch file in the SDI_UPDATE directory with the SDI_Rnnn.exe file
::SET SDIPath to location of batch file which should be with SDI_Rnnn.exe
SET SDIPath=%~dp0
::Get the newest SDI_Rnnn.exe file
FOR /F "delims=|" %%I IN ('DIR "SDI_R*.exe" /B /O:D') DO SET NewestSDI=%%I
:: Run SDI update
CALL %NewestSDI% /autoupdate /autoclose
::Make sure we still have most current executable in case one was just downloaded
FOR /F "delims=|" %%I IN ('DIR "SDI_R*.exe" /B /O:D') DO SET NewestSDI=%%I
::Copy current version to SDI.exe
COPY %NewestSDI% SDI.exe /Y
Script for unpacking all driverpacks (requires about 90GB)
::Get the newest SDI_Rnnn.exe file
for /f "tokens=*" %%a in ('dir /b /od "%~dp0SDI_R*.exe"') do set "SDIEXE=%%a"

for /F %%i in ('dir /b drivers\*.7z') do %SDIEXE% -7z x drivers\%%i -y -odrivers\%%~ni
del indexes\SDI\unpacked.bin
echo -keepunpackedindex >> sdi.cfg