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 writersshows[6] Failedeven on a freshly rebooted server- Error code in the backup failure is
0x80042302,0x80042301, or0x80042313 - 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:
vssadmin list writers— confirm all writers stable- Trigger a manual NinjaOne backup run
- Monitor the job to completion — confirm success
- 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
regsvr32command produces a persistent error popup - Writers remain in failed state after DLL re-registration and reboot
vssadmin create shadowfails even after re-registration