0XC00D145B

NS_E_INVALID_PUSH_PUBLISHING_POINT_START_REQUEST (0xC00D145B) Fix

That 0xC00D145B error means your encoder is trying to start a push publishing point it doesn't control. Here's how to fix it fast.

What 0xC00D145B Actually Means

NS_E_INVALID_PUSH_PUBLISHING_POINT_START_REQUEST (0xC00D145B) shows up when something tries to start a publishing point that's configured as a push point. Push points don't get started by the server. They get started when the encoder connects and starts pushing. If you walk up to the WMS console, right-click your publishing point, and hit Start — you get 0xC00D145B. Every time.

I had a client last month, small radio station running Windows Media Services on Server 2008 R2, and their overnight guy kept trying to manually start the stream at 4am because the morning show encoder hadn't connected yet. Error in the event log, stream never came up, and he'd restart the whole box. The fix was two minutes of education plus one config change.

Here's the troubleshooting flow. Stop at whichever step fixes it.

Step 1 — The 30-Second Fix

You clicked Start on a push publishing point. Stop that.

Push publishing points are started by the encoder, not by you. Open your encoder (Expression Encoder, Adobe Flash Media Live Encoder, whatever you're pushing with), point it at your publishing point URL, and hit Connect/Start. The server will accept the push and the publishing point will flip to Running on its own.

If the publishing point is set to Push and you want to start it manually, you're using the wrong publishing point type. You want Pull, not Push. More on that below.

How to check the publishing point type

  1. Open Windows Media Services console (start → Administrative Tools → Windows Media Services).
  2. Expand your server → Publishing Points.
  3. Right-click the point → Properties → General tab.
  4. Look at Publishing point type. It says either Push or Pull.

If it says Push, you cannot start it manually. Period. That's the whole error.

Step 2 — The 5-Minute Fix

You actually wanted a pull publishing point, or you wanted to test the encoder, or your encoder won't connect and you're trying to fake it. Here's what to do depending on your case.

Case A: You want to start the stream manually

Delete the push publishing point and create a pull one instead. In the WMS console:

Right-click Publishing Points → Add Publishing Point (Wizard)
Choose "Broadcast" → Name it
Select "Pull" as the publishing point type
Set the source: mms://your-encoder-host:8080 (or whatever URL the encoder serves)
Finish

Now you can right-click → Start whenever you want. The server reaches out to the source. This is what you want for scheduled streams, test setups, or any time you're driving the show from the server side.

Case B: The encoder can't connect and you're getting 0xC00D145B as a side effect

If your encoder hits Connect and immediately throws this error back at you, it's because the encoder is trying to send a Start command to a point that doesn't accept manual starts. That's normal for push points — the error is misleading. The real problem is usually one of these:

  • Firewall — TCP 1755 (MMS) or the port in your publishing point URL isn't open. I've seen this eat an entire afternoon at a client site.
  • Authentication — the publishing point has "Allow anonymous" off, and your encoder is sending no credentials or wrong ones.
  • Wrong URL — you're pushing to http://server/pointname when the point wants rtsp://server/pointname (or vice versa).
  • Another encoder already connected — push points accept one publisher at a time. If the old encoder session is still up, the new one gets bounced.

Check the publishing point's Event Log in WMS and the Windows Application log. The real cause is almost always logged there with a more specific error than 0xC00D145B.

Step 3 — The 15-Minute Fix (Real Configuration Work)

Nothing above fixed it, or you're running this in production and need it right. Time to reset the publishing point from scratch and rule out corruption.

Rebuild the publishing point

  1. Right-click the broken publishing point → Stop (if it'll let you) → Delete.
  2. Open Services.msc and restart the Windows Media Services service. Yes, restart it. I've seen stale publishing point state survive a delete without a service restart.
  3. Recreate the publishing point with the correct type. If you kept pushing from an encoder, use Push. If you start it manually, use Pull.
  4. Set authentication explicitly. Don't leave it at defaults. Use "Allow anonymous" if it's an internal test, or set a local user if it's public-facing.

Check the registry if it keeps coming back

Publishing point config lives under here:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Services\Publishing Points\<PointName>

Look at the Type value. 0 = Pull, 1 = Push. If it's set to 1 and you're trying to start it programmatically, you'll keep getting 0xC00D145B. I've seen a botched deploy script flip this without anyone noticing.

If you're scripting the start with WMI or COM

You're calling IWMSAdminServerControl::Start or its WMI equivalent against a push point. That will never work. Options:

  • Switch the point to Pull and script away.
  • Leave it Push and drop the Start call from your script — let the encoder trigger it.
  • Use AllocatePublishingPoint instead if you're building dynamic live streams on the fly.

Ports and firewall — the boring check people skip

Confirm inbound on the WMS ports from your encoder host:

netsh advfirewall firewall show rule name=all | findstr /i "media"

If nothing shows for WMS, add rules for TCP 1755, TCP 554 (RTSP), and whatever custom port your publishing point uses. I keep a mental note: Windows Media Services isn't in common firewall templates anymore, so it gets missed constantly on fresh builds.

When It's Not Actually WMS

One thing worth flagging: 0xC00D145B gets thrown by some third-party encoders and orchestration tools that wrap WMS internally — Telestream, Wowza connectors, some older Adobe stuff. If you're not running Windows Media Services at all and still see this code, the tool is just surfacing the underlying WMS error from a library it ships. Same rules apply: something's trying to start a push point manually. Find where in that tool's config the publishing point type is set and flip it to Pull, or remove the Start call.

Don't Bother With These

  • Reinstalling WMS. It won't help. This is a config/behavior error, not a broken install.
  • Windows updates. Not the cause.
  • Restarting the server five times. Unless the WMS service itself is hung (rare), a server reboot does nothing here.
  • Sfc /scannow. Waste of twenty minutes.

The Real Fix, One Line

If you take nothing else from this: push publishing points start when the encoder pushes. Pull publishing points start when you tell them to. 0xC00D145B means you mixed the two up. Pick the type that matches how you actually want the stream to start, rebuild the point if you have to, and the error disappears.

Related Errors in Server & Cloud
0X0000071D RPC_S_UNSUPPORTED_AUTHN_LEVEL (0x0000071d) fix 0XC00000F7 Fix STATUS_INVALID_PARAMETER_9 (0XC00000F7): 3-Step Recovery WooCommerce Checkout Stuck? Fix Payment Processing Now Failed to retrieve metadata (http://metadata.google.internal/...) GCP Metadata Server Not Responding – Quick Fix Steps

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.