Saturday, October 11, 2014

Re-register Windows VSS writers on Windows 2003 and 2008

This article details how to re-register the Windows VSS writers.

Windows 2003

Create and Execute a batch file named, FIXVSSWIN2003.BAT

Please note the following:

You will need to run the batch file as Administrator.
After running the bat file, you will need to reboot the server to bring all of the writers into a stable state.

Copy and paste the following into notepad or any text editor and then click Save As, to save it as FIXVSSWIN2003.BAT

rem FILENAME: FIXVSSWIN2003.BAT
rem
net stop vss
net stop swprv
cd /d %windir%\system32
regsvr32 ole32.dll
regsvr32 vss_ps.dll
Vssvc /Register
regsvr32 /i swprv.dll
regsvr32 /i eventcls.dll
regsvr32 es.dll
regsvr32 stdprov.dll
regsvr32 vssui.dll
regsvr32 msxml.dll
regsvr32 msxml3.dll
regsvr32 msxml4.dll

Windows 2008

Create and Execute a batch file named, FIXVSS08.BAT:

Please note the following:

• You will need to run the batch file as Administrator.
• This is only for Windows 2008 not Windows 2003.
• After running the bat file, you will need to reboot the server to bring all of the writers into a stable state.

Copy and paste the following into Notepad, then click Save As, to save it as FIXVSS08.BAT.

rem FILENAME: FIXVSS08.BAT
rem
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
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 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"

Additional Useful Commands:

1. Open the Command (DOS) Prompt with administrator rights and enter: vssadmin list writers to determine all the VSS writers installed on the machine and their status (stable, error, etc).

2. Open the Command (DOS) Prompt with administrator rights and enter: vssadmin delete shadows /all  to clean up any dead VSS snapshots that may be slowing down the machine.