Skip to content

Est. 2011ยทMicrosoft Partner 7033487ยทDelivery under 3 minยทSupport 7 days a week

Your vault is empty.

Free Fix Event ID 13042

Event ID 12042 and 13042: WSUS self-update and authentication services fail

10 min read Updated October 4, 2026 Windows Server: RDS, Hyper-V & Clustering

Fix it now

Self-update does not follow WSUS onto its custom port. Microsoft’s requirement is explicit: WSUS Setup creates a virtual directory named Selfupdate under the web site running on port 80, and you must have a web site running on port 80 even when the WSUS site is on a custom port.

Run these on the WSUS server, in an elevated Command Prompt. Correct the drive if WSUS is not on C:

cscript "C:\program files\microsoft windows server update services\setup\InstallSelfupdateOnPort80.vbs"
iisreset
  1. In IIS Manager, confirm a site is bound to port 80 and that it contains a Selfupdate virtual directory. If the default web site was removed or repurposed, that is the fault.
  2. Test from a client over HTTP on port 80 rather than the WSUS port: requesting the iuident.cab path from the server should return a file rather than a 404.
  3. Run the InstallSelfupdateOnPort80 script above, which is Microsoft’s documented way to put the self-update tree back.
  4. Confirm anonymous access on the Default Web Site, the ClientWebService and the Selfupdate virtual directories, which is what clients need before they have authenticated anywhere.
  5. Check the IIS logs under %windir%\system32\LogFiles\W3SVC1 to confirm the requests are arriving and what they are answered with.

If the 12000-series web service events are present too, and a browser gets 503, this is not a self-update problem: the application pool is down and taking everything with it. Fix that first.

If self-update requests are answered and clients are reporting again, you can stop here. The next section explains what the self-update tree is for and what breaks it.

Why it happens

Before a client can talk to WSUS properly it needs a compatible Windows Update agent, and self-update is the mechanism that lets it fetch one. Because the client is bootstrapping, that request does not go to the port the WSUS administration site listens on. Microsoft’s wording is direct: Setup creates a virtual directory named Selfupdate under the web site running on port 80, that directory holds the latest WSUS client, and for that reason you must have a web site running on port 80 even if the WSUS web site is on a custom port. The site on port 80 does not have to be dedicated to WSUS – it only has to exist.

The paths involved are fixed. Clients fetch an identification file from the root of the server and their agent from beneath the Selfupdate directory, organised by architecture, operating system and language. That is why the failure is so binary: either a site answers on port 80 with those paths present, or nothing about the client’s agent update can work regardless of how healthy WSUS itself is.

The event IDs in this family have no published message text, so they are best treated as pointers to the IIS configuration rather than as diagnoses. What is documented, and what actually settles this, is whether a site exists on port 80, whether the Selfupdate directory is under it, whether anonymous access is permitted, and what the IIS log records when a client asks.

Nothing is serving port 80 any more

You have this one if Self-update fails while the console and the other WSUS services are healthy.

  1. In IIS Manager, confirm a site is bound to port 80 on this server.
  2. If the default web site was removed or its binding changed, restore a site on port 80.
  3. Run cscript "<drive>:\program files\microsoft windows server update services\setup\InstallSelfupdateOnPort80.vbs" to put the self-update tree back under it.
  4. Test from a client over HTTP on port 80 and confirm you do not get a 404.

This is the case that catches people who install WSUS on its own port and later deploy a web application that takes over port 80.

Another application on port 80 is intercepting the requests

You have this one if An access denied when the agent tries to update itself, and the latest agent never runs.

  1. Grant anonymous access to the Default Web Site, the ClientWebService and the Selfupdate virtual directories.
  2. Exclude the WSUS paths from the other application’s request handling – Microsoft names /iuident.cab, /wutrack.bin, /clientwebservice and /Selfupdate.
  3. Reset the web services with iisreset and retest from a client.
  4. Where the two applications genuinely cannot share the server, move one of them.

The application pool is down and everything is failing together

You have this one if These events plus the 12000-series web service events, and a browser request returning 503.

  1. Start WsusPool in IIS Manager and confirm it stays started.
  2. Address the reason it stopped – normally its private memory limit or the size of the database – rather than the virtual directories.
  3. Reset the web services with iisreset.
  4. Retest self-update only once the pool is stable.

Clients are pointed at the wrong server or port

You have this one if The server passes every test you run, but one group of machines never updates its agent.

  1. On an affected client, check the Windows Update policy values for the update server and the status server.
  2. Confirm they include the correct port for your installation and that both name the same server.
  3. Correct the Group Policy that sets them rather than the client, then run gpupdate /force.
  4. Force a detection cycle and confirm the client’s last-contact time moves in the console.

Full reference

What lives where

Component Where it must be
Selfupdate A virtual directory under the web site running on port 80, holding the latest WSUS client
The client identification file At the root of the server over HTTP: /iuident.cab
The agent files Beneath /selfupdate, organised by architecture, operating system and language
Client tracking /wutrack.bin
The client web service /clientwebservice, which also needs anonymous access
All of it Served by IIS on the WSUS server, inside the WsusPool application pool

Testing it the way a client does

  1. From another machine, request the identification file over HTTP on port 80 of the WSUS server.
  2. A file means the self-update tree is present. A 404 means the directory or the site is missing.
  3. A 503 means the application pool is stopped, which is a different article’s problem.
  4. An authentication prompt or a 401 means anonymous access has been removed from a directory that needs it.
  5. Check %windir%\system32\LogFiles\W3SVC1 for the request you just made and read the status code IIS recorded.

That sequence is worth following in order, because each outcome sends you somewhere different and three of the four have nothing to do with self-update itself.

What the repair script does

InstallSelfupdateOnPort80.vbs lives in the setup folder of the Update Services installation directory and is Microsoft’s documented way to ensure the self-update tree is working. It is a much narrower action than re-running the whole WSUS post-installation configuration, which rewrites the IIS configuration for WSUS generally. Prefer the script where the problem is the self-update tree, and keep the post-installation step for cases where more of the IIS configuration is damaged – and note your current virtual directory paths, bindings and content location before running that, so you can confirm afterwards that nothing you depended on changed.

Anonymous access, and why hardening breaks this

Clients contact the self-update tree and the client web service before they have authenticated anywhere, which is why anonymous access on those directories is part of the documented configuration rather than an oversight. A hardening baseline applied at the site level and inherited downwards will remove it, and the symptom is a set of clients that stop updating with a healthy-looking server. Check inheritance as well as the directory’s own settings, because a setting applied at the parent looks correct everywhere except where it matters.

When the server is healthy and the clients are not

  • Read last-contact times in the console rather than the computer list. The console shows the last state the server recorded, so a client that stopped talking looks fine until you check the timestamp.
  • Confirm the update server and status server policy values agree with each other and with the port WSUS is on.
  • Confirm the clients can reach the WSUS port as well as port 80; self-update and the client web service are different endpoints.
  • Where only newly built machines fail, compare their policy against a working machine rather than against the documentation.

How much self-update still matters

Current Windows versions carry an update agent serviced through normal updates, so self-update matters far less than it once did. It is still worth fixing, because a broken Selfupdate directory usually means the IIS configuration for WSUS has been damaged more broadly – a site removed, a path orphaned by a move, or a baseline that removed anonymous access across the whole server. The self-update failure is the visible edge of that, and the rest of it will surface later.

Every code this article covers

Code What it points at Source
Event ID 13042 Logged by WSUS in connection with the self-update mechanism. Microsoft publishes no message text for this ID; confirm a site exists on port 80 with a Selfupdate virtual directory under it not published by the vendor
Event ID 12042 Logged by WSUS against one of its authentication web services. No published message text; check the virtual directory exists with a valid physical path and permits anonymous access not published by the vendor
Event ID 12052 The same family, with no published message text. Read it with the other WSUS events from the same minute rather than on its own not published by the vendor
Event ID 507 A WSUS server-side event with no published message text. Use the event body and the IIS logs to identify which component reported it not published by the vendor

Confirm the fix worked

  1. A site is bound to port 80 on the WSUS server and contains a Selfupdate virtual directory.
  2. Requesting the identification file over HTTP on port 80 from another machine returns a file, not a 404, 401 or 503.
  3. The IIS log under %windir%\system32\LogFiles\W3SVC1 records those requests with a success status.
  4. A test client’s last-contact time updates in the console after a forced detection cycle.
  5. The WSUS console itself still connects, confirming you have not broken the administration site while fixing port 80.

Questions people ask about this

Can I put WSUS on port 80 to simplify this?

On a dedicated WSUS server that removes a whole category of confusion. On a server sharing IIS with anything else, keeping WSUS on its own port is safer, and you simply have to keep a site on port 80 for the self-update tree.

Does fixing this cost anything?

No. These are IIS virtual directories belonging to a role included with Windows Server. Everything here is configuration, and no licence, add-on or edition changes it.

Do modern clients still need self-update?

Much less than they did, because current Windows versions service the update agent through normal updates. Fix it anyway: a broken Selfupdate directory is usually a symptom of wider damage to the IIS configuration for WSUS.

Why do clients look fine in the console while this is broken?

Because the console shows the last state the server recorded. A client that cannot reach the server stops updating it, and the list keeps showing stale information until you look at last-contact times.

Is re-running the WSUS post-installation step safe?

It rewrites the IIS configuration for WSUS, so note your current virtual directory paths, bindings and content location first. Where the problem is only the self-update tree, the InstallSelfupdateOnPort80 script is the narrower and safer action.

Related error codes

Was this article helpful?

Your feedback helps us improve our documentation.

Related articles

License Error Event ID 25 and 0x80780119: shadow storage runs out and snapshots vanish Free Fix Event ID 304 and 305: RD Gateway blocks users on CAP and RAP policy checks License Error Event ID 4096 and 0x800705B4: integration services time out during VM tasks Free Fix HTTP 500.19 and 500.21: IIS refuses to read your web.config at all
โ† Back to Knowledge Base