Windows Update KB5094126 causes issues with legacy OCX controls

Christopher Judge 20 Reputation points
2026-07-08T08:50:32.54+00:00

Environment:

  • Windows Update: KB5094126
  • OCX Control: TeeChart8.ocx (version 8.0.0.5)
  • Application: MFC C++ application
  • Issue: Reproducible on multiple customer systems

Problem Description:

Since installing Windows Update KB5094126, I cannot load legacy OCX controls. This is a regression - uninstalling the update resolves the issue completely.

Issue #1: Registration Hangs When attempting to register the OCX using regsvr32 in an elevated command prompt:

regsvr32.exe TeeChart8.ocx

The process does not return and remains running indefinitely in Task Manager.

Issue #2: LoadLibrary Fails at Runtime On systems where the OCX was previously registered, the application now fails to load it.

I created a minimal test case:


int main()
{
    HMODULE hModule = LoadLibrary(L"TeeChart8.ocx");
    if (hModule)
    {
        printf("OCX loaded successfully");
        FreeLibrary(hModule);
    }
    else
    {
        DWORD err = GetLastError();
        printf("LoadLibrary Failed: 0x%X\n", err);
    }
    return 0;
}

Debug Output: The call to LoadLibrary() does not return. Debug output shows:

Exception thrown at 0x768759A4 (KernelBase.dll): WinRT originate error - 0x800704C7 : 'The operation was canceled by the user.'

Print.PrintSupport.Source.dll!7B5DCE3B: LogHr(1) tid(3178) 800704C7 The operation was canceled by the user.

onecoreuap\printscan\print\workflow\printsupport\dll\printsupportutil.cpp(2003)\Print.PrintSupport.Source.dll!7B5CA6C1: (caller: 7B5CA7C0) Exception(1) tid(3178) 800705B4 This operation returned because the timeout period expired.

Exception thrown at 0x768759A4 in TeeChartTest.exe: Microsoft C++ exception: wil::ResultException at memory location 0x0071DB98.

onecoreuap\printscan\print\workflow\printsupport\dll\printsupportutil.cpp(2025)\Print.PrintSupport.Source.dll!7B5CA7EF: (caller: 71736635) ReturnHr(1) tid(3178) 800705B4 This operation returned because the timeout period expired.

Key Findings:

  • Other OCX controls work without issues post-KB5094126
  • Only TeeChart8.ocx (and potentially similar legacy controls) are affected
  • Manual registry entries do not resolve the runtime issue
  • Running as Administrator does not help
  • No events appear in Event Viewer

Impact: This is impacting multiple customers. Rolling back KB5094126 is the only current workaround, but this is not always feasible for production systems.

Updating the OCX control on our side is also not feasible at the moment.

Questions:

  • Is this a known issue with KB5094126?
  • Could it be related to the known issue with opening Office applications via OLE Automation from third party applications?
  • Are there plans to fix this regression?
  • Is there a workaround for legacy OCX controls?
Developer technologies | C++
Developer technologies | C++

A high-level, general-purpose programming language, created as an extension of the C programming language, that has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.


Answer accepted by question author

Nancy Vo (WICLOUD CORPORATION) 7,495 Reputation points Microsoft External Staff Moderator
2026-07-08T10:59:13.4633333+00:00

Hello @Christopher Judge ,

Thanks for your question.

Is this a known issue with KB5094126?

Yes. Your C++ code is completely correct. The June 2026 update (KB5094126) introduced strict security changes that break how older software components load and operate.

Could it be related to the known issue with opening Office applications via OLE Automation from third party applications?

Both issues share the same root cause. The Windows update accidentally blocked older communication methods (COM and OLE Automation). Looking at your debug log, the freeze happens in Print.PrintSupport.Source.dll. When your chart loads, it tries to talk to the Windows Printer system to check layout settings. Because of the new update, Windows blocks this connection, causing your application to wait forever and freeze (a deadlock).

Are there plans to fix this regression?

Yes. Microsoft is aware that this update broke many third-party integrations (including Office OLE automation). They are actively working on fixes, which are expected in the upcoming update cycle.

Is there a workaround for legacy OCX controls?

Since uninstalling the update or changing the OCX is not an option right now, please try this workaround based on your debug logs:

  • On the affected computer, change the Default Windows Printer to a virtual software printer (like "Microsoft Print to PDF"). Alternatively, temporarily stop the Print Spooler service entirely. This stops the chart from trying to contact a physical printer during startup, allowing it to load successfully so your app does not freeze.

For more information, you can refer to June 9, 2026—KB5094126 (OS Builds 26200.8655 and 26100.8655) and Dynamic-Link Library Best Practices.

I hope this addresses your question. If this response was helpful, please consider following the guidance to provide feedback.

Was this answer helpful?

1 person found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.