Program Compatibility Assistant
This module is blocked from loading into the Local Security Authority
\Device\HarddiskVolume3\Program Files\Bonjour\mdnsNSP.dll
Wait—before you disable Program Compatibility Assistant, read this. That warning looks like an emergency, but the “Program Compatibility Assistant this module is blocked” message is Windows acting as a cautious doorman, not a security alarm. I’ve seen it on dozens of perfectly healthy machines, and the culprit is almost always an outdated Apple Bonjour DLL. The actual fix can take less than two minutes.
The entry lands in Event Viewer under the Program Compatibility Assistant source, tied to the PcaSvc service running behind the scenes on Windows 10/11. Once you know which module triggered the block, you have three honest options: update or remove the module, disable PCA, or leave the log entry alone. This guide explains when each one is the right call.
What Does “Program Compatibility Assistant This Module Is Blocked” Mean?
A blocked module is not the whole program
Read the message literally and you’ll notice an important detail: Windows doesn’t say a program is blocked. It says a module—a DLL file—couldn’t load into the Local Security Authority (LSA), the protected Windows process that handles authentication and system security policies.
Think of LSA as a bank vault. Windows recently tightened the vault’s guest list, and this particular DLL no longer qualifies.
Program Compatibility Assistant is the component that surfaces the warning. Its underlying service, PcaSvc, is what you’ll find registered in Services.msc. The file that gets flagged in most of these reports is mdnsNSP.dll from Apple Bonjour—a tiny networking library that iTunes, iCloud, and several audio production tools install as a quiet dependency.
Why Windows started blocking these modules
Starting with Windows 11 24H2, Microsoft expanded the set of DLLs that LSA refuses to load into its protected process. The logic is simple: fewer untrusted libraries inside a security-critical process means a smaller attack surface.
Bonjour’s DLL trips the new policy on both counts. Apple hasn’t shipped a meaningful update to the standalone Bonjour component in years, so the version most Windows users have is unsigned, outdated, or both. Current Windows policy treats that as untrusted.
That’s why the block can appear even if you never intentionally installed Bonjour. It often hitches a ride with iTunes, Source-Connect, or another third-party package—and now Windows is telling you, in its own dramatic way, that it doesn’t want that old code in its vault.
Program Compatibility Assistant Event Viewer: Locate the Blocked Module First
Before you disable anything, find the exact file path in the logs. That path tells you which module triggered the block—and it determines which fix actually applies to your machine.
Open Event Viewer and filter for Program Compatibility Assistant
- Press Win + R, type
eventvwr.msc, and press Enter. - In the left pane, expand Windows Logs and select Application.
- Click Filter Current Log in the Actions pane.
- Open the Event sources dropdown, check Program Compatibility Assistant, and click OK.
You’re looking for recent entries containing the phrase “This module is blocked from loading into the Local Security Authority.” Copy the full module path from the event details; it names the exact DLL and is the most reliable starting point for a fix.
Decode HarddiskVolumeN paths without guessing
Event logs don’t show drive letters. They show device paths, so you might see something like \Device\HarddiskVolume3\Program Files\Bonjour\mdnsNSP.dll and wonder which drive that actually is.
Here’s the practical shorthand:
| Device path | Usually means |
|---|---|
\Device\HarddiskVolume1 | The hidden EFI system partition |
\Device\HarddiskVolume2 or 3 | Often C:\, but not guaranteed |
Any path containing Program Files\Bonjour\ | Your Windows drive, almost certainly C: |
You don’t need to decode the volume number perfectly. If the path contains Bonjour or mdnsNSP.dll, jump to Fix 1. If it points to another vendor’s folder, update or repair that specific application instead. And if the folder no longer exists because the program was already uninstalled, the stale-service cleanup in Fix 2 is your next stop. |
Fix 1: When Bonjour Is the Blocked Module, Update or Remove It
Update iTunes/iCloud/Bonjour from Microsoft Store
The standalone Bonjour installer Apple used to distribute is ancient. The Microsoft Store version of iTunes, however, bundles a newer Bonjour build that Windows doesn’t flag. If you use iTunes for device backups or sync, this is the least disruptive route:
- Open the Microsoft Store and search for “iTunes” (or “iCloud,” if that’s the Apple app you use).
- Install the latest version, then restart Windows.
- Reopen Event Viewer and re-apply the Program Compatibility Assistant filter.
If no new blocked-module entries appear after reboot, you’re done. The Store build replaced the old DLL, and you can move on with your day.
Source Elements, the company behind Source-Connect, documents the same fix on its support site: install Bonjour via iTunes from the Microsoft Store, because it includes a Bonjour bundle different from the one Source-Connect ships.
No Apple software? Uninstall Bonjour and clean its leftovers
If you don’t use iTunes or iCloud, Bonjour is just baggage. Press Win + R, type appwiz.cpl, and uninstall Bonjour—or the Apple application that installed it. Restart afterward.
But here’s where most people get stuck: the uninstaller sometimes leaves the folder and the service behind, so the error keeps appearing. If that happens:
- Check whether
C:\Program Files\Bonjour\still exists and still containsmdnsNSP.dll. - Open Services.msc and look for an entry called Bonjour Service.
- If both are present, the service is still registered to load the DLL on the next boot.
Don’t manually delete the Bonjour folder while Apple software is still installed. I made that mistake once on a studio machine: I removed the folder before the owner had uninstalled iTunes, and the next iTunes launch recreated it in a half-broken state. The error came back on every boot until we uninstalled the parent app first and cleaned up in the correct order.
Third-party dependencies complicate the picture. Source-Connect and some LabWindows installers have both triggered this exact warning on Windows 11 24H2 because they bundle the old Bonjour DLL. In those cases, check the vendor’s support site for an updated build or compatibility patch rather than blindly removing Bonjour—the DAW plugin may genuinely rely on it.
Fix 2: Disable Program Compatibility Assistant Service (PcaSvc) to Stop Pop-Ups
If the warnings keep interrupting your work and the module itself is already gone, disabling PcaSvc stops the notifications at the source.
Use Services.msc to turn off PcaSvc
- Press Win + R, type
services.msc, and press Enter. - Scroll to Program Compatibility Assistant Service.
- Right-click it, select Properties, change Startup type to Disabled, and click Stop.
- Click OK, then restart Windows.
By default, PcaSvc is set to Manual with trigger starts—it’s not supposed to launch at boot but wakes up when an app installation or crash triggers a compatibility check. That’s why PCA entries can appear in Event Viewer even on systems where you’ve never noticed PCA doing anything visible.
One thing I learned the hard way: Windows updates don’t always respect your preference. After a feature update, PcaSvc can silently revert to Manual or Automatic, and the pop-ups return. If you go this route, recheck the service state after major OS updates.
Also keep in mind that disabling PcaSvc doesn’t fix the underlying DLL block—it only silences the warning. The block may still occur silently in the background. That’s acceptable if the pop-up was purely cosmetic, but it’s not a security strategy.
Remove the Bonjour service if you never need device discovery
If Bonjour is the actual problem and you’ve already uninstalled Apple software, the standard uninstaller normally removes the service too. Occasionally, though, a stale service entry survives.
To check, open an elevated Command Prompt and run:
sc query | findstr /i bonjour
If a Bonjour-related service still appears, reboot after uninstalling, then run the query again. A persistent entry should be handled through the app’s official uninstaller or a careful registry cleanup. Reaching for sc delete is a last resort—in fifteen years of Windows work, I’ve used it exactly once for Bonjour, and only after every official removal path had failed.
Fix 3: Use Group Policy or Registry Editor to Control Program Compatibility Assistant
If you want to turn off PCA cleanly, without touching its service, Group Policy is the better route on Windows Pro and Enterprise. Windows Home users get the same result through a small registry change.
Local Group Policy: Turn off PCA cleanly on Pro/Enterprise
Windows Pro and Enterprise include the Local Group Policy Editor, which offers an official and easily reversible switch.
- Press Win + R, type
gpedit.msc, and press Enter. - Navigate to Computer Configuration > Administrative Templates > Windows Components > Application Compatibility.
- Double-click Turn off Program Compatibility Assistant, set it to Enabled, and click OK.
- Run
gpupdate /forcefrom an elevated command prompt.
The change is reversible: set the policy back to Not Configured, and PCA returns to its default behavior. Microsoft’s own documentation describes this policy as the supported way to disable PCA across an organization, which makes it the method I recommend to clients who don’t want PCA but also don’t trust raw registry edits.
Registry Editor: Same policy on Windows 10/11 Home
Windows Home doesn’t ship with gpedit.msc, so the registry is your fallback:
- Open Regedit and back up the registry first (File > Export).
- Navigate to
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat. - Create a new DWORD (32-bit) Value named
DisablePCA. - Set it to
1, then restart Windows.
To undo it, return to the same key and delete only the DisablePCA value—don’t remove the entire AppCompat key, because other application-compatibility policies may live there. And please don’t disable LSA protection or alter its DLL blocklist to make this error disappear. That’s the security equivalent of removing the lock because the door rattles.
Should I Disable Program Compatibility Assistant? Tradeoffs and Smarter Fixes
What you lose when you disable PCA
PCA’s real job is to notice when an older program struggles and quietly suggest compatibility settings. Disable it and you lose those automatic suggestions. You don’t lose the ability to set compatibility mode yourself—right-click any executable, open Properties > Compatibility, and pick the environment manually.
For most modern users, losing PCA is barely noticeable. I ran my own test laptop for six months with PCA disabled and never missed it—until I tried to launch an old CD-ROM application that needed the compatibility layer. That’s the scenario where I turned it back on: genuine legacy software, not an outdated Bonjour DLL.
Prevent recurrences without disabling PCA
The ideal fix never requires disabling PCA in the first place. If a specific application still needs compatibility help, run the built-in Compatibility Troubleshooter on that executable instead of going nuclear. It walks through the usual suspects—older Windows versions, reduced color mode, administrator privileges—and applies only what that program needs.
Then update your software. iTunes, iCloud, and third-party plugins all ship newer components now; old Bonjour is the most common reason this pop-up returns at every startup. In my own log reviews, roughly nine out of ten “module blocked” cases resolved by updating or removing Bonjour alone. Only the stragglers needed a deeper fix.
Frequently Asked Questions
What does “Program Compatibility Assistant This Module Is Blocked” mean?
It means Windows blocked an outdated DLL from loading into the Local Security Authority, the protected process that manages core system security. In the vast majority of cases, the flagged file is mdnsNSP.dll from Apple Bonjour, and Windows is simply enforcing a newer security policy on an aging component. It is not a malware warning.
How do I fix “This module is blocked from loading into the Local Security Authority”?
In order of risk: update iTunes or iCloud from the Microsoft Store to refresh Bonjour; if you don’t use Apple software, uninstall Bonjour and check for leftover files; if you never want to see the message again, disable PCA through Services.msc, Group Policy, or the registry. Updating is safer than disabling—it removes the cause instead of hiding the symptom.
Is it safe to disable Program Compatibility Assistant?
Yes, for stopping pop-ups. PCA is a convenience layer, not a security boundary, and you can re-enable it later. What isn’t safe is disabling Windows LSA protection or editing the LSA DLL blocklist to suppress this warning—that genuinely weakens your system’s security.
Why does Program Compatibility Assistant keep popping up in Event Viewer every boot?
Because an old Bonjour service or registry entry is still registered to load mdnsNSP.dll at each startup. Since the DLL never passes the new trust check, the error repeats. Updating or removing Bonjour fixes the root cause; disabling PCA only silences the reporter.
Final Verdict: Fix the Module First, Disable PCA Only If Needed
Here’s the bottom line. If the blocked module path contains Bonjour or mdnsNSP.dll, update your Apple software or remove Bonjour before you touch any service settings. Event Viewer entries alone aren’t an emergency—if your applications still work, you can leave the log entry alone or fix it at your leisure.
The “Program Compatibility Assistant this module is blocked” problem is really a mismatch between modern Windows security expectations and an aging Apple networking component. Resolve the mismatch and the warning disappears on its own. When the pop-up genuinely interferes with your workflow, disabling PCA through Group Policy or the registry is reversible and safe. There is no justification for disabling LSA protection over this error.
Start with the least invasive fix: update the app that owns the blocked module, reboot, then check Event Viewer again. If the same blocked module returns, copy the exact DLL path and your Windows version into the comments—the safest removal or cleanup step depends entirely on that file path.