When does this error appear?
You'll see STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY (0XC015001F) right when you try to launch a specific app—usually an older game, a business tool like QuickBooks, or a custom line-of-business program. The app window never opens. Instead you get a popup from Windows saying something like "The application was unable to start correctly" or a generic crash with that error code in Event Viewer.
I've seen this most often with:
- Older Adobe Creative Suite versions (CS4, CS5)
- Games from the late 2000s / early 2010s (e.g., BioShock 2, Fallout 3)
- Custom business apps compiled with Visual Studio 2005 or 2008
The trigger is always the same: Windows tries to load a DLL from the app's side-by-side (SxS) assembly folder, but the file either doesn't exist there or the manifest says it should be there and it's not.
Root cause in plain English
Windows has a feature called side-by-side assemblies. It's basically a way to keep multiple versions of the same DLL (like MSVCR90.dll) from fighting with each other. Each app that was built with, say, Visual C++ 2008 expects its own copy of those runtime DLLs in a folder like C:\Windows\WinSxS\x86_microsoft.vc90.crt_....
The error 0xC015001F means: "Hey, I found the manifest for this assembly, but one of the files listed in it is missing or doesn't match." It's like the assembly's packing slip says there should be a MSVCR90.dll, but when Windows looks for it inside the assembly folder, it can't find it—or finds a different version.
Three things cause this:
- Missing or corrupted Visual C++ Redistributable — the most common cause. The system-level SxS assembly got hosed by a botched update or uninstall.
- App-specific assembly corruption — the app itself has a private assembly folder (inside its install directory) that's missing a file.
- Windows update damage — a recent Windows update replaced or removed a file in WinSxS that the app relied on.
How to fix it
Step 1: Check which assembly is failing
Open Event Viewer:
- Press Win + R, type
eventvwr.msc, hit Enter. - Go to Windows Logs > Application.
- Look for an error event with source SideBySide or Application Error around the time you tried to launch the app.
- Double-click it. In the General tab, find a line that says something like: "The file C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_...\MSVCR90.dll is not a part of the assembly."
Write down the exact filename and path. That tells you whether it's a VC++ runtime (common) or some other assembly.
Step 2: Reinstall the right Visual C++ Redistributable
If the file in the error is something like MSVCR90.dll or MSVCP100.dll, you need the matching VC++ Redistributable package.
- Go to Microsoft's official VC++ Redistributable download page.
- Download the version that matches the DLL year and bitness (x86 or x64). For
MSVCR90.dllthat's Visual C++ 2008, forMSVCP100.dllit's 2010. - Run the installer as Administrator (right-click > Run as administrator).
- Choose Repair if offered, otherwise let it install normally.
- Restart your computer — this step matters because the SxS cache needs to refresh.
After restart, try launching the app again.
Step 3: Repair the app itself (if Step 2 didn't help)
Some apps bundle their own private assemblies in a subfolder like C:\Program Files\OldApp\Microsoft.VC90.CRT. If that folder is missing a DLL, the main fix is reinstalling the app.
- Open Settings > Apps > Apps & features.
- Find the failing app in the list.
- Click Modify or Advanced options (Windows 10/11).
- Choose Repair if available. If not, uninstall and reinstall.
During reinstall, make sure you run the installer as Administrator. Some older installers need admin rights to properly register their assemblies.
Step 4: Run the System File Checker (SFC)
If the issue is in the system WinSxS store (and you've confirmed the assembly is a Microsoft one), SFC can repair it.
- Open Command Prompt as Administrator (right-click Start > Command Prompt (Admin) or Terminal (Admin)).
- Type:
sfc /scannowand press Enter. - Let it run completely — it takes 15-30 minutes.
- After it finishes, restart.
If SFC reports corrupt files it couldn't fix, run DISM next:
DISM /Online /Cleanup-Image /RestoreHealth
Then run SFC again.
Step 5: (Advanced) Manually extract the missing DLL
This is a last resort. If you have another machine with the same Windows version that doesn't have this error, you can copy the exact DLL from its WinSxS folder. But be careful: the path in WinSxS includes a hash tag unique to your system. If you copy from another machine, the file must be identical, and you need to place it in the exact same subfolder.
Honestly, 95% of the time Steps 2 or 3 fix this. I wouldn't mess with manual extraction unless you're comfortable with the risk of breaking other apps.
What if it still fails?
If you've done all the above and the error persists, check these:
- Antivirus quarantine — Some security tools mistakenly quarantine DLLs in the WinSxS folder. Check your AV's quarantine log. If you see the DLL listed, restore it.
- Windows update pending restart — Sometimes an update hasn't fully installed. Go to Settings > Windows Update > Check for updates, and apply any pending ones. Reboot.
- Other dependency — The app may need a different runtime entirely (like .NET Framework 3.5 or DirectX 9). Check the app's system requirements and install those packages separately.
- Run the app in compatibility mode — Right-click the app's .exe > Properties > Compatibility > Run this program in compatibility mode for the OS it was designed for (e.g., Windows 7).
If none of that works, the app's installer itself is likely broken. Get a fresh copy from the developer's site. If it's an old custom app, you might be looking at a rewrite or virtualization (e.g., running it in a Windows XP VM). But that's a whole other conversation.