I’ve noticed these EventID:122 errors appearing on my Windows Server 2012 Hyper-V host. Its running in a workgroup and has registry settings defined to connect to my WSUS server.
Message: Access to drivers on Windows Update was blocked by policy
The only reference I can find is from here:
where it says only:
Event ID: 122 Warning: DriverInstallBlockedByWUPolicy.
Driver install failed because of WU opt-in policy. Users or group policy opt-out the WU driver download.
- Message: Access to drivers on Windows Update was blocked by policy
but no other mention of *what* policy that refers to.
OK, I think I’ve got it worked out. It’s something that can happen on any Windows 8 or Server 2012 machine.
It’s nothing to do with the Windows Update service at all, it’s the “Device Setup Manager” service.
There is a scheduled task that runs each night in “Microsoft | Windows | Device Setup” called “Metadata Refresh”
When that task runs it causes the “Device Setup Manager” service to start, and that’s what is causing the messages. If you look in the Event Viewer under “Application and Services Logs | Microsoft | Windows | DeviceSetupManager | Admin” and filter on EventID 122 then you can see the entries.
The “policy” that is causing the block is actually the Device Installation Settings. This is a rather tricky setting to find.
If you open “Devices and Printers” in Control Panel, you might see a small pop-down about displaying enhanced device icons. right click that bar and select “Open device installation settings”
If you don’t get that bar appearing, then use the search in the Control Panel window and look for “device installation”
When that window opens, you will see the settings that define the “policy”
If you change the setting to “Always install the best driver software from Windows Update.” then the EventID 122 errors will go away.
If you *also* select the “Automatically get the device app and info provided by your manufacturer” then the whole setting will change itself to the first “Yes, do this automatically” option (so the first option is the same as selecting both the bottom ones)
Now, I’m not so sure yet if I want these enabled by default to update on my servers. If it means “go check Windows Update” only when I ask to update drivers that’s not so much of a problem, but will it go and auto-update itself, or just check and then tell me drivers are available to manually enable? I’ll do some more testing on that now.
So, the only other option seems to be to disable the scheduled task mentioned earlier. That should stop the 122 errors, however I’m not entirely certain what other issues might arise by doing that.