May 162019
 

There may be a situation where you wish to completely reinstall WSUS from scratch. This can occur for a number of reasons, but most commonly is due to database corruption, or performance issues due to a WSUS database that hasn’t been maintained properly with the normal maintenance.

Commonly, when regular maintenance hasn’t occurred on a WSUS database, when an admin finally performs it, it can take days and weeks to re-index the database, clean up the database, and run the cleanup wizards.

Also, due to timeouts on IIS, the cleanup wizard may fail which could ultimately cause database corruption.

Administrators often want or choose to blast away their WSUS install, and completely start from scratch. I’ve done this numerous times in my own environment as well as numerous customer environments.

In this guide, we are going to assume that you’re running WSUS on a Windows Server that is dedicated to WSUS and is using the WID (Windows Internal Database) which is essentially a built-in version of SQL Express.

PLEASE NOTE: If you are using Microsoft SQL, these instructions will not apply to you and will require modification. Only use these instructions if the above applies to you.

What’s involved

WSUS (Windows Server Update Services) relies on numerous Windows roles and features to function. As part of the instructions we’ll need to completely clear out:

  • WSUS Role, Configuration, and Folders/Files
  • IIS Role, Configuration, and Folders/Files
  • WID Feature, Configuration, and Database Files

Since we are completely removing IIS (Role, Configuration, and Folders/Files), only proceed if the server is dedicated to WSUS. If you are using IIS for anything else, this will completely clear the configuration and files.

Let’s get to it!

Instructions

  1. Open “Server Manager” either on the host, or remotely and connect to the host you’d like to reinstall on.
  2. Open “Remove Roles and Features” wizard.
  3. Click “Next”, and select the Server, and click “Next” again.
  4. On the “Remove server roles” screen, under “Roles”, we want to de-select the following: “Web Server (IIS)” and “Windows Server Update Services” as shown below. Selecting WSUS and IIS Roles to be Removed
  5. Click “Next”
  6. On the “Remove features” screen, under “Features”, we want to de-select the following: “Windows Internal Database” and “Windows Process Activation Service” as shown below. Selecting WID and WPAS Features for Removal
  7. Click “Next” and follow the wizard to completion and remove the roles and features.
  8. Restart the Server.
  9. Open an administrative command prompt on the server, and run the command “powershell” or open powershell directly.
  10. Run the following command in powershell to remove any bits and pieces:
    Remove-WindowsFeature -Name UpdateServices,UpdateServices-DB,UpdateServices-RSAT,UpdateServices-API
  11. Restart the Server.
  12. We now must delete the WSUS folders and files. Delete the following folders:
    C:\WSUS
    C:\Program Files\Update Services

    Note: You may have stored the WSUS content directory somewhere else, please delete this as well.
  13. We now must delete the IIS folders and files (and configuration, including the WsusPool application pool, bindings, etc.). Delete the following folders:
    C:\inetpub
    C:\Windows\System32\inetsrv

    Note: You may have issues deleting the “inetsrv” directory. If this occurs, simply rename it to “inetsrv.bad”.
  14. We now must delete the WID (Windows Internal Database) folders and files (including the WSUS SQL Express database). Delete the following folder:
    C:\Windows\WID
  15. While we removed the IIS folders and files, we deleted a needed system file. Run the following command to restore the file:
    sfc /scannow
  16. Restart the Server.

WSUS, IIS, and WID have at this point been completely removed. We will now proceed to install, apply a memory fix, and configure WSUS.

For instructions on installing WSUS on Server Core, please click here: https://www.stephenwagner.com/2019/05/15/guide-using-installing-wsus-windows-server-core-2019/

  1. Open “powershell” (by typing powershell) and Install the WSUS Role with the following command:
    Install-WindowsFeature UpdateServices -Restart
  2. (Optional) If you want to install the WSUS MMC Snap-In/GUI, run the following command in the powershell window:
    Install-WindowsFeature UpdateServices-RSAT, UpdateServices-UI
  3. Run the post installation task command to configure WSUS:
    "C:\Program Files\Update Services\Tools\wsusutil.exe" postinstall CONTENT_DIR=C:\WSUS
  4. AT THIS POINT DO NOT CONTINUE CONFIGURING WSUS AS YOU MUST APPLY A MEMORY FIX TO IIS.
  5. Apply the “Private Memory Limit (KB)” fix as provided here: https://www.stephenwagner.com/2019/05/14/wsus-iis-memory-issue-error-connection-error/
  6. Restart the Server.
  7. Open the WSUS MMC on the server or remotely from a workstation on the network and connect it to the WSUS instance on your Server Core install.
  8. Run through the wizard as you would normally and perform an synchronization.
  9. WSUS has been re-installed.

And that’s it. You’ve completely reinstalled WSUS from scratch on your Windows Server.

  11 Responses to “Howto Reinstall WSUS from Scratch”

  1. what a mess 🙁
    Thanks you saved my day

  2. Thank you, everything was on point

  3. GAHHH…I’ve tried reinstalling WSUS three or four times and keep getting the same error – “one or several parent features are disabled so current feature can not be enabled”

    I sought out someway to I’ve tried following these instructions twice and the powershell install command fails. DISMAPI_Error__Failed_To_Enable_Updates,Microsoft.Windows.ServerManager

  4. Hi Jim,

    Sounds like you might be having some issues with the OS itself that might be stopping this from working.

    Are you running these commands as admin? Is the OS experiencing any other odd issues?

    Cheers

  5. I am a domain admin. It doesn’t appear the OS is experiencing any other issues. I’m not sure what ‘parent features’ could be derailing it.

    Also – side note – I removed IIS per your instructions but when I run the scm /scannow command it completes but didn’t find any integrity violations so ….nothing was repaired?

  6. Hi Jim,

    The scan command should replace files that were deleted in previous steps. I’ve noticed sometimes that it doesn’t report anything is missing.

    That’s odd about the parent features error. Are you copying and pasting the commands exactly as they are detailed in the post? Which command reports that issue?

    Stephen

  7. I’m redoing it now but I believe it was the first install command

    Install-WindowsFeature UpdateServices -Restart

    that generates the DISMAPI_Error__Failed_To_Enable_Updates,Microsoft.Windows.ServerManager

    So if I use the regular server manager installer I get the parent message. When I use the Powershell command I get the DISMAPI error.

  8. Here’s the error I receive.

    PS C:\Windows\system32> Install-WindowsFeature UpdateServices -Restart

    Success Restart Needed Exit Code Feature Result
    ——- ————– ——— ————–
    False Maybe Failed {}
    Install-WindowsFeature : Call was canceled by the message filter.
    At line:1 char:1
    + Install-WindowsFeature UpdateServices -Restart
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : DeviceError: (Microsoft.Manag…rDetailsHandle):CimException) [Install-WindowsFeature],
    Exception
    + FullyQualifiedErrorId : UnSupportedTargetDevice,Microsoft.Windows.ServerManager.Commands.AddWindowsFeatureComman
    d

    PS C:\Windows\system32>

  9. I found this.

    https://stackoverflow.com/questions/46729839/enable-feature-tcp-activation-on-windows-server-2016-fa

    It explains how to find what the disabled Parent feature could be but I don’t know what -WindowsFeature component to test. I tried -Name Web-Server for IIS and UpdateServices but both DependsOn fields came up blank. What other features are installed with WSUS that I can try?

  10. Jim,

    I would recommend checking the event log and troubleshooting this. I have a feeling that your OS install has issues and it might be worth while correcting it before it turns in to something big in the future.

  11. This has saved my skinny behind, phew!

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)