If you encounter unusual errors (e.g. "Writer Infrastructure failed" or "Could not determine if VSS snapshots supported") and repeat failures in VSS for no apparent reason, you can re-register the DLLs associated with the VSS writers, as shown below, to check if that resolves the problem.


1. First, run the following from an elevated command prompt:

sfc /scannow

If the Windows System File Checker finds any errors, it should fix them (or give you information on them if it cannot fix them automatically).


2. If this does not resolve the problem, run the following series of commands:

net stop "System Event Notification Service" 
net stop "Background Intelligent Transfer Service" 
net stop "COM+ Event System" 
net stop "Microsoft Software Shadow Copy Provider" 
net stop "Volume Shadow Copy" 
cd /d %windir%\system32 
net stop vss 
net stop swprv 
net stop SQLWriter 
regsvr32 /s ATL.DLL 
regsvr32 /s comsvcs.DLL 
regsvr32 /s credui.DLL 
regsvr32 /s CRYPTNET.DLL 
regsvr32 /s CRYPTUI.DLL 
regsvr32 /s dhcpqec.DLL 
regsvr32 /s dssenh.DLL 
regsvr32 /s eapqec.DLL 
regsvr32 /s esscli.DLL
regsvr32 /s FastProx.DLL
regsvr32 /s FirewallAPI.DLL
regsvr32 /s kmsvc.DLL
regsvr32 /s lsmproxy.DLL
regsvr32 /s MSCTF.DLL
regsvr32 /s msi.DLL
regsvr32 /s msxml3.DLL 
regsvr32 /s ncprov.DLL
regsvr32 /s ole32.DLL 
regsvr32 /s OLEACC.DLL 
regsvr32 /s OLEAUT32.DLL 
regsvr32 /s PROPSYS.DLL 
regsvr32 /s QAgent.DLL 
regsvr32 /s qagentrt.DLL 
regsvr32 /s QUtil.DLL 
regsvr32 /s raschap.DLL 
regsvr32 /s RASQEC.DLL 
regsvr32 /s rastls.DLL 
regsvr32 /s repdrvfs.DLL 
regsvr32 /s RPCRT4.DLL 
regsvr32 /s rsaenh.DLL 
regsvr32 /s SHELL32.DLL 
regsvr32 /S SQLVDI.DLL 
regsvr32 /s shsvcs.DLL 
regsvr32 /s /i swprv.DLL 
regsvr32 /s tschannel.DLL 
regsvr32 /s USERENV.DLL 
regsvr32 /s vss_ps.DLL 
regsvr32 /s wbemcons.DLL 
regsvr32 /s wbemcore.DLL 
regsvr32 /s wbemess.DLL 
regsvr32 /s wbemsvc.DLL 
regsvr32 /s WINHTTP.DLL 
regsvr32 /s WINTRUST.DLL 
regsvr32 /s wmiprvsd.DLL 
regsvr32 /s wmisvc.DLL 
regsvr32 /s wmiutils.DLL 
regsvr32 /s wuaueng.DLL 
sfc /SCANFILE=%windir%\system32\catsrv.DLL 
sfc /SCANFILE=%windir%\system32\catsrvut.DLL 
sfc /SCANFILE=%windir%\system32\CLBCatQ.DLL 
net start "COM+ Event System" 
net start vss 
net start swprv 
net start SQLWriter

This re-registers the DLLs for the VSS writers, which should resolve the issue.