Snappy Driver Installer Origin – FAQ

SDIO Is Crashing On Windows 11 23H2 With “Exception: std::bad_cast” Error

This is finally fixed. Grab v2 from the download page here.

When Is SDIO Updated?

SDIO is updating once a week at the moment, usually on the weekend. To check for updates all you need to do is run the application. It will automatically check for updates and let you know if it finds anything.

Is it safe to say that I should only update drivers that say “Updated Driver Available”?

If only things were that simple. SDIO gives you options because sometimes you need options. There is no absolute rule to say that “Updated” drivers should always be installed. If that were absolutely true there would be no need to have over 70GB of drivers on hand. But this isn’t the case, to cover a wide variety of situations you need to have options.

Here’s a thing: if you’re trying to solve a problem with a malfunctioning device and SDIO has an “Updated” driver, you’d probably go ahead and install that because there’s a reasonable chance that might solve your problem. On the other hand if a newer driver got installed that broke a device, you’d be looking to install an older driver, probably one around the same vintage as the device. If you have a choice between signed and not signed you’d probably choose signed but if that didn’t work you might be willing to try alternatives. “More Optimal” is always a good choice and is generally at the top of the offerings as the one most preferred by SDIO itself. The algorithm for choosing a preferred driver is really quite good but it’s not infallible. The decision lies with you and you should never go blindly installing device drivers without a good reason and a rollback plan.

The gui presents the devices on the system and it’s preferred driver. If you click the double down arrows you’ll open up a list of alternative drivers for the device. If the top driver doesn’t get the device working, you’ve got options. It’s now up to you to draw on your vast store of knowledge and experience to go through this list of alternatives and choose another driver with the best chance of getting the device working.

(Internet) simply means it’s not available on local storage but it’s available for download.

As a rule of thumb, if the device is working then you shouldn’t be installing different drivers or “if it ain’t broke, don’t fix it”.

Can I Run SDIO From A Portable Drive Or Do I Have To Install It?

It is a portable program. It does not matter what device you put it on. I have it on a thumb drive and an iODD as well as a WD external drive. Some people keep it on a network drive. You could even burn it to a dvd if you were so inclined (though I can’t imagine why you would).

Having said that, there are two things to keep in mind: you don’t want to be running SDIO from a USB drive while you are updating the USB drivers, you don’t want to be running SDIO from a network drive while you are updating the network drivers.

Windows 10 Seems To Do A Good Job With Drivers During Installation. Why Do I Need SDIO?

Indeed, if Win10 is successful getting a full set of drivers installed then your work is done. However there remain many situations where Windows fails to find the correct drivers. In some cases Win10 can’t even get basic network drivers installed. SDIO to the rescue!

With Windows 10, I’ve developed a procedure: if it fails to install network drivers during installation, use SDIO to get the network running then start Windows Update to complete the job of installing the rest of the drivers. When it’s finished, run SDIO again to install any missing drivers and possibly update existing drivers to more optimal.

Windows 10 has developed a nasty habit of installing less optimal drivers during subsequent updates sessions, often breaking or crippling the device. You’ll need SDIO to return these drivers to the most optimal. In addition you can configure Windows to stop updating device drivers.

How Can I Contribute Drivers?

SDIO has recently starting building it’s own driver collection and contributions are welcome. There is a public upload site here. Zip up your contribution and let me know the uploaded file name. Small zip files can be uploaded directly to the forum here.

You can also use the SDIO Driver Backup tool to extract your currently in use drivers for submission.

How To Run SDIO From A Network Share?

There is some path information embedded in the driver pack indexes, the exact nature of which I’m still exploring. This slightly complicates running it from a network share. The paths it uses are based on the SDIO configured paths. In the gui, you can see these paths in the Options dialog, Paths page.

In the sdio.cfg file they look like:

"-drp_dir:drivers"

"-index_dir:indexes\SDIO"

"-output_dir:indexes\SDIO\txt"

"-data_dir:tools\SDIO"

"-log_dir:logs"

These values are used when creating the indexes. If you try to run SDIO from a network share and these paths don’t match up, the indexes will be deleted.

So the correct approach is to create the indexes in the same scenario that they will be used. If you intend to use SDIO locally, either copied on to a computer or on a USB drive then run it locally when creating the indexes. If you are setting it up to run over a network share then create the indexes while running over that network share.

To set up network share paths in the sdio.cfg file just prefix the directories with the share UNC path:

"-drp_dir:\\server\sdio\drivers"

"-index_dir:\\server\sdio\indexes\SDIO"

"-output_dir:\\server\sdio\indexes\SDIO\txt"

"-data_dir:\\server\sdio\tools\SDIO"

"-log_dir:\\server\sdio\logs"

Where “server” is the name of your server and “sdio” is the share name. You may choose to use a separate writable share for the logs path while the main sdio share is read-only.

#
"-log_dir:\\server\sdio-logs"
#

Where “sdio-logs” is the share name for the logs directory.

How to create indexes? Simply close the application, delete the contents of the indexes sub-directory then run the application again. It will automatically recreate the indexes. If you want to use SDIO over a network share then run it over that share to create the indexes.

Make sure the share has write permissions, at least while you’re building the indexes. You can change it back to read-only later if you want. SDIO will happily run in read-only mode.

Why Does SDIO Crash When I Install Network Drivers When Running From A Network Folder?

When Windows runs an executable, it keeps a handle to the exe file so it can swap code bits in and out of memory on the fly. When the exe file becomes unavailable that handle is no longer valid and Windows shuts down the process. Installing network drivers involves taking down the network. So, if you’re running the application from the network, and you install network drivers, the network goes down, your application process becomes invalid, the application is terminated.

The Solution: Don’t do it.

The same principal applies when installing USB drivers while running from a USB drive.

➤ Glenn's Page