CO_E_SXS_CONFIG (0X80004032) Fix: Invalid Side-by-Side Config
This error pops up when a program can't load because its SxS manifest or DLL versions are messed up. Real fix: rebuild the manifest or re-register the component.
You're trying to launch an old app—maybe some custom inventory tool or a legacy accounting program—and boom: CO_E_SXS_CONFIG (0X80004032). The error says the side-by-side configuration is invalid. Windows won't even let the program start. I've seen this most often with apps compiled with Visual C++ 2005 or 2008 redistributables, especially after a Windows update or a sloppy uninstall.
Had a client last month whose entire print queue died because of this. Turns out, their label printing software's manifest was pointing to a DLL version that got yanked by a security patch. Classic SxS headache.
What the Hell Is a Side-by-Side Configuration?
Windows Side-by-Side (SxS) is the system that keeps multiple versions of the same DLL from stepping on each other. The app ships with a manifest file (usually embedded in the EXE or sitting next to it as a .manifest file) that says: "I need version 8.0.50727.42 of Microsoft.VC80.CRT." Windows checks the WinSxS folder for that exact version. If it's missing, if the manifest is corrupt, or if the XML is malformed, you get error 0x80004032.
Most times, the root cause is one of three things: a mangled manifest after a bad update, a missing Visual C++ redistributable, or a COM component that was registered to the wrong location.
The Fix: Step-by-Step
Skip the generic "run SFC" advice—that rarely fixes SxS issues. Here's what actually works.
Step 1: Identify the Faulty App and Its Manifest
Check the Application Event Log. Open Event Viewer (eventvwr.msc), go to Windows Logs > Application. Look for an error from SideBySide with event ID 33 or 59. It'll tell you exactly which manifest and which assembly version failed. Write down the assembly name and version.
If the event log is empty, right-click the failing EXE, go to Properties > Digital Signatures. If it's signed, you can try extracting the manifest with mt.exe from the Windows SDK, but for most people, it's easier to just look at the app's install folder for a .manifest file with the same name as the EXE.
Step 2: Reinstall the Visual C++ Redistributable
The manifest is pointing to a specific CRuntime. The version string tells you which one. Common ones:
- Microsoft.VC80.CRT → Visual C++ 2005
- Microsoft.VC90.CRT → Visual C++ 2008
- Microsoft.VC100.CRT → Visual C++ 2010
Download the correct redistributable from Microsoft (x86 and x64 if you're not sure). Uninstall the old one first via Apps & Features, then reinstall. Restart. Try launching the app.
Pro tip: Had a case where the redist was installed but the version in WinSxS didn't match the manifest's expected version. Reinstalling forced the right one.
Step 3: Re-register the COM Component (if it's a COM App)
If the app is a COM dll or exe, the SxS error can come from a misregistered component. Open an admin command prompt and run:
regsvr32 /u "C:\Path\To\Your\Component.dll"
regsvr32 "C:\Path\To\Your\Component.dll"
For an EXE server, run your_application.exe /RegServer. This rewrites the registry entries and often fixes the manifest lookup chain. I've fixed four different applications this way.
Step 4: Manually Edit the Manifest (Last Resort)
If the manifest file exists but has an invalid XML structure (like a stray character from a bad copy), you can edit it. Open the .manifest file in Notepad. Look for:
<assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.42" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b" />
Check that the version matches what's in WinSxS. To check what's installed, browse to C:\Windows\WinSxS\ and look for folders starting with the assembly name (e.g., x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.42_none...). If the version in the manifest doesn't exist, change the version to the one that does. Save, restart the app.
Warning: Don't mess with the publicKeyToken unless you know what you're doing—it's a hash check. Changing it will break the signature.
If It Still Fails
Check for a corrupted .local file. If there's a folder named YourApp.exe.local in the app's directory, delete it. That file overrides the SxS search path and can point to a missing assembly.
Also, verify the app isn't blocked by Windows Defender or a group policy. Try disabling real-time protection temporarily. I've seen Defender quarantine a manifest file as a false positive.
Finally, if the app is ancient (pre-Vista), it might rely on a private assembly that never got installed properly. In that case, use Process Monitor from Sysinternals. Filter to the failing EXE, and look for NAME NOT FOUND for any .manifest or .dll file. That'll tell you exactly what file is missing. Drop that file into the app's folder, and you're golden.
Was this solution helpful?