Solution:
Root Cause: Driver Store Repository Corruption & ACL Permission Hijack
During previous driver update cycles or abrupt system shutdowns, orphaned registry keys under
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bf21-08002be10318} or corrupted staging folders in
C:\Windows\System32\DriverStore\FileRepository lose proper Access Control Lists (ACLs). When the installer tries to stage new binaries, the
SYSTEM account is denied write access (
ERROR_ACCESS_DENIED /
0x80070005), causing the driver package staging process to crash.
# Diagnostic Verification:
Open C:\Windows\INF\setupapi.dev.log and search for the phrase Access is denied or Failed to install catalog file under the [Device Install (DiInstallDriver)] block.Execute pnputil /enum-drivers in PowerShell and check if Nvidia drivers return errors during catalog enumeration.# Step-by-Step Fix:
1. Reset System Driver Store Folder Access Permissions:
Open PowerShell as Administrator and run the following commands to take ownership and restore inheritability on the DriverStore repository: powershell
takeown /f "C:\Windows\System32\DriverStore" /r /d y
icacls "C:\Windows\System32\DriverStore" /grant drivers:(OI)(CI)F /T
icacls "C:\Windows\System32\DriverStore" /reset /T /C /L /Q
2. Purge Corrupted Staged Driver Packages with PnPUtil:
Enumerate all published OEM driver packages: powershell
Get-WindowsDriver -Online | Where-Object {$_.ProviderName -like "*NVIDIA*"} | Select-Object OriginalFileName, Driver
Force-delete every enumerated Nvidia package (replace oemXX.inf with the specific INF package name found in your output): powershell
pnputil /delete-driver oemXX.inf /uninstall /force
3. Run System File Checker & Component Store Repair:
Repair underlying Windows servicing stack corruption: powershell
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
4. Re-run the Nvidia Driver Setup using Administrative Privileges.
# Prevention & Long-Term Monitoring:
Avoid force-resetting the PC while graphics drivers are updating.Regularly verify system integrity using sfc /scannow after unexpected power loss events.