0X00001AA9

Fix ERROR_CANT_CROSS_RM_BOUNDARY (0X00001AA9) in Windows

Database Errors Intermediate 👁 1 views 📅 May 28, 2026

This error pops up when a program tries to access a resource across different resource manager boundaries. It's rare but annoying. Here's how to squash it.

What's this error?

ERROR_CANT_CROSS_RM_BOUNDARY (0X00001AA9) is a Windows system error code. It means a program tried to enlist in a transaction that spans multiple resource managers (RMs) — like a database transaction that also tries to touch the file system or registry in an atomic way. Windows Kernel Transaction Manager (KTM) doesn't allow that by design.

You'll see this most often with old or badly written software that uses TxF (Transactional NTFS) or Transacted Registry — both deprecated since Windows 10. I've also seen it pop up in custom database apps and some SQL Server setups where developers mixed file I/O with database transactions.

Quick fix: Restart the app and clear temp files (30 seconds)

Sometimes the error is a one-off glitch. A program might have left a stale transaction handle open. Here's what to do:

  1. Close the program giving you the error. Don't just minimize it — kill it from Task Manager if needed.
  2. Press Ctrl+Shift+Esc to open Task Manager.
  3. Find your app in the list. Right-click it and select End task.
  4. Open File Explorer. In the address bar, type %temp% and hit Enter.
  5. Delete everything you can in that folder. Some files might be in use — skip those. Empty the Recycle Bin.
  6. Restart your computer. After it boots, launch the app again.

If the error is gone, great. If it comes back, move to the next fix.

Moderate fix: Disable Transactional NTFS and Transacted Registry (5 minutes)

These features are part of KTM and are the most common cause of this error. They're deprecated and disabled by default on Windows 10 version 1809 and later, but some old software or updates can re-enable them. Let's turn them off properly.

Step 1: Check if TxF is enabled

Open Command Prompt as admin: click Start, type cmd, right-click it, choose Run as administrator.

fsutil behavior query disabletxf

You'll see one of two outputs:

  • DisableTxF = 0 — TxF is enabled. That's your problem.
  • DisableTxF = 1 — TxF is already disabled. Skip to Step 2.

If it's 0, disable it:

fsutil behavior set disabletxf 1

You'll see: Successfully set the DisableTxF = 1.

Step 2: Check Transacted Registry

This one is trickier. There's no direct command for it. We'll use the registry instead.

Press Win+R, type regedit, hit Enter.

Go to:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel

Look for a DWORD called DisableTransactedRegistry. If it's not there, create it: right-click in the right pane, choose New > DWORD (32-bit) Value, name it DisableTransactedRegistry.

Set its value to 1. Click OK.

Close Registry Editor. Restart your computer.

After the restart, launch your problem app. If the error's gone, you're done. If not, let's go deeper.

Advanced fix: Disable Kernel Transaction Manager service (15+ minutes)

Warning: This can break some database software that legitimately uses KTM (like SQL Server 2012 or older). Only do this if you're sure your app doesn't need it. If you're not sure, skip this and contact the software vendor instead.

Step 1: Stop the KtmRm service

Open Command Prompt as admin again.

net stop KtmRm

You should see: The Kernel Transaction Manager service was stopped successfully.

Step 2: Disable the KtmRm service from starting

sc config KtmRm start= disabled

Note the space after start=. It's required. You'll get: [SC] ChangeServiceConfig SUCCESS.

Step 3: Reboot and test

Restart your computer. Launch the app. If the error is still there, the problem isn't KTM — it's likely a bug in the app itself. Contact the vendor and give them error code 0X00001AA9.

What if nothing works?

Some apps hard-code calls to TxF or Transacted Registry in a way that can't be bypassed. Your options:

  • Run the app in Windows 7 compatibility mode. Right-click the app's .exe, go to Properties > Compatibility, check Run this program in compatibility mode for:, choose Windows 7. Apply and restart.
  • Update the app. Check the vendor's website for a newer version that doesn't use deprecated KTM features.
  • Virtualize. If the app is old and critical, run it inside a Windows 7 virtual machine using Hyper-V or VirtualBox.

I've had to do that last option twice in my career. It's not elegant, but it works.

One last thing

If you're a developer and you're hitting this error while coding, stop using TxF or Transacted Registry. Microsoft deprecated them in 2009 and removed them starting with Windows 10 version 2004. Use regular file I/O with database transactions instead. Don't mix resource managers.

Was this solution helpful?