System Writer Missing

While working on one of the strange issue , where SYSTEM WRITER was missing in the list ran on the command prompt

vssadmin list writers
vssadminlistwriters

vssadmin list writers

One of the solution which worked every time for me is to reset the permissions. Which can be performed as mentioned below :

takeown /f %windir%\winsxs\filemaps /a
                icacls %windir%\winsxs\filemaps  /grant "NT AUTHORITY\SYSTEM:(RX)"
                icacls %windir%\winsxs\filemaps  /grant "NT Service\trustedinstaller:(F)"
                icacls %windir%\winsxs\filemaps  /grant "BUILTIN\Users:(RX)"
                icacls %windir%\winsxs\filemaps  /grant "Administratoren:(RX)"
                takeown /f %windir%\winsxs\filemaps\* /a
                icacls %windir%\winsxs\filemaps\*.*  /grant "NT AUTHORITY\SYSTEM:(RX)"
                icacls %windir%\winsxs\filemaps\*.*  /grant "NT Service\trustedinstaller:(F)"
                icacls %windir%\winsxs\filemaps\*.*  /grant "BUILTIN\Users:(RX)"
                icacls %windir%\winsxs\filemaps\*.*  /grant "Administrators:(RX)"
                takeown /f %windir%\winsxs\temp\PendingRenames /a
                icacls %windir%\winsxs\temp\PendingRenames  /grant "Administrators:(RX)"
                icacls %windir%\winsxs\temp\PendingRenames /grant "NT AUTHORITY\SYSTEM:(RX)"
                icacls %windir%\winsxs\temp\PendingRenames /grant "NT Service\trustedinstaller:(F)"
                icacls %windir%\winsxs\temp\PendingRenames /grant "BUILTIN\Users:(RX)"
                takeown /f %windir%\winsxs\temp\PendingRenames\*.* /a
                icacls %windir%\winsxs\temp\PendingRenames\*.*  /grant "Administrators:(RX)"
                icacls %windir%\winsxs\temp\PendingRenames\*.* /grant "NT AUTHORITY\SYSTEM:(RX)"
                icacls %windir%\winsxs\temp\PendingRenames\*.* /grant "NT Service\trustedinstaller:(F)"
                icacls %windir%\winsxs\temp\PendingRenames\*.* /grant "BUILTIN\Users:(RX)"

You may execute it in one go by making batch file however my preference is always to execute it one line at a time which gives me a clear picture of whats going on and if I had faced any issue on any of the command while execution.

Even after this if you are unable to find SYSTEM WRITER in the list, you may follow the below steps which will help you is restoring SYSTEM WRITER .

Copy the C:\windows\winsxs\Filemaps\*.* in a backup folder
Boot on Windows DVD and go to the CMD (repair computer option) to remove manually all the C:\windows\winsxs\Filemaps\*.* files.
Reboot your server and logon as administrator.
Set the "Full Control" for administrator on the C:\windows\winsxs\Filemaps folder after having set the owner of this folder to administrator.
 Copy in this folder the Filemaps files backuped.
Set again the normal rights for the C:\windows\winsxs\Filemaps folder (admin on readonly) and make the files inherit the new rights just set.
Reboot your server
Validate that the "vssadmin list writers" command lists the "system writer" on Stable.

If in case above troubleshooting steps does not fix the issue and you receive an event

Log Name: Application ,  Source:  VSS ,  Event ID:      8228
Description:  Fail to parse XML file.    Reason An invalid character was found in text content.

Do click on the link to find the invalid path.