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.Content
(points to WSUS content folder).SelfUpdate
(points to C:\Program Files\Update Services\SelfUpdate
).plaintext
D:\WSUS\WSUSCONTENT
plaintext
C:\Program Files\Update Services\SelfUpdate
D:\WSUS\WSUSCONTENT
C:\Program Files\Update Services\SelfUpdate
.powershell
Get-WindowsFeature -Name Web-Server, Web-Mgmt-Tools, Web-WebServer
powershell
Install-WindowsFeature Web-Server, Web-WebServer, Web-Mgmt-Tools, Web-Net-Ext45, Web-Windows-Auth
bash
iisreset
powershell
Get-WindowsFeature -Name NET-Framework-Core, NET-Framework-45-Core, NET-Framework-45-Features
powershell
Install-WindowsFeature NET-Framework-45-Features
bash
dism /online /cleanup-image /restorehealth
sfc /scannow
powershell
Remove-WindowsFeature -Name UpdateServices, UpdateServices-Services, UpdateServices-DB
C:\Program Files\Update Services
D:\WSUS\WSUSCONTENT
regedit
) and navigate to:plaintext
C:\Program Files\Update Services\SelfUpdate
plaintext
C:\Program Files\Update Services\SelfUpdate
plaintext
C:\Program Files\Update Services\SelfUpdate
plaintext
C:\Program Files\Update Services\SelfUpdate
Content
-> Physical Path: D:\WSUS\WSUSCONTENT
SelfUpdate
-> Physical Path: C:\Program Files\Update Services\SelfUpdate
plaintext
C:\Program Files\Update Services\SelfUpdate
C:\inetpub\wwwroot
and WSUS folders).NETWORK SERVICE
and IIS_IUSRS
.wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="YourSQLInstanceName"
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"
: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"
:YourSQLInstanceName
with the correct SQL instance hosting the SUSDB
database.MSSQLSERVER
for the default SQL Server instance.MICROSOFT##WID
for Windows Internal Database (WID).bash
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
bash
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MY-SQL-SERVER\INSTANCE"
-skipIISConfig
flag:bash
wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
C:\Program Files\Update Services\LogFiles\WSUSSetup.log
D:\WSUS\WSUSCONTENT
and MICROSOFT##WID
with your corresponding paths and SQL instance configuration.bash
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
bash
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="YourServerName\CustomInstanceName"
bash
wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
C:\Program Files\Update Services\LogFiles\WSUSSetup.log
SUSDB
issues).inetmgr
).D:\WSUS\WSUSCONTENT
.C:\Program Files\Update Services\SelfUpdate
.SUSDB
is running.bash
net start w3svc
net start MSSQL$MICROSOFT##WID
SUSDB
database exists.D:\WSUS\WSUSCONTENT
.C:\Program Files\Update Services\SelfUpdate
.bash
iisreset
WSUSSetup.log
for details and adjust IIS or SQL configurations as necessary.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. C:\Users\<YourUsername>\AppData\Local\Temp\2\WSUS_PostInstall_<timestamp>.log
Content
or SelfUpdate
virtual directories.inetmgr
to open IIS Manager.D:\WSUS\WSUSCONTENT
(or the path specified in the CONTENT_DIR
parameter of the postinstall command).C:\Program Files\Update Services\SelfUpdate
.WSUS Administration
Site is Missing:C:\Program Files\Update Services
.WsusPool
.NET CLR Version v4.0
WsusPool
> Start.bash
iisreset
bash
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
Content
-> Path: D:\WSUS\WSUSCONTENT
SelfUpdate
-> Path: C:\Program Files\Update Services\SelfUpdate
bash
net stop WsusService
net start WsusService
C:\Users\<YourUsername>\AppData\Local\Temp\2
. C:\inetpub\logs\LogFiles
404
or 401
.bash
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
-skipIISConfig
flag to bypass IIS setup (useful if WSUS thinks IIS is incorrectly configured):bash
wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
C:\Users\<YourUsername>\AppData\Local\Temp\2\WSUS_PostInstall_<timestamp>.log
regedit
). HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup
ContentDir
:D:\WSUS\WSUSCONTENT
(or your desired content directory).ContentDirectoryTier2
(if present):IISWebSite
:1
: Custom WSUS website (port 8530).0
: Default IIS website (port 80).wsusutil.exe postinstall
command.C:\Program Files\Update Services\WebServices
Content
-> Path: D:\WSUS\WSUSCONTENT
SelfUpdate
-> Path: C:\Program Files\Update Services\SelfUpdate
bash
wsusutil.exe postinstall SQL_INSTANCE_NAME="MICROSOFT##WID" CONTENT_DIR="D:\WSUS\WSUSCONTENT"
np:\\.\pipe\MICROSOFT##WID\tsql\query
sql
USE SUSDB;
SELECT * FROM tbSchemaVersion;
tbSchemaVersion
table doesn’t exist or returns errors, the SUSDB database may be corrupted. In this case:bash
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID" /logfile:C:\Temp\PostInstallVerboseLog.txt
powershell
Remove-WindowsFeature UpdateServices, UpdateServices-Services, UpdateServices-DB
C:\Program Files\Update Services
D:\WSUS\WSUSCONTENT
bash
wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
bash
wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
-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.-skipIISConfig
, WSUS may still check for existing IIS configurations in the registry. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup
IISWebSite
:1
(indicating a custom WSUS site).ContentDir
: D:\WSUS\WSUSCONTENT
bash
iisreset
wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="SQL_INSTANCE_NAME"
inetmgr
).C:\Program Files\Update Services\WebServices
D:\WSUS\WSUSCONTENT
C:\Program Files\Update Services\SelfUpdate
bash
iisreset /noforce
D:\WSUS\WSUSCONTENT
):NETWORK SERVICE
and IIS_IUSRS
with full control.C:\Program Files\Update Services\SelfUpdate
):ContentDir
under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup
.bash
wsusutil.exe postinstall SQL_INSTANCE_NAME="SQL_INSTANCE_NAME" CONTENT_DIR="D:\WSUS\WSUSCONTENT"
C:\Temp\WSUSFAKE
ContentDir
registry value to: C:\Temp\WSUSFAKE
bash
wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="C:\Temp\WSUSFAKE" SQL_INSTANCE_NAME="SQL_INSTANCE_NAME"
bash
appcmd delete apppool /apppool.name:"WsusPool"
appcmd add apppool /name:"WsusPool" /managedRuntimeVersion:v4.0 /managedPipelineMode:Integrated
bash
iisreset
D:\WSUS\WSUSCONTENT
D:\WSUS\WSUSCONTENT
D:\WSUS\WSUSCONTENT
D:\WSUS\WSUSCONTENT
D:\WSUS\WSUSCONTENT
D:\WSUS\WSUSCONTENT
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.IISWebsite
Keyregedit
, and press Enter. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup
IISWebsite
Key (if missing): IISWebsite
bash
iisreset
bash
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
IISWebsite
Values1
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).Setup
in the WSUS registry, such as ContentDir
.IISWebsite
key impacts the current setup! 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./logfile
).bash
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID" /logfile:C:\Temp\PostInstallVerboseLog.log
C:\Temp
in case it does not exist (logs can fail to generate without a valid directory):bash
mkdir C:\Temp
bash
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID" /logfile:C:\Temp\PostInstallVerboseLog.txt
D:\WSUS\WSUSCONTENT
C:\Program Files\Update Services\SelfUpdate
NETWORK SERVICE
and IIS_IUSRS
.inetmgr
).Content
-> Path: D:\WSUS\WSUSCONTENT
SelfUpdate
-> Path: C:\Program Files\Update Services\SelfUpdate
System.Runtime.InteropServices.COMException
you posted earlier suggests it might also be tied to IIS’s application pool functionality.bash
appcmd add apppool /name:"WsusPool" /managedRuntimeVersion:v4.0 /managedPipelineMode:Integrated
bash
iisreset /noforce
bash
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
-skipIISConfig
:bash
wsusutil.exe postinstall -skipIISConfig CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID" /logfile:C:\Temp\PostInstallVerboseLog.log
bash
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID" /trace
/trace
flag will generate an expanded diagnostic log, which may provide more insight into the root cause.bash
mkdir C:\Temp
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./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.inetmgr
). C:\Program Files\Update Services
http://localhost:8530
D:\WSUS\WSUSCONTENT
) is present and accessible.SelfUpdate
directory exists at: C:\Program Files\Update Services\SelfUpdate
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup
D:\WSUS\WSUSCONTENT
DWORD: 1
bash
iisreset
bash
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
WSUS Administration
site (if it exists).bash
iisreset /stop
C:\Program Files\Update Services\WebServices
D:\WSUS\WSUSCONTENT
C:\Program Files\Update Services\SelfUpdate
bash
appcmd add apppool /name:"WsusPool" /managedRuntimeVersion:v4.0 /managedPipelineMode:Integrated
http://localhost:8530
http://localhost:8530
http://localhost:8530
http://localhost:8530
http://localhost:8530
http://localhost:8530
http://localhost:8530
SUSDB
or managing IIS for software updates, attempting to run the WSUS postinstall might fail because SCCM locks configurations WSUS assumes are standalone. Administration > Site Configuration > Servers and Site System Roles
SUSDB
(WSUS database). <SCCMInstallDirectory>\Logs
Administration > Site Configuration > Servers and Site System Roles
bash
iisreset
bash
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"
postinstall
from working correctly, additional checks in the database and IIS may be required. np:\\.\pipe\MICROSOFT##WID\tsql\query
SUSDB
.SUSDB
database for SCCM ownership or schema locks:sql
SELECT * FROM tbSchemaVersion;
bash
Remove-WindowsFeature -Name UpdateServices, UpdateServices-Services, UpdateServices-DB -IncludeManagementTools
bash
wsusutil.exe postinstall CONTENT_DIR="D:\WSUS\WSUSCONTENT" SQL_INSTANCE_NAME="MICROSOFT##WID"