CO_E_NETACCESSAPIFAILED (0x8001012B) – NetAccessDel/NetAccessAdd Failed
This error pops up when a COM call fails because network access APIs like NetAccessDel or NetAccessAdd return an error. It’s common in legacy apps or shared printers.
When This Error Shows Up
You’re running a legacy application — maybe an old accounting system or a shared printer driver from 2010 — and suddenly you get: CO_E_NETACCESSAPIFAILED (0x8001012B). The exact words say something like “Either NetAccessDel or NetAccessAdd returned an error code.” I saw this last month on a Windows 10 Pro machine trying to connect to a network printer shared from a Windows Server 2008 box. Clicks fine in the UI, but the app bombs out with this hex code.
Root Cause
Under the hood, COM+ tries to call NetAccessAdd or NetAccessDel to manage network share access for DCOM objects. These are older Windows NT networking APIs that have been deprecated since Vista. On modern Windows 10/11, they often fail because the security context is wrong — either the COM caller doesn’t have permission to enumerate or modify network shares, or the target share isn’t accessible. In my client’s case, the DCOM launch user didn’t have “Access this computer from the network” rights.
Fix It – Step by Step
- Check DCOM Permissions
PressWin + R, typedcomcnfg, and hit Enter. Expand Component Services > Computers > My Computer > DCOM Config. Find the problematic application (look for its CLSID or name). Right-click > Properties > Security tab. Under “Launch and Activation Permissions”, click Edit. AddNETWORK SERVICEandLOCAL SERVICEwith Allow for all launch permissions. Also check “Access Permissions” – addEveryonewith Allow for Local Access. - Verify Network Share Access
Open File Explorer and navigate to the network path the app is trying to use. If you get an access denied, fix the share permissions on the server. On the server, right-click the share folder > Properties > Sharing > Permissions. GiveEveryoneRead (or Full Control if required). Then go to Security tab and confirm the same. - Enable Legacy NetAPI Fallback
If the app still fails, you might need to force the legacy NetAPI behavior. Open Registry Editor (regedit) as admin. Go toHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole. Create a new DWORD (32-bit) namedEnableDCOMwith value1if not present. Also checkHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters– setNullSessionPipesto include the pipe name the app uses (oftenNETLOGONorsamr). Reboot after these. - Run the App as Admin
Right-click the application executable > Properties > Compatibility tab > Check “Run this program as an administrator”. This bypasses some permission issues.
Still Failing? Check This
If it’s still broken, fire up Event Viewer (eventvwr) and look under Windows Logs > System or Application for error ID 10016 (DCOM) or 7036 (service failures). That’ll point to the specific CLSID. Also test the app on a different network – I’ve seen domain group policy block these APIs. If all else fails, run dcomcnfg again, find the app, and set the Identity tab to “The interactive user” instead of “The launching user”. That’s the nuclear option, but it works.
Last note: if you’re on Windows 11 22H2 or later, Microsoft tightened DCOM security. You might need to add the app’s CLSID to theHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole\AppCompatkey with a DWORDActivationOverrideset to 1. That’s a deep fix, but it saved me twice now.
Was this solution helpful?