We often get questions about the Auto Apply Driver action not being able to resolve content – which results in the following lines in the smsts.log file:
Found 0 DPs in subnet, 0 DPs in local site, and 0 DPs in remote location.
Failed to resolve content for driver "<Driver Name>". Code 0x80040102.
If you get this error, you should do the following:
- Verify you have added the driver to a driver package
- Verify the driver package has been assigned to a DP
- Verify the package has been Updated since the driver was added to the driver package
It is this last step that is often the problem – let me try to explain what is going on. The Auto Apply Driver Catalog action uses the same selective download mechanism as Software Updates (e.g. we only download the driver we need from the driver package). When you add a driver to a driver package we save an entry to the database indicating that the driver will be available in DriverPackage.CurrentVersion+1. The Current Version of the driver package is incremented when you do an “Update Distribution Points” (or when you select the “Update distribution points when finished” option in the Import New Driver Wizard which we left unchecked by default for multi-site performance reasons [which in retrospect may not have been the right decision]).
But, if you forget to update the package you end up with the following scenario:
- Created a driver package (so it has SourceVersion=1)
- Import Driver (So we make a note that the driver will be available in SourceVersion=2)
- Assign Driver Package to a DP (This operation just copies the current version of the driver package to the DPs so we think all DPs have SourceVersion=1)
When we do a lookup of the driver we get back no entries. But, if you update the driver on the distribution points the current source version should be available. The simplest way to avoid this in the future is to just check the “Update distribution points when finished” option in the Import Driver Wizard.
Contributed by Brett Flegg