How to fix a Windows program that won't open
If a Windows program won't open, the fix depends on exactly how it fails, and most guides make the job harder by jumping straight to reinstalling. Four separate faults share the symptom you are seeing: an app that crashes during startup, a broken file association, a missing runtime library, and a blocked or damaged executable. Each one leaves a different clue, and the clue decides what you do next. This guide matches your symptom to the likely cause, then works down a fix ladder from the cheapest test to the most thorough repair. The Event Viewer entries usually tell you which fault you have.
Windows program won't open: match the symptom to the cause
Start here rather than at the installer. The symptom you can describe tells you which check comes next.
| What you see | What it usually means | First check |
|---|---|---|
| A window flashes and disappears | The app is crashing during startup | Read the Application log |
| Nothing happens when you click | Broken file association or a blocked installer | Right-click and choose Run as administrator |
| A splash screen shows, then the app closes | A required runtime is missing | Install the Visual C++ 2015-2022 runtimes |
| An error dialog names a code | The executable is blocked or the wrong bit width | Look up the code below |
Case 1: the window flashes and disappears
This is the version I see most often. The executable starts, asks Windows for something it needs, and the process dies before a main window appears. Open Event Viewer, expand Windows Logs, select Application, and look for an Application Error entry.
The useful line is Faulting module name, because it names the file that broke the launch. A module ending in nvlddmkm.dll or igdkmd64.dll means the graphics driver is at fault, and that has its own update and rollback procedure in how to update graphics drivers safely. A module such as VCRUNTIME140.dll points at a missing Visual C++ runtime, while an overlay or antivirus module means something injected into the process caused the crash.
Check Applications and Services Logs > Microsoft > Windows > SideBySide as well. A "The configuration data for this application is invalid" entry means a runtime version mismatch.
Case 2: nothing happens when you click it
No window, no error, no sound. That silence has three common causes and one quick test that separates them. Right-click the shortcut and choose Run as administrator. If the app opens this time, the cause is permissions or a broken file association.
If it still does nothing, check that the shortcut points somewhere real: right-click it, choose Properties, and read the Target field. After an update the executable often moves, and the old shortcut is left pointing at a path that no longer exists.
Legacy installers and older 32-bit utilities can also be blocked outright, with Windows showing "This app can't open on this PC" or "Windows protected your PC". That is SmartScreen, covered further down. A process that appears in Task Manager and vanishes is crashing instantly and belongs to Case 1.
Case 3: the app opens to a splash screen and closes
A splash screen means the program got further than the earlier cases. It passed the loader and then failed on a component it needs at runtime, most often the Visual C++ Redistributable or a .NET framework that is not on this machine.
Windows 10 version 1903 and Windows 11 both ship with .NET Framework 4.8 installed, so a missing framework is rare on a healthy system. Old games are the usual exception and may want the DirectX End-User Runtime from June 2010. If the app has its own installer, run that first, since it installs the exact runtime build the program was tested against.
Case 4: an error dialog with a specific code
Write the code down before you close the dialog. Windows launch errors are stable across builds, and the set below covers the common ones.
| Code | Meaning | What to do |
|---|---|---|
| 0xc000007b | Bad image format, usually a 32-bit and 64-bit mix | Install both Visual C++ 2015-2022 runtimes |
| 0xc0000135 | A required DLL could not be found | Install the missing runtime, then launch again |
| 0xc0000142 | DLL initialization failed, an old program meeting a newer runtime | Remove old runtimes and install the 2015-2022 pair |
| 0x80070005 | Access is denied | Run as administrator and check folder permissions |
| 0xc0000409 | STATUS_STACK_BUFFER_OVERRUN, often a driver or an overlay | Update the graphics driver and remove overlays |
The fix ladder: cheapest test first
Work down this list in order and stop as soon as the program opens. Each step costs more time than the one before it.
- Run it as administrator. Right-click the shortcut and choose Run as administrator. It is the fastest diagnostic here, because it tells you within seconds whether permissions or a broken association is the issue.
- Read the Event Viewer entries. Return to the Application log and note the faulting module. Every later decision depends on that line, and it stops you reinstalling the wrong thing.
- Reinstall the program cleanly. Uninstall it from Settings > Apps, restart the PC, then run a fresh installer from the vendor's own website. Avoid installers from software download sites.
- Repair, then reset, if the app is packaged. On Windows 11 open Settings > Apps > Advanced app settings > Apps & features, pick the app, then choose Advanced options. On Windows 10 the same list is at Settings > Apps > Apps & features. Repair reinstalls the app's files and keeps your data, while Reset clears its settings.
- Clear the app's cache and local folders. Close the app, then look in
%LOCALAPPDATA%and%APPDATA%for a folder named after it and delete the cache contents. Store apps live in%LOCALAPPDATA%\Packagesunder a long package name. - Handle the Windows Installer cache safely. Cached installer files live in
C:\Windows\Installer, and Windows needs them to repair and uninstall programs later. Use Microsoft's Program Install and Uninstall troubleshooter to remove the stuck entry instead of deleting that folder by hand. - Check Windows Security protection history. Open Windows Security > Virus & threat protection > Protection history. A quarantined or blocked executable appears here, and the app fails to start until you allow or restore it.
- Remove compatibility overrides. Right-click the executable, choose Properties > Compatibility, and clear the "Run this program in compatibility mode" box. Windows keeps a second copy of these settings under Windows Security > Device performance & health.
- Repair Windows itself. Run these two commands in order from a Command Prompt opened with Run as administrator. DISM repairs the component store first, then SFC replaces any system file that is still wrong.
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
Old 32-bit games and legacy installers
Programs built before 64-bit Windows became standard still need the 32-bit Visual C++ libraries, and Windows does not include them by default. The fix is the Microsoft Visual C++ Redistributable 2015-2022 package, installed twice: once for 64-bit programs and once for 32-bit programs, even on a 64-bit machine.
Install the x64 version first and the x86 version second. The official links are https://aka.ms/vs/17/release/vc_redist.x64.exe and https://aka.ms/vs/17/release/vc_redist.x86.exe. The 2015-2022 package covers programs built against the 2015, 2017, 2019, and 2022 versions.
Legacy installers throw a different message, such as "This app requires a newer version of Windows" or "This app can't open on this PC". That usually means SmartScreen blocked the setup file rather than a runtime being missing.
When Windows SmartScreen blocks the program
SmartScreen shows a blue window that says "Windows protected your PC", with the publisher name and a More info button. Click it, read the publisher, and if the name is the one you expect, choose Run anyway. The choice applies to that file only.
I only do this for files downloaded from the publisher's own site. An installer that arrived through a download portal, a spam email, or a chat attachment should be deleted. You can review the SmartScreen list under Windows Security > App & browser control > SmartScreen settings, but leave protection switched on.
What run as administrator actually changes
Run as administrator starts that single launch with administrator rights and asks for a password. A process with those rights can write to C:\Program Files, change machine-wide settings under HKEY_LOCAL_MACHINE, and start services or load drivers that a standard user cannot.
For a permanent change, open Properties > Compatibility and tick Run this program as an administrator. Use it when the app only fails while saving a file or talking to a device, and leave it off for apps that launch other programs. If the app needs another profile, use Run as different user.
When it only fails for one user account
If the program opens normally on another account and fails on yours, the fault is in the profile, and that is where I look first. A damaged profile usually shows up as an app that resets its own settings or loses saved data.
Test it before changing anything: open Settings > Accounts > Other users > Add account, create a local account, and sign into it to try the app. If it works there, back up your documents with how to back up important files on Windows and remove the broken profile. The list of profiles lives at HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList, where every entry is named after a user SID. Renaming your account's entry by adding .bak makes Windows build a fresh profile on the next sign-in.
If the failing program is a game
Games need the Visual C++ 2015-2022 pair even when the launcher itself starts, because the launcher and the game often use different runtime builds. A crash on the first frame usually means a graphics driver problem, covered in how to update graphics drivers safely.
A game that stutters and then closes may simply be out of RAM, and how to check which apps use the most RAM shows you what is using it. Verify the game files from the launcher before reinstalling anything.
Frequently asked questions
Why does a program flash and close immediately?
The executable starts and then crashes while it loads, usually because a DLL it depends on is missing, damaged, or the wrong version. Event Viewer records the exact faulting module in the Application log, so read that entry before you reinstall anything.
Do I need both the x86 and x64 Visual C++ Redistributable?
Yes. The 2015-2022 package ships as separate 32-bit and 64-bit installers, and Windows runs each program at the bit width it was built for. A 64-bit machine still needs the x86 installer for 32-bit games and older utilities.
Is it safe to click Run anyway on the SmartScreen warning?
It is safe when the file came straight from the publisher's own website and the publisher name matches what you expect. If the file came from a download portal, an email, or a chat message, treat the warning as a real threat and delete the file instead.
Why does the app work for my partner but not for me?
That pattern points at the user profile rather than the program. Create a second local Windows account, sign into it, and try the app there. If it opens in the new account, the original profile is damaged and the app data stored in that profile is the likely culprit.
Should I reinstall Windows when nothing else works?
No, and you should not reach for a clean install before the repair tools. Run DISM /Online /Cleanup-Image /RestoreHealth and then sfc /scannow from an administrator Command Prompt. Those two commands repair a damaged component store and replace missing system files, which is what causes most stubborn launch failures.
What if the program fails on another account as well?
Then the fault sits in the program files or on the machine, not in the user profile. Capture the faulting module name in Event Viewer and reinstall the application cleanly from the vendor's own download, then test it again.
What to remember
- A flash, silence, a splash screen, and an error code are four different faults.
- The faulting module name in Event Viewer is the most useful clue you can collect.
- Install the Visual C++ Redistributable 2015-2022 x86 and x64, even on 64-bit Windows.
- Repair before you reset, and reset long before you reinstall Windows.
- Clearing
%LOCALAPPDATA%and%APPDATA%for the app is safe and often enough.
Find your row in the symptom table, open Event Viewer, and write down the faulting module name before you change anything. That one line decides which of the nine steps above to run first, and most programs I have seen open within minutes of the right fix.