0X80028018

Fix TYPE_E_INVDATAREAD (0x80028018) – Invalid Type Library

Windows Errors Intermediate 👁 0 views 📅 Jun 8, 2026

This error means a COM type library is corrupted or mismatched. Almost always a registry problem after an install or uninstall.

Quick answer for pros: Delete the corrupted .tlb file from the registry under HKEY_CLASSES_ROOT\TypeLib, then re-register the app with regsvr32 or reinstall it.

What the hell is TYPE_E_INVDATAREAD?

You're seeing error 0x80028018 (TYPE_E_INVDATAREAD) because Windows can't parse a type library file. This usually happens when a registered COM component has a .tlb file that's been corrupted, truncated, or points to an old format. I've seen this most often after uninstalling an Office add-in or a Visual Studio extension — the uninstaller leaves a dead registry entry behind.

The culprit here is almost always a bad registry reference. Windows tries to load the type library, reads garbage, and throws this error. It's not a virus. It's not a driver issue. Don't bother with SFC or DISM — they rarely fix this.

Step-by-step fix

  1. Identify the offending type library. When the error pops up, note the application or DLL that triggered it. If you can't tell, check the Application Event Log (Event Viewer > Windows Logs > Application) for the source module.
  2. Open Regedit as admin. Press Win+R, type regedit, hit Enter, then click Yes on the UAC prompt.
  3. Navigate to the TypeLib key.
    HKEY_CLASSES_ROOT\TypeLib
    This key contains all registered type libraries. Each subkey is a GUID.
  4. Find the bad one. Look for the GUID related to the app you identified. If you're not sure, export the whole TypeLib key as a backup, then systematically unload problem apps. A quick way: search for the .tlb filename in the registry under that key.
  5. Delete the offending GUID subkey. Right-click it, choose Delete, and confirm. This removes the dead registration.
  6. Re-register the component. Open an elevated Command Prompt (Run as admin). Run:
    regsvr32 /u path\to\component.dll
    Then:
    regsvr32 path\to\component.dll
    If you don't know the DLL, reinstall the application entirely.
  7. Reboot. Yes, still necessary. Force a restart.

Alternative fixes if that doesn't work

  • Use Microsoft's Type Library Browser. Download Oleview.exe from the Windows SDK. It shows registered type libraries and lets you manually delete orphaned ones.
  • Reset COM settings. In an elevated command prompt, run:
    regsvr32 /i shell32.dll
    Then reboot. This re-registers core COM infrastructure.
  • System Restore. If the error started after a recent install, roll back to a restore point before that install. Not elegant, but effective.
  • Third-party registry cleaner. I hate suggesting this, but CCleaner's registry cleaner can find orphaned type library entries. Use it with caution — always create a backup first.

Prevention tip

Never uninstall software that registered COM objects by just deleting its folder. Always use the official uninstaller or msiexec /x for MSI installs. Otherwise you'll leave dead type library references that cause errors like 0x80028018 months later when some other app tries to load them.

If you're a developer, always call UnRegisterTypeLib in your uninstaller. Not doing that is just lazy.

Was this solution helpful?