After being infected with a virus or incorrectly changing the system registry, the user may encounter the fact that executable EXE-files (installation MSI-files or PowerShell/CMD/VBScript files) not opening in Windows. When you run any program (shortcut) from File Explorer, nothing happens, a window appears asking you to select a program or all EXE files are opened in a different program (for example, in notepad.exe or in paint.exe). In this article, we will look at how to fix the problem when you cannot run any executable file or application on Windows.
How to Fix Broken EXE File Associations on Windows?
When you run any application *.exe file in Windows, a window appears asking you to select a program (How do you want to open this file?
):
Or errors appear:
This file does not have an app associated with it for performing this action. Please install an app, if one is already installed, create an association in the Defaults Apps Settings page.
Windows cannot access the specified device, path, or file. You may have the appropriate permissions to access the item.
Windows can't open this file.
Most often, this problem appears after a virus infection or an unsuccessful attempt to “optimize” the Windows registry. The source of this problem is that the file associations for *.exe files were reset in the Windows registry. To restore associations for executable files on Windows, you need to use the Registry Editor (regedit.exe), but it also won’t open because it is also an executable file. Neither cmd.exe nor PowerShell opens. What to do in this case?
- Create a simple text file on your desktop;
- Paste the following line to the file:
start cmd
- Rename the file to run.bat;
- Right-click on the file and select Run as administrator;
- Confirm the elevation of privileges in UAC and an elevated command prompt window will open;
- You can run regedit.exe and make changes to the registry manually (the method is described below) or paste the following code into the command prompt window:
reg delete HKEY_CLASSES_ROOT\.exe /ve /f
reg add HKEY_CLASSES_ROOT\.exe /ve /d exefile /f
reg delete HKEY_CLASSES_ROOT\exefile /ve /f
reg add HKEY_CLASSES_ROOT\exefile /ve /d Application /f
reg delete HKEY_CLASSES_ROOT\exefile\shell\open\command /ve /f
reg add HKEY_CLASSES_ROOT\exefile\shell\open\command /f /ve /d "\"%1\" %*\"
assoc .exe=exefile
- These commands will reset the EXE file associations to the default ones;
- Restart your computer and try to run any app.
If even the *.bat and *.cmd files won’t start on your computer, you will have to edit the registry manually in Safe Mode.
- Boot the computer into the Safe Mode (just interrupt Windows boot by pressing the power button three times in a row);
- The computer will boot into the Windows Recovery Environment (WinRE). Select Troubleshoot -> Advanced options -> Startup Settings -> Restart. Press F4 to boot Windows in Safe Mode;
- Run the Registry Editor (
regedit.exe
) and go to the reg key HKEY_CLASSES_ROOT\.exe; - Change the Default registry parameter value to exefile;
- Then go to the HKEY_CLASSES_ROOT\exefile\shell\open\command and change the value of the Default parameter to
"%1" %*
- Then, by analogy, change the values of the Default parameter to
"%1" %*
in the HKCR\exefile\shell\open and HKCR\exefile registry keys; - Restart your computer normally. File Explorer should now use the default EXE file associations. Try to run any *.exe file.
Additionally, you should check these steps to restore *.exe file associations:
- Execute the command to reset the EXE file associations:
assoc .exe=exefile
- Check that the UserChoice key is missing in the registry key HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe. If there is such a key, delete it;
- Check the integrity of the Windows image and system files using the commands:
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth - Make sure that your anti-virus program doesn’t block the launch of executable files;
- If Windows displays a security warning when opening executable files, follow the instructions in this article.
Windows Cannot Run EXE Files from a Network Share
If users can run EXE files locally on their computers, but an error appears when launching files from network shared folders, then the cause of the problem may be different.
- Check the current NTFS permissions for the shared folder or file. If the user is not assigned NTFS Read/Execute permission, then an error will appear when running the executable file:
Windows cannot access \\server1\sharedfolder\file.exe. You do not have permission to access applicatin.exe file.
Change NTFS permissions manually or through PowerShell.
- Try running the executable file in compatibility mode. To do this, open the properties of the EXE file, go to the Compatibility tab, select the compatibility mode with Windows 8. Try to run the application from a network share.
The problem may be related to the fact that you are trying to connect to a shared folder located on a device that only supports the SMB v1 protocol (this could be a NAS storage device, a file server with a legacy OS version, such as Windows XP or Windows Server 2003).
Errors may indicate this:
The application was unable to start correctly (0xc00000ba)
Exception thrown at 0x00007FFA2B86624E
0xC0000005: Access violation reading location 0x0000000000000000)
Get-SmbConnection
PowerShell cmdlet.Check if SMBv2 or SMBv3 is enabled on your file server using the PowerShell command:
Get-SmbServerConfiguration | Select EnableSMB2Protocol
If SMBv2 is disabled, you can enable it:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Also, if you are using Linux Samba as a file server, you can disable SMB1 in the configuration file smb.conf. Add the line min protocol = SMB2
to the [global]
section and restart Samba.
By default, you cannot access shared folders hosted on a file server running Windows Server 2003 or on a NAS device that only supports SMB1. To access such an SMB share from modern Windows 10 builds, you need to enable the SMB 1.0/CIFS Client on users’ computers (which is not recommended for security reasons).
The correct solution, in this case, is to migrate the shares with executable files to Windows Server 2012 R2/2016/2019, where the SMB1 protocol is disabled. In this case, you will be able to run executable files located in shared folders from your Windows 10 device.
21 comments
Thanks for the info! But the problem with running applications from network folders is actually related to updating the engine of the built-in antivirus Windows Defender in Windows 10 1803. If you disable Windows Defender and install an alternative antivirus, the problem with executing executable files from the shared folders disappears. So, if you have a file server with Windows Server 2003 / Windows XP / or an outdated NAS device left on the network, disabling Windows Defender can help you.
My experience is not consistent with the problem being Windows Defender MKGEEK. I get different results when the network location is my NAS (problem evident), compared to a file share on my Windows File servers (problem not evident). And disabling Defender didn’t help at all.
So for me, the problem seems very much consistent with the article.
I also had the same problem with running exe files from the NAS. But at me instead of Windows Defender in my Windows 10 1803 the antivirus Symantec is installed.
The problem was solved by removing Symantec and installing instead a free AVG
The problem is not with Windows Defender. I have Nod32 Smart AV with Firewall enabled(so Windows defender DISABLED) and the problem persist. It´s like ALAN GRESHAM said.
Diego.
It’s a problem with Defender and other Antivirus programs. I uninstalled our Symantec Endpoint Protection Small Business Edition, then enabled the Windows Firewall and install Avast antivirus and the program would load as before. So, I think it’s a Microsoft problem along with SOME of the other Antivirus programs.
So the question is what Avast and AVG modified in the registry to make it work again?
As an additional bit of information on this. I have this issue – but, only on my stations joined in a WorkGroup. The ones using a Domain login can launch and run apps without Databese connection errors.
With the Workgroup apps, I use a specific Username/Pwd to connect to the database. I can open a UDL file and connect successfully to the database. Running the App on the local station works as advertised.
I will be attempting the Avast solution.
[…] The answer is found here. […]
Any new news from MS about a better fix for this rather than a bad workaround?
They broadcast for years that SMBv1 support was going to be dropped – if your network storage doesn’t support (or the case of a NAS device have a firmware upgrade that will support) SMBv2 or SMBv3 then that device has reached the end of it’s useful life for use within a Windows environment. They aren’t going to reverse this…
Yes we already know regarding that SMBv1 support since it was announced! The question is why it will work when you install like AVG and Avast?
Because they aren’t doing as good a job of protecting you against the risks of letting executables hosted on an SMBv1 disk do whatever they like. Or am I missing something?
There must be something change in windows registry or what ever settings, because in windows 1709 it still works, It seems windows 10 1803 is blocking programs that opening a network socket. But anyway as what I saw on MS forum it seems MS is already inform about it and most of the people there are waiting for the subsequent update from MS.
This blog entry from an MSFT is why I don’t think that it’s an accident that we are seeing this behaviour, and why I don’t expect to see a fix from Microsoft.
https://blogs.technet.microsoft.com/filecab/2016/09/16/stop-using-smb1/
A user on MS forum has discovered how AVG fixes the issue. Apparently it’s related to a File System Filter Driver which is part of AVG antivirus applications and when i search about that file the description is “AVG Virtualization Driver”.
But even more encouraging is that Microsoft has now acknowledged that a fix is currently in the works.
https://support.microsoft.com/en-nz/help/4284835/windows-10-update-kb4284835
Many thanks for the info, great work!
This appears to be fixed in KB4284848 released today.
Addresses an issue where some users may receive an error when accessing files or running programs from a shared folder using the SMBv1 protocol. The error is “An invalid argument was supplied”.
Yes, this KB4284848 is the real deal… Case Solve….:-)
Confirmed KB4284848 on win 10 home 1803 allows exe’s to access internet resources when run from a mapped drive using SMB 1.5.
It work. I change regedit “EnableLUA” key to “0” in \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System . My system is windows 10 ver 1709.
i cannot “run as admin” in the advice above to fix the problem please help…