0X80300108

PLA_E_EXE_PATH_NOT_VALID (0x80300108) Fix – Executable Path Missing

Windows Errors Intermediate 👁 0 views 📅 Jun 9, 2026

This error means Windows Performance Logs & Alerts can't find the .exe you specified. Nine times out of ten it's a typo or deleted file. I'll show you where to check and what to change.

Cause #1: The executable was deleted or moved after you created the Data Collector Set

This is the most common cause – you set up a Data Collector Set weeks ago, pointed it at some tool like C:\Tools\mycollector.exe, then later deleted or moved that tool. When the Performance Logs & Alerts service tries to launch it, it hits 0x80300108 and bails.

Here's what's actually happening: the Data Collector Set stores the full absolute path to the executable. It does not check if that path exists at creation time – it only checks at runtime. So you can create a set pointing to a non-existent file, get no error, then get this code when it fires.

How to find which data collector holds the bad path

  1. Open PerfMon (perfmon.msc).
  2. Expand Data Collector SetsUser Defined.
  3. Right-click your set → Properties.
  4. Go to the Task Scheduler tab if it's scheduled. But more likely, you'll find the bad path in an individual collector.
  5. Expand the set, then click each collector under it. Look for ones that say Performance Counter Alert or Command Line Collection.
  6. Double-click a collector. If it's a command-line collector, the Executable field shows the path. If that file doesn't exist, you've found the culprit.

Fix: Update or remove the bad path

Your options:

  • If the executable exists elsewhere: Browse to the correct location and update the path. Click Browse and pick the real .exe.
  • If the tool is gone for good: Delete that collector from the set. Right-click it → Delete. The set will run without it.
  • If you don't need the set anymore: Delete the whole set. Right-click it → Delete.
# You can also do this via command line with logman:
logman query "YourSetName" /collectors
# Then to delete a collector:
logman update "YourSetName" -collectors "BadCollectorName" -delete

I've seen this happen most often with Sysmon collectors and third-party monitoring tools that get uninstalled but leave the Data Collector Set behind.

Cause #2: The path contains an environment variable that isn't resolved at runtime

This one's trickier. You might have typed %ProgramFiles%\SomeTool\tool.exe thinking Windows would expand the variable when the collector runs. But the Performance Logs & Alerts service runs under the Local Service account, which has a different environment than your user account. %ProgramFiles% usually works, but %LOCALAPPDATA% or %USERPROFILE% will resolve to the service's directories, not yours.

The real problem: the service's %USERPROFILE% points to C:\Windows\ServiceProfiles\LocalService, and your tool isn't there.

Fix: Use the full absolute path

  1. Open the collector properties as described above.
  2. Replace the environment variable with the actual path. For example, change %ProgramFiles%\MyTool\collect.exe to C:\Program Files\MyTool\collect.exe.
  3. If you must use a variable, use %ProgramFiles% (which is safe) or %SystemRoot%. Avoid %USERPROFILE%, %LOCALAPPDATA%, %APPDATA%.

If the tool needs to run in the user's context, don't use a Data Collector Set – create a scheduled task instead. Data Collector Sets are designed for system-level monitoring.

Cause #3: The executable path has a space and isn't quoted properly

Windows is surprisingly lenient about quoted paths in most places, but the Performance Logs & Alerts service fails hard here. If your path contains a space (like C:\Program Files\MyApp\app.exe) and you didn't wrap it in double quotes, the service tries to start C:\Program and fails with 0x80300108.

This happens because the service uses CreateProcess under the hood, which splits the command line on spaces. Without quotes, it treats C:\Program as the executable.

Fix: Add double quotes around the executable path

  1. Open the collector properties.
  2. In the Executable field, wrap the path in double quotes: "C:\Program Files\MyApp\app.exe".
  3. If you also pass arguments, put them outside the quotes: "C:\Program Files\MyApp\app.exe" -arg1 -arg2.
  4. Click OK and test the set again.

Quick-reference summary table

Cause Trigger scenario Fix
Executable deleted or moved Uninstalled a monitoring tool but left the Data Collector Set Update path or delete the collector
Environment variable not resolved Used %USERPROFILE% in the path Replace with absolute path
Unquoted path with spaces Path like C:\Program Files\tool.exe without quotes Wrap executable path in double quotes

If you've checked all three and still see the error, open Event Viewer (eventvwr.msc), go to Applications and Services LogsMicrosoftWindowsDiagnosis-PLAOperational. The event log there will tell you the exact collector and path that failed. That's your final debugging tool.

Was this solution helpful?