Log Dejargonizer

Windows Application Log · Event 33

Event 33: A program cannot find a runtime library it needs

Windows tried to work out which version of a shared library a program wanted, and could not find a matching one installed. The program usually fails to start at all. The fix is almost always installing the right Visual C++ redistributable.

Also written as SideBySide 33sxs error event 33

The fields that decide it

Everything else in the log line is context.

Dependent Assembly
The library the program wanted, with the version it was built against.
  • Microsoft.VC80.CRTVisual C++ 2005 runtime.
  • Microsoft.VC90.CRTVisual C++ 2008 runtime — by far the most common one to be missing.
  • Microsoft.Windows.Common-ControlsThe visual styles library. Usually a manifest bug in the application, not a missing install.
  • Microsoft.VC80.MFC or Microsoft.VC90.MFCThe MFC libraries, shipped in the same redistributables.
Error in manifest or policy file
Which manifest Windows was reading when it gave up. A path ending in the program's own .exe.manifest points at the application; a path under WinSxS points at the installed component.
processorArchitecture
x86 or amd64. A 32-bit program needs the 32-bit redistributable even on a 64-bit machine, and installing only the x64 package is the single most common reason a 'fix' does not work.
publicKeyToken
Identifies who signed the assembly. Microsoft's runtimes use a small set of well-known tokens; an unfamiliar one means a third-party side-by-side component.
version
The exact build the program was linked against. Side-by-side matching is strict — a newer redistributable does not automatically satisfy an older version request unless a publisher policy redirects it.

Common questions

How do I fix 'Activation context generation failed'?

Read the Dependent Assembly line. If it names Microsoft.VC80.CRT, Microsoft.VC90.CRT or similar, install the matching Visual C++ redistributable from Microsoft — and match the architecture, because a 32-bit program needs the x86 package even on 64-bit Windows. If it names something else, reinstalling the program that failed is usually quicker than chasing the component.

What does 'side-by-side' actually mean?

It is the Windows mechanism that lets several versions of the same shared library exist at once, so an old program and a new one can each get the version they were built against. The component store lives in C:\Windows\WinSxS. Event 33 means the lookup ran and found no version that satisfied the request.

I installed the Visual C++ redistributable and still get Event 33.

Two usual reasons. First, architecture: installing the x64 package does nothing for a 32-bit program. Second, version: side-by-side matching is exact, so a program built against the 2008 runtime is not satisfied by the 2015-2022 package. Install the specific year named in the Dependent Assembly line.

Is Event 33 a virus?

No. It is a dependency resolution failure and it happens constantly with older or badly packaged software. It becomes worth a second look only if the program named is one you did not install, in which case the interesting question is where that program came from rather than what this event says.

Read next

Vendor documentation

Last reviewed 6 September 2026