Re-Registering VSS DLL Binaries in 32-bit and 64-bit Environments
Topic
This article contains methods to re-register VSS DLL binaries. For a general overview of VSS, see VSS Explained: Common Writers, Services, And Hotfixes Available.
IMPORTANT These steps only pertain to Windows Server 2008 Standard, Windows Server 2008R2, Windows Server 2003 and below. Attempting these fixes on Windows Vista or higher could cause operating system damage.
Environment
- Siris
- Alto
- NAS
Description
- If the command
vssadmin list writers
does not produce an output, the commands in this article can help to re-register the VSS Service's associated DLL binaries. - Conflicting VSS-aware applications running on the protected machine is a common cause of backup errors.
- Remove VSS-aware processes that are still present, including scheduled shadow copies in the OS. This ensures further long term stability and reliability.
- Performing the below steps can help reduce recurring VSS writer failures.
Determine the OS version that is being investigated
- From the Windows desktop, right-click on My Computer, and then click Properties.
- On most operating systems, you can find the My Computer icon on the Start Menu. Depending on your OS version, the icon might be listed as Computer or This PC.
- You can also open a Windows Explorer window, and find the icon on the left-hand pane.
- On the Properties menu, find the entries for Windows Edition and System Type. Make sure that they are compatible with the prerequisites outlined in this article.
- If the host machine is running a compatible operating system, follow the steps in section 3.1 (for 64-bit systems) or section 3.2 (for 32-bit systems).
64-Bit Version
To re-register VSS binaries and services on 64-bit systems, copy the following code into a file, and name it FIXVSS64.bat.
Run it with administrative privileges.
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"
NOTE In certain cases, it is normal for the msxml
commands to not install, or fail to register. The eventcls
and es
commands fail to register on Vista and newer systems. The vssui
command only applies to Windows Server 2003 and Windows Server 2008.
32-Bit Version
To re-register VSS binaries and services on 32-bit systems, copy the following code into a file, and name it FIXVSS32.bat.
Run it with administrative privileges.
cd /d %windir%\system32 net stop vss net stop swprv regsvr32 ole32.dll regsvr32 oleaut32.dll regsvr32 /i eventcls.dll regsvr32 vss_ps.dll vssvc /register regsvr32 /i swprv.dll regsvr32 es.dll regsvr32 stdprov.dll regsvr32 vssui.dll regsvr32 msxml.dll regsvr32 msxml3.dll regsvr32 msxml4.dll net start vss net start swprv
NOTE In certain cases, it is normal for the msxml
commands to not install, or fail to register. The eventcls
and es
commands fail to register on Vista and newer systems. The vssui
command only applies to Windows Server 2003 and Windows Server 2008.
Test VSS with the Microsoft VShadow tool
NOTE Reboot the production machine if you have trouble testing the VSS writers with the VShadow tool.
- First, download the VShadow tool for your OS:
- Windows 2000 - Unsupported; Windows 2000 does not have VSS
- Windows XP 32 Bit
- Windows XP 64 Bit
- Windows Server 2003 32 Bit & 64 Bit
- Windows Vista 32 Bit
- Windows Vista 64 Bit
- Windows Server 2008 32 Bit
- Windows Server 2008 64 Bit
- Windows 7 32 Bit
- Windows 7 64 Bit
- Windows Server 2008 r2 32 Bit
- Windows Server 2008 r2 64 Bit
- Download
VShadow.exe
to%windir%\system32\
- Before running VShadow, stop any VSS-related services that are running. Also, stop the following services, and set them to Automatic Startup in
services.msc
:- Background Intelligent Transfer Service
- Hyper-V Volume Shadow Copy Requestor
- Microsoft Software Shadow Copy Provider
- MS Software Shadow Copy Provider
- SQL Server VSS Writer
- Volume Shadow Copy
- Open a command prompt with administrative privileges.
- Attempt to take a shadow copy of each system volume by using the VShadow tool. The syntax for this command is as follows:
vshadow VolumeList
. Replace VolumeList with the drive letters of the hard disks attached to the system, as shown in Figure 1. Do not include removable media drives.
Figure 1: VShadow command being run on a system with four hard disks
- If the VShadow tool fails to take a shadow copy, reboot the production system.