bswhipp

Member
Joined
Dec 4, 2024
Messages
151
Upgraded broken WSUS 2022 server to 2025 from previous case not resolved Upon trying to install WSUS now it is failing with The System cannot find the path specified. The installation log is providing this error.
2025-01-09 09:08:41 Marking PostInstall done for UpdateServices-Database in the registry...
2025-01-09 09:08:41 Starting service W3SVC
2025-01-09 09:08:41 Configuring IIS...
2025-01-09 09:08:41 Start: ConfigureWebsite
2025-01-09 09:08:41 System.Runtime.InteropServices.COMException (0x80070003): The system cannot find the path specified.

at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_AdsObject()
at System.DirectoryServices.PropertyValueCollection.PopulateList()
at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)
at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
at Microsoft.UpdateServices.Administration.UseCustomWebSite..ctor()
at Microsoft.UpdateServices.Administration.PostInstall.ConfigureWebsite(Int32 portNumber)
at Microsoft.UpdateServices.Administration.PostInstall.Run()
at Microsoft.UpdateServices.Administration.PostInstall.Execute(String[] arguments)
 


The recurring "The system cannot find the path specified" (error code 0x80070003) during WSUS installation and configuration clearly stems from an issue with IIS configuration—specifically, WSUS is attempting to configure its IIS website or virtual directories but is failing due to missing or inaccessible paths during the post-installation process.
This is particularly common after:
  • A faulty WSUS upgrade (from 2022).
  • Corrupted IIS settings.
  • Directory or permissions issues.
Let’s tackle this step-by-step to resolve the issue once and for all.

Root Cause Hypothesis

  1. Broken IIS Configuration:
    • Missing or improperly deleted IIS virtual directories such as Content or SelfUpdate during the WSUS upgrade attempt.
    • WSUS may be trying to create or reconfigure these, but the path does not exist or permissions are misaligned.
  2. Leftover Registry Entries:
    • Previous faulty configurations from WSUS 2022 are conflicting with the new paths in WSUS 2025.
  3. .NET or Component Services Issues:
    • WSUS relies heavily on IIS and .NET Framework. If .NET components or application pools are missing or broken, WSUS will fail during HTTP configurations.

Resolution Plan

Step 1: Repair IIS Configuration

  1. Inspect IIS Settings:
    • Open IIS Manager and check for:
      • The WSUS Administration site.
      • Existing virtual directories such as:
      • Content (points to WSUS content folder).
      • SelfUpdate (points to C:\Program Files\Update Services\SelfUpdate).
  2. Manually Create Directories (If Missing):
    If these directories do not exist:
    • Create a folder for WSUS Content:
      Code:
      plaintext
           D:\WSUS\WSUSCONTENT
    • Create a folder for SelfUpdate:
      Code:
      plaintext
           C:\Program Files\Update Services\SelfUpdate
  3. Ensure proper permissions:
    • Grant NETWORK SERVICE and IIS_IUSRS full control on:
      • D:\WSUS\WSUSCONTENT
      • C:\Program Files\Update Services\SelfUpdate.

Step 2: Validate IIS Role and Dependencies

  1. Confirm IIS configuration by running:
    Code:
    powershell
       Get-WindowsFeature -Name Web-Server, Web-Mgmt-Tools, Web-WebServer
    • If IIS is missing or broken, reinstall it:
      Code:
      powershell
         Install-WindowsFeature Web-Server, Web-WebServer, Web-Mgmt-Tools, Web-Net-Ext45, Web-Windows-Auth
  2. Check and reset IIS:
    Code:
    bash
       iisreset
  3. Reboot the system to ensure IIS changes take effect.

Step 3: Ensure Required .NET Framework

  1. Verify .NET Features:
    Run:
    Code:
    powershell
       Get-WindowsFeature -Name NET-Framework-Core, NET-Framework-45-Core, NET-Framework-45-Features
    • If missing, reinstall:
      Code:
      powershell
         Install-WindowsFeature NET-Framework-45-Features
  2. Repair .NET Framework:
    If .NET appears intact but may be broken:
    Code:
    bash
       dism /online /cleanup-image /restorehealth
       sfc /scannow

Step 4: Clean Up Old WSUS Installations

The upgrade failure may have left conflicting artifacts in WSUS’s configuration.
  1. Remove WSUS:
    • Uninstall all WSUS components if still partially installed:
      Code:
      powershell
         Remove-WindowsFeature -Name UpdateServices, UpdateServices-Services, UpdateServices-DB
  2. Delete WSUS Folders:
    • Remove all remnants of WSUS to reset the installation:
      • Delete:
        Code:
               C:\Program Files\Update Services
               D:\WSUS\WSUSCONTENT
  3. Clean WSUS Registry:
    • Open Registry Editor (regedit) and navigate to:
      Code:
      plaintext
           C:\Program Files\Update Services\SelfUpdate
      0
    • Export a backup and delete the entire key.

Step 5: Retry WSUS Installation

After cleaning the system, reinstall WSUS:
  1. Install WSUS via Server Manager or PowerShell:
    Code:
    plaintext
         C:\Program Files\Update Services\SelfUpdate
    1
  2. After installation, run WSUS postinstall:
    Code:
    plaintext
         C:\Program Files\Update Services\SelfUpdate
    2
    Replace SQL_INSTANCE_NAME with your SQL Server instance (or use WID if applicable).

Advanced Debugging If Failure Persists

Step 6: Check WSUS Setup Logs for Details

The WSUS setup log will pinpoint missing paths or specific failures in IIS or file creation.
  1. Navigate to:
    Code:
    plaintext
         C:\Program Files\Update Services\SelfUpdate
    3
  2. Look for:
    • Specific paths that cannot be found.
    • Directory or virtual directory creation errors.

Step 7: Recreate IIS Virtual Directories

  1. If the log indicates missing IIS virtual directories, manually add them:
    • Open IIS Manager and right-click on WSUS Administration site.
    • Add virtual directories:
      • Alias: Content -> Physical Path: D:\WSUS\WSUSCONTENT
      • Alias: SelfUpdate -> Physical Path: C:\Program Files\Update Services\SelfUpdate
  2. Restart the IIS service:
    Code:
    plaintext
         C:\Program Files\Update Services\SelfUpdate
    4

Key Checklist

  • Verify IIS directory paths (C:\inetpub\wwwroot and WSUS folders).
  • Ensure permissions for NETWORK SERVICE and IIS_IUSRS.
  • Remove stale registry entries for WSUS or IIS during cleanup.
  • Check WSUSSetup.log for specific failure points.

Let Me Know​

If the installation works after these steps, great! If the error persists, share the relevant lines from the WSUSSetup.log, and we’ll pinpoint the exact failure cause together. 😊
 


The command to run the WSUS post-installation is as follows:
Bash:
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="YourSQLInstanceName"

Command Breakdown

  • wsusutil.exe: The tool used to configure and manage WSUS operations.
  • postinstall: This is the specific action to complete WSUS configuration after the main role and features have been installed.
  • CONTENT_DIR="D:\WSUS\WSUSCONTENT":
    • Specifies the directory where WSUS will store update files.
    • Replace D:\WSUS\WSUSCONTENT with your desired path. Ensure this path exists beforehand and proper permissions are set (e.g., for NETWORK SERVICE and IIS_IUSRS).
  • SQL_INSTANCE_NAME="YourSQLInstanceName":
    • Replace YourSQLInstanceName with the correct SQL instance hosting the SUSDB database.
    • Examples:
    • MSSQLSERVER for the default SQL Server instance.
    • MICROSOFT##WID for Windows Internal Database (WID).

Example Scenarios

  1. If Using Default WID (Windows Internal Database):
    Code:
    bash
       wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
  2. If Using a Custom SQL Server Instance:
    Code:
    bash
       wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MY-SQL-SERVER\INSTANCE"
  3. If IIS Configuration Needs to Be Skipped (Optional):
    If IIS is causing issues and you want to configure it manually later, append the -skipIISConfig flag:
    Code:
    bash
       wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"

Verify the Post-Install Status

Once the post-install command completes:
  1. Check the WSUS console:
    • Open Administrative Tools > Windows Server Update Services.
    • Ensure it's functional and synchronizing updates.
  2. Monitor the WSUSSetup.log:
    • Location:
      Code:
           C:\Program Files\Update Services\LogFiles\WSUSSetup.log
    • Look for any errors if the command fails.

Let me know how it goes! If you encounter errors or new issues during the post-install, feel free to share the log output, and I’ll help troubleshoot further. 😊
 


Still getting the issue when trying to launch the WSUS console did not try to do the post install from command line.
 


If the WSUS console won't launch, and you haven’t yet tried running the postinstall command from the command line, there’s a good chance that the configuration hasn't been fully completed. WSUS requires the postinstall step to properly configure its database, IIS site, and paths (e.g., the content directory). Without this step, the console won’t function correctly.
Let’s address this while verifying and resolving potential underlying issues.

Step 1: Run the WSUS Post-Installation Command

As mentioned earlier, the most important next step is to ensure WSUS is fully configured.
  1. Open Command Prompt as Administrator.
    • Hit Win + S, search for cmd, and select Run as Administrator.
  2. Execute the Postinstall Command:
    Replace D:\WSUS\WSUSCONTENT and MICROSOFT##WID with your corresponding paths and SQL instance configuration.
    Example for a system using Windows Internal Database (WID):
    Code:
    bash
       wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
    Example for a custom SQL Server Instance:
    Code:
    bash
       wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="YourServerName\CustomInstanceName"

Step 2: Verify Post-Install Success

If the postinstall command completes successfully:
  1. Relaunch the WSUS console.
    • Open the WSUS Console from Administrative Tools > Windows Server Update Services.
  2. Manually add WSUS services in IIS (if IIS skipped during postinstall):
    Code:
    bash
       wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"

Step 3: Troubleshoot Postinstall Failures

If the postinstall command returns errors, review the output. Specific errors often highlight exact paths or services causing issues.
  • Check Log Files:
    Open:
    Code:
       C:\Program Files\Update Services\LogFiles\WSUSSetup.log
    Look at timestamps around the post-install attempt to identify what failed. Common errors:
    • Missing paths.
    • SQL instance access (SUSDB issues).
    • IIS misconfigurations.

Step 4: Verify WSUS Configuration

  1. Check IIS Manager:
    • Open IIS Manager (inetmgr).
    • Verify that the WSUS Administration site exists under Sites.
    • Check that the following directories are configured correctly:
      • Content should point to D:\WSUS\WSUSCONTENT.
      • SelfUpdate should point to C:\Program Files\Update Services\SelfUpdate.
  2. Check Database Connection:
    • Ensure the SQL instance hosting SUSDB is running.
    • If using WID:
      Code:
      bash
           net start w3svc
           net start MSSQL$MICROSOFT##WID
    • If using a custom SQL Server instance:
      • Open SQL Server Management Studio (SSMS) and confirm the SUSDB database exists.

Step 5: Manually Create IIS Virtual Directories

If the WSUS Administration site or its virtual directories are missing, recreate them manually.
  1. Open IIS Manager and create these Virtual Directories:
    • Content -> Path: D:\WSUS\WSUSCONTENT.
    • SelfUpdate -> Path: C:\Program Files\Update Services\SelfUpdate.
  2. Restart IIS:
    Code:
    bash
       iisreset

Summary​

  • Running the postinstall command correctly is key to launching the WSUS console successfully.
  • If issues persist during or after the post-install step, check WSUSSetup.log for details and adjust IIS or SQL configurations as necessary.
Let me know the result of running the postinstall command or any errors logged during the process. Sharing the relevant portion of the WSUSSetup.log can also help pinpoint what's still causing issues! 😊
 


Same error but the log is not in that location it is in the users folder under appdata\local\temp\2. It looks like IIS is the issue
 


Thanks for clarifying that the WSUSSetup.log is being generated in AppData\Local\Temp\2. Also, since the logs seem to indicate an IIS-related issue, we’ll focus on troubleshooting IIS configurations more deeply, as they are critical for WSUS functionality.
Here’s what we’ll do to address the "IIS is the issue" scenario:

Steps to Resolve IIS-Related WSUS Post-Install Errors

Step 1: Check WSUS Post-Install Logs

  1. Navigate to the log file:
    Code:
       C:\Users\<YourUsername>\AppData\Local\Temp\2\WSUS_PostInstall_<timestamp>.log
  2. Look for IIS-specific errors:
    • Does it mention specific paths or virtual directories that cannot be found?
    • Common issues include:
      • Missing Content or SelfUpdate virtual directories.
      • Problems registering the WSUS Administration site or binding.

Step 2: Verify IIS Configuration

The most common issue at this stage is a broken IIS configuration preventing WSUS from completing installation.

1. Open IIS Manager

  • Run inetmgr to open IIS Manager.

2. Inspect IIS Sites

  • Look for the following:
    • WSUS Administration: This site should exist under the Sites node.
    • Default bindings:
      • Port 8530 (HTTP) for the WSUS Administration site.
      • (Optional) Port 8531 (HTTPS) if SSL is configured.

3. Check Virtual Directories (if the site exists)

  • Expand the WSUS Administration site and ensure the following virtual directories are configured:
    • Content -> Physical Path: D:\WSUS\WSUSCONTENT (or the path specified in the CONTENT_DIR parameter of the postinstall command).
    • SelfUpdate -> Physical Path: C:\Program Files\Update Services\SelfUpdate.
  • If these are missing, manually create them.

4. If WSUS Administration Site is Missing:

  • Attempt to recreate it:
    1. Right-click Sites > Add Website.
    2. Site Name: WSUS Administration
    3. Physical Path: If unknown, use C:\Program Files\Update Services.
    4. Binding:
      • Type: HTTP
      • Port: 8530.

Step 3: Check Application Pool Configuration

  1. Check the WSUS-related Application Pool:
    • In IIS Manager, go to Application Pools.
    • Look for an application pool named WsusPool.
  2. If Missing:
    • Recreate it:
      • Right-click in the Application Pools pane > Add Application Pool.
      • Name: WsusPool
      • .NET Framework Version: .NET CLR Version v4.0
      • Managed Pipeline Mode: Integrated.
  3. Ensure the Application Pool is Running:
    • Right-click WsusPool > Start.

Step 4: Reset IIS

Once the IIS configuration has been checked or repaired:
  1. Restart the IIS service:
    Code:
    bash
       iisreset
  2. Re-run the WSUS postinstall command:
    Code:
    bash
       wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"

Step 5: Clean Up and Manually Configure IIS Directories

If the postinstall error persists:
  1. Delete and Recreate Virtual Directories:
    • If old misconfigured directories exist, remove them first.
  2. Manually Add Virtual Directories:
    • For example:
      • Alias: Content -> Path: D:\WSUS\WSUSCONTENT
      • Alias: SelfUpdate -> Path: C:\Program Files\Update Services\SelfUpdate
  3. Restart IIS and WSUS services:
    Code:
    bash
       net stop WsusService
       net start WsusService

Step 6: Review Secondary Logs

If the issue persists even after fixing IIS, check the following logs:
  1. WSUS Post-Install Detailed Logs (already mentioned):
    • C:\Users\<YourUsername>\AppData\Local\Temp\2.
  2. IIS Logs:
    • Located in:
      Code:
           C:\inetpub\logs\LogFiles
    • Look for WSUS-related entries with error codes like 404 or 401.
  3. Event Viewer:
    • Navigate to Applications and Services Logs > Windows Server Update Services.

Let Me Know​

Share any additional details or specific log snippets if the error persists, and I can provide further tailored guidance.
We’ll get this WSUS setup resolved! 😊
 


No issues with any of this except the WSUS install log with the errors I posted above. Everything else looks and is OK.
 


Thanks for confirming that IIS and everything else looks fine apart from the WSUS install log with the "System cannot find the path specified" error. Since the infrastructure appears to be in good shape, we can narrow our focus on addressing what specifically causes the post-installation failure.
The runtime error during the PostInstall.ConfigureWebsite step strongly suggests an issue with WSUS's internal configuration that ties it to IIS. Below is a refined approach based on what you've shared:

Resolution Steps for Postinstallation Failure

Step 1: Reattempt the WSUS Postinstall Command

Since IIS seems healthy and configured correctly, retry the postinstall command but verify paths explicitly:
  1. Open Command Prompt as Administrator.
  2. Run:
    Code:
    bash
       wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
If you see the same error, append the -skipIISConfig flag to bypass IIS setup (useful if WSUS thinks IIS is incorrectly configured):
Code:
bash
   wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
  1. Monitor the WSUS Post-Install Log in:
    Code:
       C:\Users\<YourUsername>\AppData\Local\Temp\2\WSUS_PostInstall_<timestamp>.log
    • Look for any specific missing file or path causing the "system cannot find the path specified" error during the ConfigureWebsite() step.

Step 2: Inspect the WSUS Configuration Registry

Check for residual or corrupted WSUS registry keys that could be pointing to invalid paths.
  1. Open Registry Editor (regedit).
  2. Navigate to:
    Code:
       HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup
  3. Verify the following registry values:
    • ContentDir:
      • Should point to D:\WSUS\WSUSCONTENT (or your desired content directory).
    • ContentDirectoryTier2 (if present):
      • This can sometimes reference incorrect paths; clear it.
    • IISWebSite:
      • Value 1: Custom WSUS website (port 8530).
      • Value 0: Default IIS website (port 80).
  4. Adjust entries as needed, then rerun the wsusutil.exe postinstall command.

Step 3: Rebuild WSUS-Related IIS Virtual Directories

The error might indicate failure while registering or accessing WSUS’s specific directories.
  1. Manually Remove the Current WSUS Configuration:
    • Delete the WSUS Administration site in IIS Manager.
    • Clear related registry keys (as mentioned above).
  2. Create the WSUS Administration Site and Directories Manually:
    • Open IIS Manager, add a new site:
      • Site Name: WSUS Administration
      • Physical Path: C:\Program Files\Update Services\WebServices
      • Bind it to port 8530 (HTTP).
    • Add Virtual Directories under this site:
      • Virtual Directory: Content -> Path: D:\WSUS\WSUSCONTENT
      • Virtual Directory: SelfUpdate -> Path: C:\Program Files\Update Services\SelfUpdate
  3. Once IIS is properly configured, retry the postinstallation command:
    Code:
    bash
       wsusutil.exe postinstall SQL_INSTANCE_NAME="MICROSOFT##WID" CONTENT_DIR="D:\WSUS\WSUSCONTENT"

Step 4: Validate SQL Access and Schema

If the postinstall fails, ensure WSUS can properly talk to the database during the configuration process.
  1. Open SQL Server Management Studio (SSMS).
  2. Connect to the WID instance:
    Code:
       np:\\.\pipe\MICROSOFT##WID\tsql\query
  3. Query the SUSDB database:
    Code:
    sql
       USE SUSDB;
       SELECT * FROM tbSchemaVersion;
    • If the tbSchemaVersion table doesn’t exist or returns errors, the SUSDB database may be corrupted. In this case:
      • Drop the database (or remove it if necessary).
      • Allow WSUS to recreate the database during postinstall.

Step 5: Advanced Debugging

If the error persists and logs still indicate "System cannot find the path specified", capture more details:
  1. Enable Verbose Logging for Postinstall:
    Code:
    bash
       wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID" /logfile:C:\Temp\PostInstallVerboseLog.txt
  2. Look for:
    • References to missing folders, files, or IIS bindings.
    • Errors in initializing databases or directory services.

Step 6: Reinstall WSUS Components

If all else fails, consider starting over to ensure WSUS isn’t entangled with remnants of the previous server installation:
  1. Uninstall WSUS completely:
    Code:
    powershell
       Remove-WindowsFeature UpdateServices, UpdateServices-Services, UpdateServices-DB
  2. Delete WSUS files and registry:
    • Remove folders:
      Code:
           C:\Program Files\Update Services
           D:\WSUS\WSUSCONTENT
    • Clear related settings in:
      Code:
      bash
         wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
      0
  3. Reinstall WSUS and IIS dependencies:
    Code:
    bash
       wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
    1
  4. Re-run the postinstall command.

Let Me Know​

Try re-running the postinstall command with the steps above and investigate any updates in the PostInstall Log or registry. Share relevant log snippets or findings, and we’ll keep isolating the root cause. We’ll get this resolved! 😊
 


wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="SQL_INSTANCE_NAME" still yields
2025-01-09 12:49:08 Starting service W3SVC
2025-01-09 12:49:08 Configuring IIS...
2025-01-09 12:49:08 Start: ConfigureWebsite
2025-01-09 12:49:08 System.Runtime.InteropServices.COMException (0x80070003): The system cannot find the path specified.

at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_AdsObject()
at System.DirectoryServices.PropertyValueCollection.PopulateList()
at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)
at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
at Microsoft.UpdateServices.Administration.UseCustomWebSite..ctor()
at Microsoft.UpdateServices.Administration.PostInstall.ConfigureWebsite(Int32 portNumber)
at Microsoft.UpdateServices.Administration.PostInstall.Run()
at Microsoft.UpdateServices.Administration.PostInstall.Execute(String[] arguments)
 


The fact that the -skipIISConfig flag on the wsusutil.exe postinstall command still triggers IIS-related configuration errors clearly indicates that the WSUS postinstall process is somehow still attempting to interact with IIS settings despite the -skipIISConfig directive. This is unusual since -skipIISConfig normally avoids any IIS actions unless there are residual or misconfigured registry entries forcing this behavior.
We'll focus specifically on resolving these IIS-related failures by isolating the root cause based on the remaining errors.

What to Do When the IIS Configuration Still Fails

Step 1: Double-Check the IISWebSite Registry Entry

Even with -skipIISConfig, WSUS may still check for existing IIS configurations in the registry.
  1. Open the Registry Editor:
    • Navigate to:
      Code:
           HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup
  2. Check/Modify These Keys:
    • IISWebSite:
      • 1: Custom WSUS Administration site on port 8530 (default for WSUS).
      • 0: Default IIS site on port 80.
      • If this key looks misconfigured or references invalid IIS configurations, change the value to 1 (indicating a custom WSUS site).
    • ContentDir:
      • Confirm this points to the correct directory for WSUS, e.g.:
        Code:
               D:\WSUS\WSUSCONTENT
  3. Restart IIS and Rerun Postinstall:
    Code:
    bash
       iisreset
       wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="SQL_INSTANCE_NAME"

Step 2: Manually Add WSUS Directories in IIS

If the issue persists, manually validate and create IIS virtual directories for WSUS.
  1. Open IIS Manager (inetmgr).
  2. Expand the Sites node and look for WSUS Administration (or its absence).
  3. If WSUS Administration does not exist:
    • Add it manually:
      • Right-click Sites > Add Website:
      • Site Name: WSUS Administration
      • Physical Path: C:\Program Files\Update Services\WebServices
      • Binding: HTTP, Port 8530.
  4. Confirm/add the critical virtual directories under this site:
    • Virtual Directory: Content
      • Physical Path: D:\WSUS\WSUSCONTENT
    • Virtual Directory: SelfUpdate
      • Physical Path: C:\Program Files\Update Services\SelfUpdate
  5. Restart IIS:
    Code:
    bash
       iisreset /noforce

Step 3: Investigate Missing or Broken Paths

The error indicates WSUS is attempting to interact with a missing file or directory. Recheck any paths referenced in logs or configurations.
  1. Recheck Permissions:
    Ensure the directories expected by WSUS and IIS have proper access:
    • Content Directory (D:\WSUS\WSUSCONTENT):
      • Add NETWORK SERVICE and IIS_IUSRS with full control.
    • SelfUpdate (C:\Program Files\Update Services\SelfUpdate):
      • Ensure the directory exists and has the same permissions.
  2. Create Missing Directories:
    If either directory is not present, create it manually.
  3. Confirm paths in:
    • IIS physical paths for virtual directories (use IIS Manager).
    • Registry entry ContentDir under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup.
  4. Retry the Postinstall Command:
    Code:
    bash
       wsusutil.exe postinstall SQL_INSTANCE_NAME="SQL_INSTANCE_NAME" CONTENT_DIR="D:\WSUS\WSUSCONTENT"

Step 4: Temporarily Disable Directory Interaction

If the postinstall continues to fail, avoid WSUS processing directories by temporarily creating mock paths.
  1. Create Dummy Values:
    • Create a dummy path:
      Code:
           C:\Temp\WSUSFAKE
  2. Point WSUS to These Paths:
    • Modify the ContentDir registry value to:
      Code:
           C:\Temp\WSUSFAKE
  3. Rerun Postinstall Command Again with Dummy Path:
    Code:
    bash
       wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="C:\Temp\WSUSFAKE" SQL_INSTANCE_NAME="SQL_INSTANCE_NAME"
  4. Revert paths afterward if succeeded.

Step 5: Review Application Pool and Service Settings

Check if IIS Application Pools or services are interfering with WSUS's ability to operate.
  1. Check for Application Pool Issues:
    • Open IIS Manager.
    • Ensure the WsusPool application pool exists and is running.
    • Repair the application pool:
      Code:
      bash
           appcmd delete apppool /apppool.name:"WsusPool"
           appcmd add apppool /name:"WsusPool" /managedRuntimeVersion:v4.0 /managedPipelineMode:Integrated
  2. Restart IIS services:
    Code:
    bash
       iisreset

Step 6: Perform a Fresh IIS and WSUS Cleanup

If all else fails, clean out WSUS and IIS completely before reinstalling:
  1. Uninstall WSUS:
    Code:
           D:\WSUS\WSUSCONTENT
    0
  2. Reset IIS Settings:
    Reset IIS to default:
    Code:
           D:\WSUS\WSUSCONTENT
    1
    Clear IIS settings:
    Code:
           D:\WSUS\WSUSCONTENT
    2
  3. Reinstall IIS Roles:
    Code:
           D:\WSUS\WSUSCONTENT
    3
  4. Retry the WSUS install fresh.

Need More Debugging?

Check logs for further details:
  • WSUS Post-Install Logs:
    • Location:
      Code:
             D:\WSUS\WSUSCONTENT
      4
    • Look for specific missing paths or services.
  • IIS Logs:
    Code:
           D:\WSUS\WSUSCONTENT
    5
Let me know what additional logs or findings come up, and I’ll assist in refining the solution! 😊
 


Yes, the IISWebsite key is critical for WSUS to properly configure its IIS website, and its absence is likely contributing to the "The system cannot find the path specified" error during the post-install process. The key should indeed be a DWORD (32-bit Value) and tells WSUS which IIS site to bind its services to.

Adding the Missing IISWebsite Key

Here’s how to add the key in the registry:
  1. Open Registry Editor:
    • Press Win + R, type regedit, and press Enter.
  2. Navigate to the Following Registry Path:
    Code:
       HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup
  3. Add the IISWebsite Key (if missing):
    • Right-click in the right pane.
    • Select New > DWORD (32-bit) Value.
    • Name the key:
      Code:
           IISWebsite
    • Set the value:
      • 1: Custom website (default for WSUS; typically bound to port 8530).
      • 0: Default IIS website (bound to port 80).
  4. Close Registry Editor:
    • Once the key has been added and configured, close the Registry Editor.
  5. Restart IIS and Retry Postinstall:
    • Restart IIS:
      Code:
      bash
           iisreset
    • Re-run the WSUS post-install command:
      Code:
      bash
           wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"

Key Notes on IISWebsite Values

  • A value of 1 is recommended unless your WSUS instance is deliberately configured to bind to the default IIS website. This points WSUS to create and use a separate custom IIS website (on port 8530).
  • Ensure the custom WSUS website exists in IIS. If missing, manually add it:
    • Refer to IIS Configuration under previous steps.

What Next If Issues Persist?

  • If adding the registry key resolves the issue, great! Otherwise:
    • Share any error output from the new postinstall log output or any IIS-related logs for deeper analysis.
    • Verify other keys under Setup in the WSUS registry, such as ContentDir.
Let me know how the addition of the IISWebsite key impacts the current setup! 😊
 


Same error also did wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID" /logfile:C:\Temp\PostInstallVerboseLog.txt but it did not create the log file.
 


Okay, since adding the IISWebsite key didn’t resolve the issue and the postinstall command failed without even creating the verbose log file, it strongly indicates that the WSUS post-installation process is failing very early, likely during the initial IIS configuration step.
Let’s focus on:
  • Debugging why the verbose log is not created.
  • Further resolving IIS setup discrepancies.
  • Forcing WSUS to move past this stage through more direct interaction.

Updated Troubleshooting Steps

Step 1: Confirm Command Execution Environment

  1. Run Command Prompt with Full Administrative Rights:
    • Open Command Prompt as Administrator (very important for creating disk-level logs like /logfile).
  2. Use Explicitly Correct Escaping for Log File Paths:
    • Double-check that the command is written correctly, as misquotes or issues with escape characters can cause the log file to fail.
      Code:
      bash
         wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID" /logfile:C:\Temp\PostInstallVerboseLog.log
  3. Ensure the Target Log Directory Exists:
    • Create the folder C:\Temp in case it does not exist (logs can fail to generate without a valid directory):
      Code:
      bash
           mkdir C:\Temp
  4. Retry the Command:
    Run it again:
    Code:
    bash
       wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID" /logfile:C:\Temp\PostInstallVerboseLog.txt
  5. If the Log Still Fails to Generate:
    • The post-installation could be aborting before the logging system initializes. In this case, fallback to IIS and WSUS registry inspection (steps below).

Step 2: Manually Review WSUS-related Paths and IIS Settings

Since "The system cannot find the path specified" still indicates missing resources expected by IIS, let’s manually validate configurations.

1. Recheck Physical Paths

Ensure these required directories exist:
  • Content Directory:
    Code:
      D:\WSUS\WSUSCONTENT
  • SelfUpdate Directory:
    Code:
      C:\Program Files\Update Services\SelfUpdate
If any directories are missing, re-create them with proper permissions:
  • Add full control for NETWORK SERVICE and IIS_IUSRS.

2. Recheck Virtual Directories

  1. Open IIS Manager (inetmgr).
  2. Under WSUS Administration, verify the virtual directories:
    • Content -> Path: D:\WSUS\WSUSCONTENT
    • SelfUpdate -> Path: C:\Program Files\Update Services\SelfUpdate
    • Fix or add them manually if absent.

Step 3: Load and Validate IIS Application Pool

The System.Runtime.InteropServices.COMException you posted earlier suggests it might also be tied to IIS’s application pool functionality.
  1. Open IIS Manager and Navigate to Application Pools.
  2. Confirm the WsusPool application pool exists:
    • If the pool is missing or stopped:
      • Delete Any Broken Pools.
      • Recreate the pool:
        Code:
        bash
               appcmd add apppool /name:"WsusPool" /managedRuntimeVersion:v4.0 /managedPipelineMode:Integrated
  3. Restart IIS:
    Code:
    bash
       iisreset /noforce
  4. Re-run the postinstall:
    Code:
    bash
       wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"

Step 4: Switch to Skip-IISConfig Temporary Workaround

If WSUS continues to fail even with manual IIS configurations, force it to entirely bypass IIS’s involvement:
  1. Retry postinstall with -skipIISConfig:
    Code:
    bash
       wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID" /logfile:C:\Temp\PostInstallVerboseLog.log
  2. Manually Add IIS Site and Directories Afterward:
    If the command works and skips IIS configuration, manually create and configure the IIS website (see earlier IIS steps).

Step 5: If All Else Fails – Enable Advanced Logging

If the above steps still fail, you can enable detailed event tracing for WSUS to capture the failure reason:
  1. Run Command Prompt as Administrator.
  2. Launch the WSUS installer with tracing enabled:
    Code:
    bash
       wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID" /trace
  3. The /trace flag will generate an expanded diagnostic log, which may provide more insight into the root cause.
  4. Check the logs under:
    Code:
    bash
         mkdir C:\Temp
    0

If None of These Fix the Issue

If the error persists, there are deeper underlying issues, likely tied to:
  1. Registry Corruption (e.g., invalid WSUS references).
  2. System-level IIS or WSUS misconfigurations.
Logs or insights from tracing, as well as specifics from WSUS[I]PostInstall[/I]*.log, will shed more light on the core failure. If you have logs or specifics to share, I’ll assist in further narrowing down the issue.
We’ll get WSUS up and operational—keep me posted! 😊
 


No logs in Temp, and the postinstall log contains same information nothing extra with the /trace flag
 


Thanks for clarifying, and it’s useful to know that no additional log files are being generated, even with the /trace flag, and that the postinstall logs still contain the same information. This confirms the postinstall process is failing at an early stage before logging mechanisms can thoroughly initialize. The persistent "System cannot find the path specified" error remains linked to IIS configuration or residual WSUS/IIS misalignments.
Let’s refine the approach based on this behavior:

Steps to Isolate and Resolve Early IIS Configuration Failures

Step 1: Pinpoint Missing Configuration or Paths

Since the "System cannot find the path" error still points to missing elements, let’s validate all IIS and WSUS dependencies to ensure no fundamental paths or directories are missing.
  1. Inspect IIS Site Bindings:
    • Open IIS Manager (inetmgr).
    • Under Sites, locate the WSUS Administration site.
    • Confirm the following:
      • Port:
      • HTTP: 8530 (defaults for WSUS).
      • HTTPS: 8531 (if HTTPS is enabled).
      • Physical Path:
      • WSUS default files should exist under:
        Code:
                 C:\Program Files\Update Services
  2. Test IIS Accessibility:
    • In a browser, navigate to:
      Code:
           http://localhost:8530
    • If this fails with a 404 or 500-level error, IIS is not properly configured for WSUS.
  3. Confirm WSUS Content and Virtual Directories:
    • Double-check the Content Directory (e.g., D:\WSUS\WSUSCONTENT) is present and accessible.
    • Ensure the SelfUpdate directory exists at:
      Code:
           C:\Program Files\Update Services\SelfUpdate

Step 2: Temporarily Resolve Missing Directory Dependencies

To ensure paths aren’t being referenced incorrectly:
  1. Override WSUS Paths in the Registry:
    • Open Registry Editor:
      Code:
           HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup
    • Modify or add the following keys:
      • ContentDir:
        Code:
               D:\WSUS\WSUSCONTENT
      • IISWebSite:
        Code:
               DWORD: 1
  2. Restart IIS:
    Code:
    bash
       iisreset
  3. Re-run the postinstall:
    Code:
    bash
       wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"

Step 3: Force IIS Directory Initialization

If IIS is simply unable to initialize WSUS components, forcing the entire WSUS IIS Administration setup may help push past the failure:
  1. Remove any corrupted or inconsistent IIS configurations:
    • Open IIS Manager, delete the WSUS Administration site (if it exists).
    • Stop IIS:
      Code:
      bash
           iisreset /stop
  2. Rebuild IIS Settings for WSUS:
    • Manually recreate the WSUS Administration Site in IIS:
      • Site Name: WSUS Administration
      • Physical Path: C:\Program Files\Update Services\WebServices
      • Bindings:
      • Type: HTTP
      • Port: 8530
    • Add Virtual Directories:
      • Content -> Path: D:\WSUS\WSUSCONTENT
      • SelfUpdate -> Path: C:\Program Files\Update Services\SelfUpdate

Step 4: Fully Clean and Recreate Application Pools

WSUS might be tied to a missing or broken application pool, which could trigger configuration errors in IIS.
  1. Delete and Recreate WSUS Application Pool:
    • Open IIS Manager, go to Application Pools.
    • Delete the WsusPool if present.
    • Create a new application pool:
      Code:
      bash
           appcmd add apppool /name:"WsusPool" /managedRuntimeVersion:v4.0 /managedPipelineMode:Integrated
  2. Restart IIS:
    Code:
         http://localhost:8530
    0
  3. Retry the postinstall:
    Code:
         http://localhost:8530
    1

Step 5: Attempt a Minimal Reinstall

If everything above fails, the WSUS installation may still have corrupted remnants causing IIS-related misconfigurations.
  1. Fully Uninstall WSUS:
    Code:
         http://localhost:8530
    2
  2. Purge WSUS Files and Registry Keys:
    • Delete:
      Code:
           http://localhost:8530
      3
    • Clean registry:
      Code:
           http://localhost:8530
      4
  3. Reinstall WSUS:
    Code:
         http://localhost:8530
    5
  4. Retry the postinstall.

Fallback: Review Event Viewer and Logs

If all steps fail, gathering more system-level details is critical.
  1. Check Event Viewer for Errors:
    • Focus on Applications and Services Logs > Windows Server Update Services.
  2. Inspect IIS Logs for Failures:
    Code:
         http://localhost:8530
    6
  3. Look for Common Errors:
    • Missing application pool bindings.
    • Incorrect registry values detected during runtime.

Let Me Know

Let me know what you find after retrying these steps or inspecting the mentioned logs. If the error persists without additional clues, we may need to escalate to reinstall both IIS and WSUS entirely in a clean environment. You’re doing great—let’s get it resolved! 😊
 


All this looks OK. It may have something to do with SCCM?
 


Thank you for pointing out the possibility of SCCM (System Center Configuration Manager) affecting your WSUS installation! When SCCM integrates with WSUS as a Software Update Point (SUP), it can cause conflicts, especially during a WSUS installation, post-installation, or configuration due to overlapping roles and dependencies managed by SCCM.
Since everything else appears normal but the WSUS post-installation still fails, investigating SCCM's involvement is a logical next step.

How SCCM Can Interfere with WSUS

  1. Software Update Point (SUP) Role:
    • If SCCM is already managing the WSUS instance as an SUP, certain configurations (e.g., IIS site bindings, database lock) may conflict with the standalone WSUS installation process.
  2. SCCM Permissions:
    • SCCM may hold exclusive permissions or configurations for WSUS, preventing changes to IIS or SQL without SCCM’s coordination.
  3. Shared Database or Components:
    • If SCCM is already using SUSDB or managing IIS for software updates, attempting to run the WSUS postinstall might fail because SCCM locks configurations WSUS assumes are standalone.
  4. Synchronization Lock-in:
    • SCCM tightly integrates WSUS and overrides settings such as content locations and virtual directories. This can lead to an "already configured" or inaccessible environment during manual postinstallation.

Steps to Identify SCCM’s Role and Resolve Conflicts

Step 1: Determine SCCM’s Relationship with WSUS

  1. Check if SCCM is Configured with SUP Role:
    • Open the Configuration Manager Console.
    • Navigate to:
      Code:
           Administration > Site Configuration > Servers and Site System Roles
    • Look for the Software Update Point role on this server.
  2. If the SUP Role Exists:
    • Note that SCCM will manage:
      • WSUS configuration via the Configuration Manager console.
      • IIS settings such as virtual directories and application bindings.
      • Permissions or schema changes on SUSDB (WSUS database).
  3. Logs to Inspect in SCCM:
    • Check Software Update Point logs related to WSUS:
      • WsyncMgr.log: Synchronization issues with WSUS.
      • SUPSetup.log: Details on SUP installation/configuration.
      • These logs are located in:
        Code:
               <SCCMInstallDirectory>\Logs

Step 2: Disable SUP Role (Temporarily)

Temporarily disable the SUP role to allow WSUS to complete its installation and configuration freely.
  1. Go to the Configuration Manager Console:
    • Navigate to:
      Code:
           Administration > Site Configuration > Servers and Site System Roles
    • Select the Software Update Point role and remove or disable it temporarily.
  2. Restart IIS and Perform WSUS Postinstall:
    • Restart IIS to clear any locks:
      Code:
      bash
           iisreset
    • Retry the postinstall:
      Code:
      bash
           wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
  3. Re-enable SUP Role After Completing WSUS Configuration:
    • Once WSUS is working, go back to the SCCM console and reinstall or enable the SUP role.

Step 3: Verify Database and IIS Configurations

If SCCM’s use of WSUS prevents the postinstall from working correctly, additional checks in the database and IIS may be required.
  1. Database Lock or Ownership:
    • Open SQL Server Management Studio (SSMS).
    • Connect to:
      Code:
           np:\\.\pipe\MICROSOFT##WID\tsql\query
      Or your custom database instance hosting SUSDB.
    • Check the SUSDB database for SCCM ownership or schema locks:
      Code:
      sql
           SELECT * FROM tbSchemaVersion;
      Look for SCCM-installed references or missing schema objects.
  2. Existing Multipurpose IIS Configuration:
    • Confirm that IIS bindings and virtual directories aren’t being overridden or concurrently configured by SCCM.

Step 4: Manually Force a WSUS-SUP Reset

If all else fails and SCCM has corrupted WSUS setup or created unrecoverable conflicts, reset both WSUS and SCCM SUP settings:
  1. Remove SUP Role and WSUS Components:
    Code:
    bash
       Remove-WindowsFeature -Name UpdateServices, UpdateServices-Services, UpdateServices-DB -IncludeManagementTools
  2. Reinstall WSUS for Standalone Setup:
    • Install WSUS again and complete its postinstall before reintroducing SCCM to manage it:
      Code:
      bash
           wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
  3. Reintegrate SUP in SCCM:
    • Add the Software Update Point role back in the SCCM console.

Step 5: Verify the SCCM Integration

Ensure SCCM is properly managing WSUS after resolving the conflicts:
  1. Open the Configuration Manager Console.
  2. Test synchronization of updates:
    • Force a manual sync in SCCM.
    • Check if WSUS and SCCM are working together:
      • WSUS: Content directory matches SCCM's expectations.
      • SCCM: SUP role is green and operational.
  3. Monitor logs:
    • Recheck WsyncMgr.log and SUPSetup.log for new errors.

What’s Next?

  • If temporarily disabling the SCCM Software Update Point allows WSUS to complete its postinstall successfully, SCCM was indeed interfering.
  • Once working, we can re-enable SCCM's SUP configuration.
Let me know how this progresses or whether additional errors/log details appear—we’ll get WSUS sorted even in this SCCM-managed scenario! 😊
 


Back
Top