Thanks for following through! Since temporarily removing the SCCM Software Update Point (SUP) role didn’t resolve the WSUS postinstall issue, it suggests the problem lies deeper in lingering conflicts or misconfigurations left by the incomplete WSUS installation or SCCM’s prior integration. Let’s escalate debugging and refine solutions to resolve this stubborn issue once and for all.
Here’s how we’ll proceed:

Steps to Resolve WSUS Installation When SCCM doesn’t Resolve Conflicts

Step 1: Deep-Clean Residual SCCM WSUS Configuration

SCCM tightly controls certain WSUS components, so even when the SUP role is removed, partial settings (in IIS, the database, or the registry) may still block the postinstall process.

1. Fully Remove WSUS with SCCM Configurations

  1. Uninstall the WSUS Features:
    Code:
    bash
       Remove-WindowsFeature -Name UpdateServices, UpdateServices-Services, UpdateServices-DB -IncludeManagementTools
  2. Delete SCCM-Specific Content:
    • Navigate to the SCCM WSUS folder (default: E:\SCCM\WSUS) or wherever SCCM stored WSUS updates.
    • Delete the WSUSContent folder and UpdateServicesPackages directory.
  3. Clean the WSUS Registry Keys (Because SCCM modifies them):
    • Open Registry Editor (regedit) and navigate to:
      Code:
           HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services
    • Delete the entire Update Services key.
    • Check for leftover SCCM hooks under:
      Code:
           HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates
  4. Restart the server.

Step 2: Ensure a Clean IIS Environment

The IIS configuration may be stuck in a corrupted state. Rebuilding IIS often resolves these obscure conflicts.

1. Remove Existing WSUS IIS Configuration

  1. Open IIS Manager (inetmgr).
  2. Delete the WSUS Administration site (if it exists).
  3. Remove any residual virtual directories under any other IIS site:
    • Content
    • SelfUpdate

2. Reset IIS to Defaults

If IIS is corrupted:
  1. Reset IIS:
    Code:
    bash
       dism /online /cleanup-image /restorehealth
  2. Clear IIS config and start fresh:
    Code:
    bash
       iisreset /force
  3. Reinstall IIS required features for WSUS:
    Code:
    powershell
       Install-WindowsFeature Web-Server, Web-WebServer, Web-Net-Ext45, Web-ASPNET

Step 3: Validate the Database

If postinstall reaches SQL_INSTANCE_NAME, database corruption could be causing the problem.

1. Drop SUSDB if Corrupted or Incomplete

  1. Open SQL Server Management Studio (SSMS).
  2. Connect to the database engine:
    • WID:
      Code:
           np:\\.\pipe\MICROSOFT##WID\tsql\query
    • SQL Instance: Custom SQL Server instance.
  3. Check the SUSDB database for corruption:
    Code:
    sql
       SELECT * FROM tbSchemaVersion;
  4. If the database is incomplete, drop it:
    Code:
    sql
       DROP DATABASE SUSDB;
  5. Allow wsusutil.exe to recreate the database during the next postinstall.

Step 4: Retry WSUS Postinstall After Full IIS/IIS and Path Reset

After cleaning WSUS, IIS, and database remnants:
  1. Retry the WSUS postinstall command:
    Code:
    bash
       wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
If the above fails again, re-run with -skipIISConfig to bypass IIS:
Code:
     HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services
0

Step 5: Gather Logs and Deeper IIS Diagnostics

If failure persists, focus on logs and traces.

1. IIS Logs:​

  • Locate:
    Code:
         HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services
    1
  • Review errors related to WSUS sites or directories, such as 404 (missing path) or 401 (permissions).

2. Enable Windows Tracing to Debug Startup Failures:​

  1. Enable verbose Event Viewer diagnostics:
    Code:
         HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services
    2
  2. Check:
    Code:
         HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services
    3

3. Use Debugging Tools for IIS:​

Run the appcmd tool to identify inconsistencies in application pools or virtual directories:
Code:
     HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services
4
Verify the existence and state of WsusPool:
  • Fix through:
    Code:
         HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services
    5

If Issues Persist

If the issue continues:
  1. Share relevant IIS logs, postinstall log snippets, or any other errors logged in Event Viewer or setup logs (e.g., WSUSSetup.log).
  2. Detail SCCM’s exact configuration or what’s currently installed, as it might require disabling additional settings in SCCM before WSUS can work standalone again.
We’ll dig deeper based on your findings. Keep up the great troubleshooting—we’re getting there! 😊
 


Thanks for clarifying that you are using SQL Server rather than WID (Windows Internal Database). This changes the perspective a bit, as SQL-managed WSUS configurations come with their own potential issues, particularly related to connectivity, database permissions, and schema integrity. We’ll focus on SQL-specific troubleshooting while revisiting the previous steps to ensure SQL doesn’t create conflicts during the WSUS installation and postinstall.

Steps to Resolve WSUS SQL Configuration Issues

Step 1: Verify SQL Server Connectivity

  1. Test SQL Connectivity:
    • Open SQL Server Management Studio (SSMS) on the server hosting the WSUS SQL database.
    • Connect to the relevant SQL Server instance:
      Code:
           <YourSQLServerName>\<YourSQLInstance>
      Example:
      Code:
           SQLServer01\WSUSINST
  2. Locate the SUSDB Database:
    • Check if the SUSDB database exists in the SQL instance.
    • Query its properties to confirm it’s intact:
      Code:
      sql
           USE SUSDB;
           SELECT * FROM tbSchemaVersion;
    • If SUSDB doesn’t exist or the query fails, it may have been corrupted or removed during previous failed WSUS installations.
  3. Fix Missing or Corrupt SUSDB:
    • If the database is missing or corrupted, drop it to allow the WSUS postinstall to recreate it:
      Code:
      sql
           DROP DATABASE SUSDB;
  4. Ensure WSUS-Related SQL Permissions:
    • NT AUTHORITY\NETWORK SERVICE or a custom WSUS service account must have db_owner rights to the SQL Server instance.
    • Grant permissions via SQL Server:
      Code:
      sql
           USE master;
           CREATE LOGIN [NT AUTHORITY\NETWORK SERVICE] FROM WINDOWS;
           ALTER SERVER ROLE sysadmin ADD MEMBER [NT AUTHORITY\NETWORK SERVICE];

Step 2: Run the Postinstall Command with SQL Options

Use the following version of the postinstall command specific to SQL Server:
Bash:
wsusutil.exe postinstall SQL_INSTANCE_NAME="<YourSQLServerName>\<YourSQLInstance>" CONTENT_DIR="D:\WSUS\WSUSCONTENT" /logfile:C:\Temp\WSUSPostInstallLog.txt
Replace <YourSQLServerName>\<YourSQLInstance> with your SQL Server instance (e.g., SQLServer01\WSUSINST).
  • Note:
    • If your SQL instance is the Default Instance, simply use:
      Code:
           SQL_INSTANCE_NAME="MSSQLSERVER"

Step 3: Investigate Logs and Permissions

If the postinstall command fails, the issue is likely SQL-related:
  1. WSUS Postinstall Logs:
    • Check:
      Code:
           C:\Temp\WSUSPostInstallLog.txt
  2. SQL Logs:
    • Open SQL Server Management tools and review error logs:
      Code:
           <SQLInstallPath>\Log
    • Look for connection attempts, permission errors, or database issues.

Step 4: Clean Up Residual SQL/WSUS Configuration

If residual configurations are interfering with the process:
  1. Drop the Existing SUSDB Database:
    Code:
    sql
       DROP DATABASE SUSDB;
  2. Remove WSUS Users or Roles in SQL:
    • Open SQL Security Settings and delete improperly leftover logins, like:
      Code:
           SQLServer01\WSUSINST
      0

Step 5: Manual SQL Server Verification (Advanced)

1. Inspect SQL SUSDB Tables:​

Run these commands in SSMS to inspect the tables WSUS uses:
  • Check schema integrity:
    Code:
         SQLServer01\WSUSINST
    1
  • Verify relationships:
    Code:
         SQLServer01\WSUSINST
    2

2. Fix SQL Instance if Corrupt:​

If the SQL Server configuration itself is problematic:
  • Restart the SQL Server instance hosting WSUS:
    Code:
         SQLServer01\WSUSINST
    3

Step 6: IIS Recheck for SQL Integration

Since you’re using SQL, WSUS also needs IIS virtual directories that reference SQL settings appropriately.
  1. Inspect Application Pools:
    • Ensure WsusPool exists and is set to use:
      • .NET CLR Version v4.0
      • Integrated Pipeline Mode.
  2. Manually Create Directories (If Missing):
    • Content Path:
      • Create IIS content folder in: D:\WSUS\WSUSCONTENT.
    • Database Connection:
      • Ensure WSUS attempts to use the SQL instance during postinstall.

Potential SCCM Impact

Since you mentioned SCCM earlier:
  1. If SCCM has already been integrated with SQL, additional locks or configuration overrides could conflict with the manual WSUS installation process.
    • Temporarily disconnect SCCM from WSUS (disable SUP role on SCCM).
    • Fully complete the WSUS installation before re-enabling SCCM.

Next Debugging Steps

If errors continue, could you share:
  1. Key snippets from the WSUSPostInstallLog.txt file.
  2. Any unexpected findings in IIS or SQL logs.
We’ll refine from there to ensure WSUS completes installation cleanly with SQL! 😊
 


Id like to totally uninstall IIS but I have an HP site on it as well. How do I back that up so I can uninstall IIS completely, then install IIS then restore that site?
 


Great question! If you're planning to completely uninstall IIS but want to back up and restore an existing HP site, this can be done safely by leveraging IIS-provided tools. The HP site configuration (and any associated content) can be backed up, uninstalled, and restored without issue, as long as the required steps are followed carefully.
Here’s a step-by-step guide to back up your HP website, uninstall/install IIS, and restore the site configuration.

Step 1: Back Up Your IIS Configuration (Including HP Site)

Before uninstalling IIS, you should back up the site configurations and any associated content.

Option 1: Use appcmd to Back Up IIS Entirely

  1. Open Command Prompt as Administrator.
  2. Use the following command to back up IIS configurations:
    Code:
    bash
       appcmd add backup "HPWebsiteBackup"
    • This creates a full IIS configuration backup (including sites, bindings, and SSL certificates) and stores it under:
      Code:
           %windir%\system32\inetsrv\backup\HPWebsiteBackup

Step 2: Export the Specific HP Site Configuration

If you only want to back up the specific HP site, export its configuration to an XML file.
  1. Open Command Prompt as Administrator.
  2. Use the following command to list all sites in IIS:
    Code:
    bash
       appcmd list site
    • Identify the site name or ID of the HP site (e.g., HPUpdateSite).
  3. Export the specific site:
    Code:
    bash
       appcmd list site "HPUpdateSite" /config /xml > C:\Backup\HPWebsiteConfig.xml

Step 3: Backup Site Content (Manually)

Back up the physical files of the HP site to avoid data loss.
  1. Open File Explorer.
  2. Locate the physical path for your HP site's content:
    • This path is listed under the site settings in IIS Manager (e.g., C:\inetpub\hpupdate).
  3. Copy the entire folder to a backup directory:
    • Example:
      Code:
           C:\Backup\HPWebsiteContent\

Step 4: Uninstall IIS Completely

Uninstall IIS and any dependent components to clear out WSUS/IIS-related issues.
  1. Open PowerShell as Admin and run the following:
    Code:
    powershell
       Remove-WindowsFeature Web-Server -IncludeManagementTools
  2. Navigate to remove leftover configuration:
    • Delete:
      Code:
           C:\inetpub
      Code:
           %windir%\system32\inetsrv
  3. Restart your server after removing IIS.

Step 5: Reinstall IIS

Now install IIS on a clean slate to start fresh for WSUS and HP Website:
  1. Install IIS and the necessary management tools:
    Code:
    powershell
       Install-WindowsFeature Web-Server, Web-WebServer, Web-Mgmt-Tools
  2. Restart IIS to apply the new configuration:
    Code:
    bash
       iisreset

Step 6: Restore the HP Website

Once IIS is reinstalled, you can restore the HP site configuration and content.

Option 1: Restore Entire IIS Backup

  1. Apply the original IIS backup (if you backed up everything):
    Code:
         %windir%\system32\inetsrv\backup\HPWebsiteBackup
    0
    • Restart IIS to reload configurations.

Option 2: Restore Specific HP Site

  1. Import the HP site's configuration:
    Code:
         %windir%\system32\inetsrv\backup\HPWebsiteBackup
    1
    • Verify the site appears in IIS Manager.
  2. Validate the physical path:
    • Copy the backed-up website content (e.g., C:\Backup\HPWebsiteContent) back to its original physical path if necessary.

Step 7: Verify HP Website

  1. Open IIS Manager and ensure the HP site is listed and its bindings (ports, hostnames) are intact.
  2. Test the HP site in your browser:
    Code:
         %windir%\system32\inetsrv\backup\HPWebsiteBackup
    2

Notes​

  • SSL Certificates: If the HP site uses SSL, also back up and rebind the associated certificate after restoring the site.
  • WSUS Postinstall: Once IIS is clean, retry the WSUS installation without interference.

Let me know if you encounter any issues during the backup, restore, or WSUS setup after the IIS clean installation. I’m here to help! 😊
 


I am trying to start from scratch. Removing roles and features, I am getting a problem removing the Web Server (IIS). When rebooting it states it could not finish or it just stays at the black screen with the circling circle
 


It looks like your attempt to remove Web Server (IIS) is running into a major system-level issue. If the uninstallation fails and causes the server to get stuck or fail to complete the reboot, it indicates the IIS-related components might be severely corrupted or locked. Starting completely fresh is the right idea, but we need to ensure IIS, its dependencies, and any hanging processes are completely cleaned out correctly.
Let’s fix this starting with safe removal techniques:

Steps to Cleanly Remove IIS and Its Dependencies

Step 1: Force Removal Using DISM

When the Roles and Features GUI or PowerShell fails, DISM (Deployment Image Servicing and Management) is more granular and forceful. Use it to directly remove IIS.
  1. Open Command Prompt as Administrator.
  2. Run the following command to remove IIS and all dependencies:
    Code:
    bash
       dism /online /disable-feature /featurename:IIS-WebServerRole /remove
  3. Restart the server and retry uninstalling IIS if it still hangs or fails.

Alternative (Specific Components):​

If the full IIS role still fails, try targeting components individually:
Bash:
dism /online /disable-feature /featurename:IIS-WebServer
dism /online /disable-feature /featurename:IIS-WebServerManagementTools

Step 2: Remove IIS Registry Entries (Manually, If Needed)

If IIS is corrupted to the point that regular removal tools fail, clearing the registry can help.

1. Open Registry Editor (regedit).​

  1. Back up the registry (File > Export, just to be safe).
  2. Navigate to the IIS-related registry keys:
    Code:
       HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp
       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IISAdmin
       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC
  3. Delete these keys.
  4. Remove any additional leftovers in these default file locations:
    Code:
       C:\Windows\System32\inetsrv\
       C:\inetpub\

Step 3: Repair and Reset System State

If the server isn’t cleanly booting (stuck at a black screen or slow startup), you may need to repair underlying corruption with DISM and SFC.

1. Use DISM to Repair Image:​

  • Open Command Prompt as Administrator:
    Code:
    bash
         dism /online /cleanup-image /restorehealth
  • Allow this command to check and replace corrupted system components.

2. Run System File Checker:​

Code:
bash
   sfc /scannow
  • This will check for and repair corrupt system files.

3. Reboot the Server:​

  • Once DISM/SFC succeed, confirm the server boots cleanly before retrying IIS removal steps.

Step 4: Boot Into Safe Mode

If the server still hangs or refuses to cleanly remove the IIS role, perform these tasks in Safe Mode.

1. Reboot into Safe Mode:​

  • On reboot, press F8 or Shift + F8 (depending on server setup).
  • Choose Safe Mode from the boot menu.

2. Use DISM or PowerShell to Retry IIS Removal:​

  • Remove IIS again now that no IIS-related processes are active:
    Code:
    bash
         dism /online /disable-feature /featurename:IIS-WebServerRole /remove

Step 5: Fresh IIS Installation

Once IIS has been completely removed:
  1. Reinstall IIS with its required tools:
    Code:
    bash
       Install-WindowsFeature Web-Server -IncludeAllSubFeature -IncludeManagementTools
  2. Restart the server and ensure IIS is working correctly.

What Next If None of These Work?

If IIS still refuses to uninstall and corrupts the boot process:
  1. Share any error messages or logs from Event Viewer related to the failed roles, reboot, or installation processes.
    • Path to look at:
      Code:
           Applications and System in Event Viewer
  2. Attempt an in-place upgrade repair of Windows Server, replacing all damaged components while keeping your configurations:
    • Mount the Windows Server 2025 ISO.
    • Run setup.exe and choose Upgrade this PC to repair the system.

Let me know how the removal proceeds or if additional boot issues persist! I’ll help tailor steps further based on the server’s current state. 😊
 


The DISM error "We couldn't complete the features" indicates that Windows is failing to properly remove the IIS feature, likely due to system-level corruption, dependencies, or an incomplete state in the IIS configuration. This situation requires a more in-depth approach to forcefully remove IIS components and resolve any underlying issues preventing the operation.
Let’s tackle this systematically:

Resolution Steps for Stuck IIS Removal

Step 1: Analyze the Error in DISM Logs

  1. Open the DISM log file to identify the exact cause of the failure:
    • Location:
      Code:
           C:\Windows\Logs\DISM\dism.log
    • Look for entries related to IIS-WebServer or disable-feature.
  2. If you find entries indicating problematic components that DISM cannot disable, note them. Components such as IIS-ManagementTools or IIS-W3SVC modules are often the culprits.

Step 2: Use Safe Mode to Eliminate Dependency Locks

Booting into Safe Mode can help bypass any IIS locks or pending operations.
  1. Reboot the server and enter Safe Mode:
    • Restart and press F8 (or Shift+F8 for some setups).
    • Choose Safe Mode with Networking from the Advanced Boot Options menu.
  2. Retry DISM from Safe Mode:
    Code:
    bash
       dism /online /disable-feature /featurename:IIS-WebServer /remove
  3. If Safe Mode doesn’t work, proceed with the next steps below.

Step 3: Manually Remove IIS Files and Registry Keys

If DISM still fails, forcefully clean IIS components from the file system and registry.

1. Terminate IIS-Related Processes

  • Open Command Prompt as Administrator:
    Code:
    bash
       net stop W3SVC
       net stop IISADMIN
       net stop WAS
    • These commands stop the World Wide Web Publishing Service, IIS Admin service, and Windows Process Activation Service.

2. Delete IIS-Related Files

  • Navigate to these locations and delete them:
    Code:
       C:\inetpub
       C:\Windows\System32\inetsrv
  • These directories contain the main IIS configurations and runtime files.

3. Remove IIS Registry Entries

  1. Open Registry Editor (regedit).
  2. Navigate to:
    Code:
       HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp
       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IISAdmin
       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC
       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WAS
  3. Delete the above keys one by one.
  4. Reboot the server after removal to ensure a clean slate for IIS.

Step 4: Repair Windows Image

If IIS removal is still stuck, you’ll need to repair the underlying Windows Server image to fix component corruption or dependency issues.

1. Run Advanced DISM Repair:​

Code:
bash
   dism /online /cleanup-image /restorehealth
  • This command will repair corrupted system files, which may be preventing IIS from being removed properly.

2. Follow With SFC Repair:​

Code:
bash
   sfc /scannow
  • This checks and repairs system file integrity.

Step 5: Reinstall IIS

If removal is successful after the above steps, reinstall IIS on a clean slate:
  1. Reinstall IIS from scratch:
    Code:
    bash
       Install-WindowsFeature Web-Server -IncludeAllSubFeature -IncludeManagementTools
  2. Restart IIS and confirm it’s working:
    Code:
    bash
       iisreset

Alternative Solutions if All Else Fails

  1. Use In-Place Windows Upgrade:
    • This approach repairs all core Windows components (including IIS) while keeping your data intact.
    • Mount the Windows Server 2025 ISO and run setup.exe, selecting Upgrade this PC now.
  2. Consider Starting Fresh:
    • If IIS removal remains impossible and server functionality is severely impacted, a clean rebuild of the server might be more efficient.

Let Me Know​

If the situation persists, please share the following for further troubleshooting:
  • Any relevant excerpts from the C:\Windows\Logs\DISM\dism.log file.
  • Any specific error messages or behaviors during manual removal.
We’ll keep troubleshooting until IIS is cleanly removed and WSUS can start fresh! 😊
 


The error 0x800f0922 while uninstalling .NET Framework 4.8 WCF Services HTTP Activation usually points to a corruption in the Windows servicing stack or a conflict with required components/dependencies in the .NET Framework. This issue is often tied to missing prerequisites, partially removed features, or incomplete Windows updates—and could explain why IIS removal or WSUS installation is failing, as IIS heavily relies on .NET Framework.
Let’s focus on addressing the 0x800f0922 error and associated .NET Framework/WCF Services, before retrying IIS or WSUS operations.

Steps to Resolve 0x800f0922 on .NET WCF Services

Step 1: Reinstall NET-WCF-HTTP-Activation45 from DISM

Instead of removing the feature, repair or reinstall it to restore missing components.
  1. Open Command Prompt as Administrator.
  2. Reinstall WCF HTTP Activation:
    Code:
    bash
       dism /online /enable-feature /featurename:NET-WCF-HTTP-Activation45 /all
  3. Reinstall its dependencies (if needed):
    Code:
    bash
       dism /online /enable-feature /featurename:NET-Framework-45-Features /all
  4. Reboot the server to apply the changes:
    Code:
    bash
       shutdown /r /t 0

Step 2: Repair .NET Framework 4.8 Components

If the above step fails or the error persists, repair the .NET Framework entirely:
  1. Run DISM for .NET Framework 4.8 Repair:
    Code:
    bash
       dism /online /cleanup-image /restorehealth
  2. Perform a .NET Framework Repair:
    • Download and run the official .NET Framework Repair Tool:
      Download Here.
    • Follow the prompts to repair .NET Framework 4.8.

Step 3: Remove the WCF Feature Forcefully

If the feature cannot be repaired, it may need to be forcefully removed.
  1. Use DISM to remove the feature directly:
    Code:
    bash
       dism /online /disable-feature /featurename:NET-WCF-HTTP-Activation45 /remove
  2. Manually clean up remnants:
    • Open Registry Editor (regedit) and navigate to:
      Code:
           HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full
    • Verify that the keys for .NET Framework 4.8 are intact. If corrupted, delete and reset them.
  3. Reboot the server.

Step 4: Reset the Windows Servicing Stack

Corruption in the Windows Update servicing stack can prevent feature removal or changes.
  1. Reset Windows Update Components:
    Code:
    bash
       net stop wuauserv
       net stop cryptSvc
       net stop bits
       net stop msiserver
       ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
       ren C:\Windows\System32\catroot2 catroot2.old
       net start wuauserv
       net start cryptSvc
       net start bits
       net start msiserver
  2. Reboot the server, then retry uninstalling the WCF feature:
    Code:
    bash
       dism /online /disable-feature /featurename:NET-WCF-HTTP-Activation45 /remove

Step 5: Check Windows Update for Pending Fixes

Ensure all Windows updates have been applied, especially for .NET Framework 4.8 or cumulative updates.
  1. Run:
    Code:
    bash
       wuauclt.exe /detectnow
    This manually triggers Windows Update.
  2. Apply updates and reboot the server.

Step 6: Use SFC to Check and Repair System Files

If system file corruption is blocking feature removal:
  1. Run the following:
    Code:
    bash
       sfc /scannow
    • This will repair integral Windows system files, including .NET Framework components.
  2. Afterward, retry the removal command:
    Code:
    bash
       dism /online /enable-feature /featurename:NET-Framework-45-Features /all
    0

Step 7: Logs and Additional Debugging

If issues persist:
  1. Open the DISM log file:
    Code:
    bash
       dism /online /enable-feature /featurename:NET-Framework-45-Features /all
    1
    • Look for lines mentioning NET-WCF-HTTP-Activation45 or related errors to pinpoint dependencies causing the failure.
  2. Check CBS.log:
    • Location:
      Code:
      bash
         dism /online /enable-feature /featurename:NET-Framework-45-Features /all
      2
    • Review for detailed servicing stack errors (e.g., missing components).

Next Steps After Resolving 0x800f0922

Once you resolve the issue with .NET Framework 4.8 WCF Services, you can continue with:
  1. Retrying IIS Removal:
    Code:
    bash
       dism /online /enable-feature /featurename:NET-Framework-45-Features /all
    3
  2. Reattempt WSUS installation and postinstall once IIS and .NET are fully reset.

Let me know what happens after repairing or force-removing the .NET feature! If additional errors arise, we can check the logs and refine action steps. 😊
 


The 0x800f080c error accompanied by "Feature name NET-WCF-HTTP-Activation45 is unknown" means that DISM is unable to find or identify the feature because:
  1. The feature is partially uninstalled or corrupted, leaving behind an invalid state.
  2. The feature isn't listed as available because it's not part of the installed Windows Server features set due to component corruption or servicing issues.
  3. The Windows feature store (Windows servicing stack) isn't properly synchronized or updated.
Let’s address this step by validating the feature name and resolving the servicing stack issues.

Resolution for 0x800f080c

Step 1: Recheck Available Features List

Ensure the NET-WCF-HTTP-Activation45 feature (or a variant like NET-WCF-HTTP41 or similar) exists and is available in your Windows Server install.
  1. Run the following to list all available features:
    Code:
    bash
       dism /online /get-features /format:table
    • Look for a feature name like NET-WCF-HTTP-Activation45 or similar .NET Framework components.
  2. If you do not see the specific feature listed, it may be because:
    • The feature was removed from the system or corrupted.
    • A valid source (e.g., an ISO or mounted installation media) is unavailable.

Step 2: Use an ISO Source to Restore Features

If the feature is listed but cannot be re-enabled, Windows may need a valid source file to restore or repair it.
  1. Verify Windows Server ISO is Available:
    • Mount the Windows Server 2025 ISO (e.g., to drive D:).
  2. Re-run DISM with Source Paths:
    • Point DISM explicitly to the installation media for .NET Framework 4.8:
      Code:
      bash
           dism /online /enable-feature /featurename:NET-WCF-HTTP-Activation45 /source:D:\sources\sxs /limitaccess
    • Replace D: with the drive letter where the ISO is mounted.

Step 3: Reset Servicing Stack

If the feature still cannot be found or restored, an issue with the Windows Component Store may be preventing proper servicing.
  1. Repair the Servicing Stack:
    • Run:
      Code:
      bash
           dism /online /cleanup-image /restorehealth
  2. Resynchronize Features with the Feature Store:
    • Reset the servicing stack by renaming the SoftwareDistribution and Catroot2 folders:
      Code:
      bash
           net stop wuauserv
           net stop cryptSvc
           net stop bits
           net stop msiserver
           ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
           ren C:\Windows\System32\catroot2 catroot2.old
           net start wuauserv
           net start cryptSvc
           net start bits
           net start msiserver
  3. Retry enabling or disabling the feature:
    Code:
    bash
       dism /online /enable-feature /featurename:NET-WCF-HTTP-Activation45

Step 4: Manually Verify Components in Registry

If the issue persists, check the registry to identify corruption in the .NET Framework state.
  1. Open Registry Editor:
    Code:
       regedit
  2. Navigate to:
    Code:
       HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages
  3. Search for any entries like:
    • Microsoft-Windows-NetFx4-WCF-HTTP-Activation
    • If found, inspect the state of the package. A Disabled or Partially Removed state suggests corruption.
  4. If entries are incomplete, remove them and restart the system.

Step 5: Run SFC to Repair Missing System Files

Run System File Checker (sfc) to verify Windows components:
Bash:
sfc /scannow
  • If missing or corrupted files are found, Windows will attempt to replace them.
After repairing, retry the original command to enable or remove the feature:
Bash:
dism /online /enable-feature /featurename:NET-WCF-HTTP-Activation45

Step 6: Full In-Place Upgrade or Restore

If none of the above resolves the issue, you may need to perform a Windows in-place upgrade to replace all missing or corrupted components.
  1. Mount Windows Server ISO.
  2. Run setup.exe and choose Upgrade.
    • This will repair Windows while keeping your files and configurations intact.

Logs to Examine

If errors persist, review relevant logs for insights:
  1. DISM Log:
    Code:
       C:\Windows\Logs\DISM\dism.log
  2. CBS.log:
    Code:
    bash
         dism /online /enable-feature /featurename:NET-WCF-HTTP-Activation45 /source:D:\sources\sxs /limitaccess
    0

Next Steps​

Let me know what the dism /get-features output reveals or if there are any new findings from DISM errors or logs. I’ll guide further depending on what appears! 😊
 


If the feature still shows as unknown (even after explicitly pointing DISM to a valid source like a Windows ISO), it strongly suggests that the associated .NET Framework feature or WCF service activation has been entirely removed or corrupted in the Windows image. This might block not only WSUS installation but also affect other dependent components requiring .NET WCF features or IIS integration.
Let’s proceed with deeper diagnostics and advanced steps to restore or reset the Windows feature store.

Steps to Resolve Unknown Feature (Feature Unavailable)


Step 1: Verify If the Feature Exists in the Windows Image

  1. Run the following command to examine if the feature exists in the Windows Server installation:
    Code:
    bash
       dism /online /get-featureinfo /featurename:NET-WCF-HTTP-Activation45
    • If the error persists (The feature name is unknown), this confirms the system is missing references to this feature in its current configuration state.
  2. List All Recognized Features:
    • Double-check the list of available features to confirm none are partially named:
      Code:
      bash
           dism /online /get-features /format:table
    • Search the output for similar names like NET-Framework45, WCF, or HTTP.

Step 2: Reset the Feature Store Using ISO

To resolve feature corruption, re-sync the Windows feature store from a clean source.
  1. Mount Windows Installation Media (ISO):
    • Mount the Windows Server 2025 ISO and note the drive letter (e.g., D:).
  2. Rebuild the Feature Store:
    • Use DISM to repair $sources\sxs (Windows feature repository):
      Code:
      bash
           dism /online /enable-feature /featurename:NetFx4 /source:D:\sources\sxs /limitaccess
    • Retry enabling WCF HTTP Activation:
      Code:
      bash
           dism /online /enable-feature /featurename:NET-WCF-HTTP-Activation45 /source:D:\sources\sxs /limitaccess
  3. Restart the server and recheck the feature store.

Step 3: Manually Investigate CBS and Servicing Stack

  1. Check CBS Logs for Errors:
    • Open:
      Code:
           C:\Windows\Logs\CBS\CBS.log
    • Search for Failed to find feature errors. This may hint at specific dependencies or services missing.
  2. Force Reset the Servicing Stack:
    • Open Command Prompt as Administrator and run:
      Code:
      bash
           dism /online /cleanup-image /startcomponentcleanup
  3. Retry enabling or disabling the feature:
    Code:
    bash
       dism /online /enable-feature /featurename:NET-WCF-HTTP-Activation45

Step 4: Reinstall All .NET Framework Components

It’s possible that the .NET Framework itself is damaged or incomplete.
  1. Uninstall the .NET Framework 4.8 feature to reset dependencies:
    Code:
    bash
       dism /online /disable-feature /featurename:NetFx4 /remove
  2. Reinstall .NET Framework:
    Code:
    bash
       dism /online /enable-feature /featurename:NetFx4 /all
  3. Reinstall WCF dependencies:
    Code:
    bash
       dism /online /enable-feature /featurename:NET-WCF-HTTP-Activation45

Step 5: In-Place System Repair

If the unknown feature issue persists even after these steps, the core Windows feature repository or servicing stack might be corrupted.
  1. Use the mounted Windows Server 2025 ISO and run:
    • Run setup.exe and choose Upgrade this PC.
    • This will repair the Windows installation while keeping files and settings intact.

Key Logs and Further Debugging

If issues persist, share relevant details from:
  1. DISM Logs:
    Code:
    bash
         dism /online /get-features /format:table
    0
    • Look for lines mentioning the missing feature set, or why it is marked as unknown.
  2. CBS Logs for pending feature state issues:
    Code:
    bash
         dism /online /get-features /format:table
    1

Next Steps​

Let me know what happens after attempting these deeper repairs or if the logs reveal specific errors about the unknown feature. We’ll continue to refine our approach! 😊
 


CBS Log
2025-01-13 09:15:01, Info CBS TI: --- Initializing Trusted Installer ---
2025-01-13 09:15:01, Info CBS TI: Last boot time: 2025-01-09 15:31:16.685
2025-01-13 09:15:01, Info CBS Starting TrustedInstaller initialization.
2025-01-13 09:15:01, Info CBS Lock: New lock added: CCbsPublicSessionClassFactory, level: 30, total lock:4
2025-01-13 09:15:01, Info CBS Lock: New lock added: CCbsPublicSessionClassFactory, level: 30, total lock:5
2025-01-13 09:15:01, Info CBS Lock: New lock added: WinlogonNotifyLock, level: 8, total lock:6
2025-01-13 09:15:01, Info CBS Ending TrustedInstaller initialization.
2025-01-13 09:15:01, Info CBS Starting the TrustedInstaller main loop.
2025-01-13 09:15:01, Info CBS TrustedInstaller service starts successfully.
2025-01-13 09:15:01, Info CBS No startup processing required, TrustedInstaller service was not set as autostart
2025-01-13 09:15:01, Info CBS Startup processing thread terminated normally
2025-01-13 09:15:01, Info CBS TI: Startup Processing completes, release startup processing lock.
2025-01-13 09:15:01, Info CBS Starting TiWorker initialization.
2025-01-13 09:15:01, Info CBS Lock: New lock added: TiWorkerClassFactory, level: 30, total lock:2
2025-01-13 09:15:01, Info CBS Ending TiWorker initialization.
2025-01-13 09:15:01, Info CBS Starting the TiWorker main loop.
2025-01-13 09:15:01, Info CBS TiWorker starts successfully.
2025-01-13 09:15:01, Info CBS No content found - 'C:\WINDOWS\CbsTemp\._ForDelete\'
2025-01-13 09:15:01, Info CBS No content found - 'C:\WINDOWS\SystemTemp\CbsTemp._ForDelete'
2025-01-13 09:15:01, Info CBS Priority: Restoring default priority
2025-01-13 09:15:01, Info CBS Lock: New lock added: CCbsWorker, level: 5, total lock:3
2025-01-13 09:15:01, Info CBS Universal Time is: 2025-01-13 14:15:01.735
2025-01-13 09:15:01, Info CBS Loaded Servicing Stack v10.0.26100.1738 with Core: C:\WINDOWS\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.26100.1738_none_a5031b637767a4e7\cbscore.dll
2025-01-13 09:15:01, Info CBS Build: 26100.1.amd64fre.ge_release.240331-1435
2025-01-13 09:15:01, Info CBS Current Overlay Status: 0, Velocity configured status: 0
2025-01-13 09:15:01, Info CSI 00000001@2025/1/13:14:15:01.738 WcpInitialize: wcp.dll version 10.0.26100.1738 (WinBuild.160101.0800)
2025-01-13 09:15:01, Info CBS Could not load SrClient DLL from path: SrClient.dll. Continuing without system restore points.
2025-01-13 09:15:01, Info CBS TurboContainer load Successful
2025-01-13 09:15:01, Info CBS Lock: New lock added: CCbsSessionManager, level: 11, total lock:9
2025-01-13 09:15:01, Info CBS Lock: New lock added: CSIInventoryCriticalSection, level: 64, total lock:10
2025-01-13 09:15:01, Info CBS NonStart: Set pending store consistency check.
2025-01-13 09:15:01, Info CBS Module starts contributing to an existing logging session
2025-01-13 09:15:01, Info SXS TurboStack version 10.0.26100.1738 (WinBuild.160101.0800) loaded from C:\WINDOWS\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.26100.1738_none_a5031b637767a4e7
2025-01-13 09:15:01, Info CSI 00000002@2025/1/13:14:15:01.776 WcpInitialize: wcp.dll version 10.0.26100.1738 (WinBuild.160101.0800)
2025-01-13 09:15:01, Info CSI 00000003 Perf: LRU Cache Initialize @0x1b34d2c9920; Maximum Size: 1024 MiB; Initial Elements: 8192
2025-01-13 09:15:01, Info SXS Initialized store, arch=amd64, style=Desktop, compact=false, windir=(null), sandbox=
2025-01-13 09:15:01, Info CBS Session: 31155653_2297230218 initialized by client DISM Package Manager Provider
2025-01-13 09:15:01, Info CBS Enumerating Foundation package: Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~10.0.26100.1, this could be slow
2025-01-13 09:15:01, Info CBS Failed to get internal update: NET-WCF-HTTP-Activation45 in Package: Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~10.0.26100.1 [HRESULT = 0x800f080c - CBS_E_UNKNOWN_UPDATE]
2025-01-13 09:15:01, Info CSI 00000004 Perf: LRU Cache Clear @0x1b34d2c9920
 


DSIM log
2025-01-13 09:15:01, Info DISM PID=537192 TID=546616 Scratch directory set to 'C:\Users\DAdmin\AppData\Local\Temp\2\'. - CDISMManager::put_ScratchDir
2025-01-13 09:15:01, Info DISM PID=537192 TID=546616 DismCore.dll version: 10.0.26100.1150 - CDISMManager::FinalConstruct
2025-01-13 09:15:01, Info DISM Initialized Panther logging at C:\WINDOWS\Logs\DISM\dism.log
2025-01-13 09:15:01, Info DISM PID=537192 TID=546616 Successfully loaded the ImageSession at "C:\WINDOWS\system32\Dism" - CDISMManager::LoadLocalImageSession
2025-01-13 09:15:01, Info DISM Initialized Panther logging at C:\WINDOWS\Logs\DISM\dism.log
2025-01-13 09:15:01, Info DISM DISM Provider Store: PID=537192 TID=546616 Found and Initialized the DISM Logger. - CDISMProviderStore::Internal_InitializeLogger
2025-01-13 09:15:01, Info DISM Initialized Panther logging at C:\WINDOWS\Logs\DISM\dism.log
2025-01-13 09:15:01, Info DISM DISM Manager: PID=537192 TID=546616 Successfully created the local image session and provider store. - CDISMManager::CreateLocalImageSession
2025-01-13 09:15:01, Info DISM DISM.EXE:
2025-01-13 09:15:01, Info DISM DISM.EXE: <----- Starting Dism.exe session ----->
2025-01-13 09:15:01, Info DISM DISM.EXE:
2025-01-13 09:15:01, Info DISM DISM.EXE: Host machine information: OS Version=10.0.26100, Running architecture=amd64, Number of processors=8
2025-01-13 09:15:01, Info DISM DISM.EXE: Instance information: Parent process=C:\Windows\System32\cmd.exe, Parent process PID=546056
2025-01-13 09:15:01, Info DISM DISM.EXE: Dism.exe version: 10.0.26100.1150
2025-01-13 09:15:01, Info DISM DISM.EXE: Executing command line: dism /online /enable-feature /featurename:NET-WCF-HTTP-Activation45 /source:F:\sources\sxs /limitaccess
2025-01-13 09:15:01, Info DISM DISM Manager: PID=537192 TID=546616 physical location path: C:\ - CDISMManager::CreateImageSession
2025-01-13 09:15:01, Info DISM DISM Manager: PID=537192 TID=546616 Event name for current DISM session is Global\{E36DCD9A-0B93-4A2D-8FA3-C9EFF3D68557} - CDISMManager::CheckSessionAndLock
2025-01-13 09:15:01, Info DISM DISM Manager: PID=537192 TID=546616 Create session event 0x238 for current DISM session and event name is Global\{E36DCD9A-0B93-4A2D-8FA3-C9EFF3D68557} - CDISMManager::CheckSessionAndLock
2025-01-13 09:15:01, Info DISM DISM Manager: PID=537192 TID=546616 Copying DISM from "C:\WINDOWS\System32\Dism" - CDISMManager::CreateImageSessionFromLocation
2025-01-13 09:15:01, Info DISM DISM Manager: PID=537192 TID=546616 No Sandbox was created, DISM running in-place. - CDISMManager::CreateImageSessionFromLocation
2025-01-13 09:15:01, Info DISM DISM Manager: PID=537192 TID=546616 Successfully loaded the ImageSession at "C:\WINDOWS\System32\Dism" - CDISMManager::LoadRemoteImageSession
2025-01-13 09:15:01, Info DISM DISM Image Session: PID=535820 TID=546592 Instantiating the Provider Store. - CDISMImageSession::get_ProviderStore
2025-01-13 09:15:01, Info DISM DISM OS Provider: PID=535820 TID=546592 Defaulting SystemPath to C:\ - CDISMOSServiceManager::Final_OnConnect
2025-01-13 09:15:01, Info DISM DISM OS Provider: PID=535820 TID=546592 Defaulting Windows folder to C:\Windows - CDISMOSServiceManager::Final_OnConnect
2025-01-13 09:15:01, Info DISM DISM Provider Store: PID=535820 TID=546592 Attempting to initialize the logger from the Image Session. - CDISMProviderStore::Final_OnConnect
2025-01-13 09:15:01, Info DISM Initialized Panther logging at C:\WINDOWS\Logs\DISM\dism.log
2025-01-13 09:15:01, Info DISM DISM Provider Store: PID=535820 TID=546592 Found and Initialized the DISM Logger. - CDISMProviderStore::Internal_InitializeLogger
2025-01-13 09:15:01, Info DISM Initialized Panther logging at C:\WINDOWS\Logs\DISM\dism.log
2025-01-13 09:15:01, Info DISM Initialized Panther logging at C:\WINDOWS\Logs\DISM\dism.log
2025-01-13 09:15:01, Info DISM DISM Manager: PID=537192 TID=546616 Image session successfully loaded from location: C:\WINDOWS\System32\Dism - CDISMManager::CreateImageSession
2025-01-13 09:15:01, Info DISM DISM.EXE: Target image information: OS Version=10.0.26100.1742, Image architecture=amd64
2025-01-13 09:15:01, Info DISM DISM.EXE: Image session version: 10.0.26100.1150
2025-01-13 09:15:01, Info DISM DISM Transmog Provider: PID=535820 TID=546592 Current image session is [ONLINE] - CTransmogManager::GetMode
2025-01-13 09:15:01, Info DISM DISM Transmog Provider: PID=535820 TID=546592 Audit Mode: [No] - CTransmogManager::Initialize
2025-01-13 09:15:01, Info DISM DISM Transmog Provider: PID=535820 TID=546592 GetProductType: ProductType = [ServerNT] - CTransmogManager::GetProductType
2025-01-13 09:15:01, Info DISM DISM Transmog Provider: PID=535820 TID=546592 Product Type: [ServerNT] - CTransmogManager::Initialize
2025-01-13 09:15:01, Info DISM DISM Transmog Provider: PID=535820 TID=546592 Product Type ServerNT : [Yes] - CTransmogManager::Initialize
2025-01-13 09:15:01, Info DISM DISM OS Provider: PID=535820 TID=546592 Determined System directory to be C:\Windows\System32 - CDISMOSServiceManager::get_SystemDirectory
2025-01-13 09:15:01, Info CSI 00000001 Shim considered [l:123]'\??\C:\WINDOWS\WinSxS\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.26100.1738_none_a5031b637767a4e7\wcp.dll' : got STATUS_SUCCESS
2025-01-13 09:15:01, Info DISM DISM Driver Manager: PID=535820 TID=546592 Further logs for driver related operations can be found in the target operating system at %WINDIR%\inf\setupapi.offline.log - CDriverManager::Initialize
2025-01-13 09:15:01, Info DISM DISM Package Manager: PID=535820 TID=546592 Finished initializing the CbsConUI Handler. - CCbsConUIHandler::Initialize
2025-01-13 09:15:01, Info DISM DISM Package Manager: PID=535820 TID=546592 CBS is being initialized for online use. More information about CBS actions can be located at: %windir%\logs\CBS\CBS.log - CDISMPackageManager::Initialize
2025-01-13 09:15:01, Info DISM DISM Package Manager: PID=535820 TID=546592 Loaded servicing stack for online use. - CDISMPackageManager::CreateCbsSession
2025-01-13 09:15:01, Info CSI 00000001 Shim considered [l:123]'\??\C:\WINDOWS\WinSxS\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.26100.1738_none_a5031b637767a4e7\wcp.dll' : got STATUS_SUCCESS
2025-01-13 09:15:01, Info DISM DISM Package Manager: PID=535820 TID=546592 Processing the top level command token(enable-feature). - CPackageManagerCLIHandler::Private_ValidateCmdLine
2025-01-13 09:15:01, Info DISM DISM Package Manager: PID=535820 TID=546592 Attempting to route to appropriate command handler. - CPackageManagerCLIHandler::ExecuteCmdLine
2025-01-13 09:15:01, Info DISM DISM Package Manager: PID=535820 TID=546592 Routing the command... - CPackageManagerCLIHandler::ExecuteCmdLine
2025-01-13 09:15:01, Info DISM DISM Package Manager: PID=535820 TID=546592 Encountered the option "featurename" with value "NET-WCF-HTTP-Activation45" - CPackageManagerCLIHandler::Private_GetPackagesFromCommandLine
2025-01-13 09:15:01, Info DISM DISM Package Manager: PID=535820 TID=546592 Encountered an unknown option "featurename" with value "NET-WCF-HTTP-Activation45" - CPackageManagerCLIHandler::Private_GetPackagesFromCommandLine
2025-01-13 09:15:01, Info DISM DISM Package Manager: PID=535820 TID=546592 Encountered the option "source" with value "F:\sources\sxs" - CPackageManagerCLIHandler::Private_GetPackagesFromCommandLine
2025-01-13 09:15:01, Info DISM DISM Package Manager: PID=535820 TID=546592 Encountered an unknown option "source" with value "F:\sources\sxs" - CPackageManagerCLIHandler::Private_GetPackagesFromCommandLine
2025-01-13 09:15:01, Error DISM DISM Package Manager: PID=535820 TID=546592 Failed to get the Update through CBS. - CDISMPackage::Internal_OpenFeature(hr:0x800f080c)
2025-01-13 09:15:01, Error DISM DISM Package Manager: PID=535820 TID=546592 Failed to get the underlying CBS Feature - CDISMPackage::OpenFeature(hr:0x800f080c)
2025-01-13 09:15:01, Error DISM DISM Package Manager: PID=535820 Feature name NET-WCF-HTTP-Activation45 is unknown. - CPackageManagerCLIHandler::Private_GetFeaturesFromCommandLine(hr:0x800f080c)
2025-01-13 09:15:01, Error DISM DISM Package Manager: PID=535820 TID=546592 Unknown features were specified on the command-line. - CPackageManagerCLIHandler::Private_GetFeaturesFromCommandLine(hr:0x800f080c)
2025-01-13 09:15:01, Error DISM DISM Package Manager: PID=535820 TID=546592 Failed to get the Feature List from the command line. - CPackageManagerCLIHandler::Private_ProcessFeatureChange(hr:0x800f080c)
2025-01-13 09:15:01, Error DISM DISM Package Manager: PID=535820 TID=546592 Failed while processing command enable-feature. - CPackageManagerCLIHandler::ExecuteCmdLine(hr:0x800f080c)
2025-01-13 09:15:01, Info DISM DISM Package Manager: PID=535820 TID=546592 Further logs for online package and feature related operations can be found at %WINDIR%\logs\CBS\cbs.log - CPackageManagerCLIHandler::ExecuteCmdLine
2025-01-13 09:15:01, Info DISM DISM Package Manager: PID=535820 TID=543988 Finalizing CBS core. - CDISMPackageManager::Finalize
2025-01-13 09:15:01, Info DISM DISM Manager: PID=537192 TID=546616 Closing session event handle 0x238 - CDISMManager::CleanupImageSessionEntry
2025-01-13 09:15:01, Info DISM DISM.EXE: Image session has been closed. Reboot required=no.
2025-01-13 09:15:01, Info DISM DISM.EXE:
2025-01-13 09:15:01, Info DISM DISM.EXE: <----- Ending Dism.exe session ----->
2025-01-13 09:15:01, Info DISM DISM.EXE:
 


The 0x800f0922 error for .NET 4.8 WCF Services HTTP Activation persists due to a deeper issue in either the Windows servicing stack, feature repository, or a blocked operation preventing proper removal. This error is particularly common when:
  1. The Component Store (WinSxS) has corruption.
  2. There’s a dependency or feature lock caused by IIS or other services.
  3. Pending system updates or servicing stack updates (SSUs) are missing or incomplete.
Here’s how we’ll tackle this step by step:

Steps to Fix 0x800f0922 for .NET 4.8 WCF Services HTTP Activation


Step 1: Clear Pending Updates or Incomplete Feature Changes

The error could relate to a pending servicing operation that is blocking the removal.
  1. Delete Pending Servicing Operations:
    • Open Command Prompt as Administrator and run:
      Code:
      bash
           del /f /q C:\Windows\WinSxS\pending.xml
  2. Reset the Windows Update Component Store:
    • Stop update-related services:
      Code:
      bash
           net stop wuauserv
           net stop cryptSvc
           net stop bits
           net stop msiserver
    • Rename folders:
      Code:
      bash
           ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
           ren C:\Windows\System32\catroot2 catroot2.old
    • Restart the services:
      Code:
      bash
           net start wuauserv
           net start cryptSvc
           net start bits
           net start msiserver
  3. Reboot the Server and retry removing the WCF feature.

Step 2: Manually Stop Any Related Services

.NET WCF Services HTTP Activation may not uninstall if processes or services that depend on it are running.
  1. Stop Related Services:
    Code:
    bash
       net stop W3SVC
       net stop WAS
       net stop NetTcpPortSharing
  2. Re-attempt the uninstall:
    Code:
    bash
       dism /online /disable-feature /featurename:NET-WCF-HTTP-Activation45 /remove

Step 3: Reset .NET Features

If stopping services doesn’t resolve the issue, manually reset .NET Framework 4.8 to eliminate all dependent features.
  1. Uninstall All .NET Related Features:
    Code:
    bash
       dism /online /disable-feature /featurename:NetFx4
       dism /online /cleanup-image /startcomponentcleanup
  2. Reinstall .NET Framework 4.8:
    • Mount the Windows Server 2025 ISO and run:
      Code:
      bash
           dism /online /enable-feature /featurename:NetFx4 /source:D:\sources\sxs /limitaccess

Step 4: Repair Component Store

If resetting WCF features doesn’t work, the Windows servicing mechanism may be corrupted.
  1. Run Component Store Repair:
    Code:
    bash
       dism /online /cleanup-image /restorehealth
  2. Retry Feature Removal:
    Code:
    bash
       dism /online /disable-feature /featurename:NET-WCF-HTTP-Activation45

Step 5: Perform a Manual Cleanup

If .NET WCF Services HTTP Activation cannot be removed through normal tools, manually delete its associated files and registry entries.

1. Delete Registry Entries:​

  1. Open regedit.
  2. Navigate to:
    Code:
    bash
         net stop wuauserv
         net stop cryptSvc
         net stop bits
         net stop msiserver
    0
  3. Find entries related to:
    • Microsoft-Windows-NetFx4-WCF-HTTP-Activation*.
    • Delete these entries.

2. Delete Files:​

  1. Go to:
    Code:
    bash
         net stop wuauserv
         net stop cryptSvc
         net stop bits
         net stop msiserver
    1
  2. Search for matching Microsoft.Net.WCF.HttpActivation directories and move them to a temporary backup.
  3. Run:
    Code:
    bash
         net stop wuauserv
         net stop cryptSvc
         net stop bits
         net stop msiserver
    2

Step 6: Force Removal in Safe Mode

Services and dependencies are minimized in Safe Mode, often allowing problematic features to be removed.
  1. Reboot into Safe Mode:
    • On reboot, press F8 or Shift + F8 and select Safe Mode.
  2. Retry the removal in Safe Mode:
    Code:
    bash
         net stop wuauserv
         net stop cryptSvc
         net stop bits
         net stop msiserver
    3
  3. Reboot into normal mode.

Step 7: Perform an In-Place Upgrade

If the above steps fail, an in-place upgrade repair will refresh the servicing stack and all Windows features.
  1. Mount the Windows Server 2025 ISO file.
  2. Run setup.exe and choose Upgrade this PC.
    • This restores all system files and Windows features.
  3. After the repair, retry the .NET WCF feature removal or installation process.

How to Verify Success

Once you’ve resolved the issue:
  1. Confirm the .NET feature state:
    Code:
    bash
         net stop wuauserv
         net stop cryptSvc
         net stop bits
         net stop msiserver
    4
    • Ensure NET-WCF-HTTP-Activation45 no longer appears.
  2. Test .NET on IIS.
    • Restart IIS services:
      Code:
      bash
           net stop wuauserv
           net stop cryptSvc
           net stop bits
           net stop msiserver
      5

Key Logs to Investigate

If the feature is still stuck:
  1. CBS Logs (CBS.log):
    Code:
    bash
         net stop wuauserv
         net stop cryptSvc
         net stop bits
         net stop msiserver
    6
  2. DISM Logs (dism.log):
    Code:
    bash
         net stop wuauserv
         net stop cryptSvc
         net stop bits
         net stop msiserver
    7
Search for lines referencing .NET WCF Activation or 0x800f0922.

Let Me Know!​

Share any new results or log snippets if issues persist, and I’ll help refine the solution further! 😊
 


Back
Top