Skip to main content

NinjaOne Backup — VSS DLL Re-registration & Writer Repair Procedure

Audience: T2 Use when: VSS writers won't recover after a reboot, or the specific VSS error code points to DLL registration as the cause (0x80042302, 0x80042301, 0x80042313).


When to Use This Procedure

DLL re-registration is a deeper fix — use it when:

  • VSS writers remain in failed state after a full server reboot
  • vssadmin list writers shows [6] Failed even on a freshly rebooted server
  • Error code in the backup failure is 0x80042302, 0x80042301, or 0x80042313
  • NinjaOne support or Microsoft KB guidance directs you here

Do not run DLL re-registration as a first step — reboot and check for conflicting software first.


Pre-Check: Confirm the Issue Before Proceeding

# Confirm VSS writer state
vssadmin list writers

# Confirm VSS and SWPRV services are running
Get-Service VSS, SWPRV | Select DisplayName, Status

# Check for recent VSS errors in Event Log
Get-WinEvent -LogName Application -MaxEvents 200 |
Where-Object {$_.ProviderName -like "*VSS*" -or $_.Message -like "*shadow copy*"} |
Where-Object {$_.Level -le 3} |
Select TimeCreated, Id, Message | Select-Object -First 10 | Format-List

VSS DLL Re-registration Procedure

Run all commands from an elevated Command Prompt (not PowerShell — some of these commands behave differently in PS):

cd /d %windir%\system32

net stop vss
net stop swprv

regsvr32 /s ole32.dll
regsvr32 /s vss_ps.dll
vssvc /register
regsvr32 /s /i swprv.dll
regsvr32 /s /i eventcls.dll
regsvr32 /s es.dll
regsvr32 /s stdprov.dll
regsvr32 /s vssui.dll
regsvr32 /s msxml.dll
regsvr32 /s msxml3.dll
regsvr32 /s msxml4.dll

net start vss
net start swprv

Each regsvr32 command should return silently (no popup = success). If a popup error appears for any DLL, note which one and include it in the escalation.


Post-Registration Verification

# Confirm VSS services restarted
Get-Service VSS, SWPRV | Select DisplayName, Status

# Re-run writer status — all should show [1] Stable
vssadmin list writers

# Create a test shadow copy to confirm VSS is functional
vssadmin create shadow /for=C:
# Should return "Successfully created shadow copy"
# Then clean it up:
vssadmin delete shadows /for=C: /oldest /quiet

After Re-registration: Reboot and Test

Even after successful DLL re-registration, a reboot is recommended before trusting the result. After reboot:

  1. vssadmin list writers — confirm all writers stable
  2. Trigger a manual NinjaOne backup run
  3. Monitor the job to completion — confirm success
  4. Document the action in the Halo ticket

VSS Writer — Service Restart Reference

If a specific writer is still failing after DLL re-registration, restart its associated service:

VSS Writer Service Name Restart Command
SqlServerWriter MSSQLSERVER Restart-Service MSSQLSERVER -Force
SqlServerWriter (named) MSSQL$INSTANCENAME Restart-Service 'MSSQL$DEXIS_DATA' -Force
System Writer CryptSvc Restart-Service CryptSvc
WMI Writer Winmgmt Restart-Service Winmgmt
IIS Metabase Writer IISADMIN Restart-Service IISADMIN
Hyper-V Writer vmms Restart-Service vmms
NTDS Writer Active Directory Requires full DC reboot

Escalate to T3 If:

  • Any regsvr32 command produces a persistent error popup
  • Writers remain in failed state after DLL re-registration and reboot
  • vssadmin create shadow fails even after re-registration