Не запускаются исполняемые (EXE) файлы в Windows

Не запускаются исполняемые (EXE) файлы в Windows

После вирусного заражения или некорректной модификации реестра, пользователь может столкнуться с тем, что в Windows перестают запускаться исполняемые exe файлы (установочные msi файлы или файлы скриптов powershell/cmd/vbs). При запуске любой программы (ярлыка) из проводника Windows File Explorer просто ничего не происходит, появляется окно с предложением выбрать программу, или все exe файлы открываются в одной программе (например, в notepad.exe или в paint.exe). В этой статье мы рассмотрим, как восстановить запуск exe файлов в Windows.

Восстановление ассоциаций EXE файлов в Windows

Если при запуске любого exe файла в Windows появляется окно с предложением выбрать программу (
How do you want to open this file?
):

чем открыть этот файл при запуске exe файла в Windows

Или ошибка:

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.

ошибка запуска программы.exe Windows cannot access the specified device, path or file. You may have the appropriate permissions to access the item

Чаще всего такая проблема появляется после вирусного заражения или неудачной попытки оптимизировать реестр Windows. Изначально причина такой проблемы в том, что в реестре Windows сброшены файловые ассоциации для exe файлов. Чтобы восстановить ассоциации для исполняемых exe файлов в Windows, нужно запустить редактор реестра (regedit.exe), но он тоже не открывается, т.к. тоже является exe файлом. Не получается открыть ни cmd.exe, ни PowerShell. Что же делать?

  1. Создайте на рабочем столе простой текстовый файл;
  2. Скопируйте в файл строку:
    start cmd
  3. Переименуйте файл в run.bat;
  4. Щелкните по файлу правой кнопкой и выберите Run as administrator;
    запуск командной строки с правами администратора, когда не запускаются EXE файлы
  5. Подтвердите повышение привелегий в UAC и перед вами откроется окно командной строки с правами администратора;
  6. Можете запустить regedit.exe и внести изменения в реестра вручную (способ описан чуть ниже) или вставьте следующие строки в консоль командной строки:
    reg delete HKEY_CLASSES_ROOT.exe /ve /f
    reg add HKEY_CLASSES_ROOT.exe /ve /d exefile /f
    reg delete HKEY_CLASSES_ROOTexefile /ve /f
    reg add HKEY_CLASSES_ROOTexefile /ve /d Application /f
    reg delete HKEY_CLASSES_ROOTexefileshellopencommand /ve /f
    reg add HKEY_CLASSES_ROOTexefileshellopencommand /f /ve /d ""%1" %*"
    assoc .exe=exefile


    команды для сброса файловых ассоциаций для exe файлов в Windows 10
  7. Данные команды сбросят ассоциации для exe файлов на стандартные;
  8. Перезагрузите компьютер, попробуйте запустить любую программу.

Если на компьютере, не запускаются даже bat и cmd файлы, придется отредактировать реестр вручную в безопасном режиме.

  1. Загрузите компьютер в безопасном режиме (достаточно три раза подряд прервать загрузку Windows кнопкой питания);
  2. Компьютер загрузится в среде восстановления Windows Recovery Environment (WinRE). Выберите Troubleshoot -> Advanced options -> Startup Settings -> Restart. Нажмите F4, чтобы загрузить Windows в безопасном режиме;
  3. Запустите редактор реестра
    regedit.exe
    и перейдите в ветку HKEY_CLASSES_ROOT.exe;
  4. Измените значение параметра реестра Default на exefile;

    ассоциации для exefile в реестре Windows

  5. Затем перейдите в ветку HKEY_CLASSES_ROOTexefileshellopencommand, измените значение параметра Default на
    "%1" %*

    HKEY_CLASSES_ROOTexefileshellopencommand
  6. Затем по аналогии измените значения параметра Default на
    "%1" %*
    в ветках HKCRexefileshellopen и HKCRexefile
  7. Перезагрузите компьютер в обычном режиме. File Explorer теперь должен использовать стандартные ассоциации для exe файлов. Попробуйте запустить любой exe файл.

Дополнительно стоит выполнить следующие действия для восстановления файловых ассоциаций exe файлов:

  • Выполните команду сброса ассоциаций:
    assoc .exe=exefile
  • Проверьте, что в ветке реестра HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorerFileExts.exe отсутствует раздел UserChoice. Если такой раздел есть, удалите его;
  • Выполните проверку целостности образа Windows и системных файлов с помощью команд:
    sfc /scannow
    DISM /Online /Cleanup-Image /RestoreHealth
  • Убедитесь, что ваш антивирус не блокирует запуск исполняемых файлов;
  • Если Windows показывает предупреждение безопасности при запуске исполняемых файлов, следуйте инструкциям в этой статье.

Не запускаются исполняемые exe файлы из сетевой папки

Если пользователи могут запускать exe файлы локально на своих компьютерах, но появляется ошибка при запуске файлов из сетевых папок, то причина проблемы может быть другом.

    1. Проверьте NTFS разрешения на файл/папку. Если у пользователя нет NTFS права Read/Execute, то при запуске исполняемого файла появится ошибка:
Windows cannot access sharepathfile.exe. You do not have permission to access exe file.

Windows 10: не получается запустить exe файл из сетевой папки

Измените NTFS разрешения вручную или через PowerShell.
ntfs разрешения на exe файл - нельзя запустить файл, нет разрешений

  • Попробуйте запустить исполняемый файл в режиме совместимости. Для этого откройте свойства exe файла, перейдите на вкладку Compatibility, выберите режим совместимости с Windows 8. Попробуйте запустить сетевую программу. режим совместимости с windows 8 для программ в сетевой папке

 

Также проблема может быть связана с тем, что вы пытаетесь подключиться к сетевой папке, расположенной на устройстве, которое поддерживает только протокол доступа к файлам SMB v1 (это может быть сетевой NAS, файловый сервер со старой версией ОС, например, Windows XP или Windows Server 2003).

Об этом могут говорить ошибки:

The application was unable to start correctly (0xc00000ba)
Exception thrown at 0x00007FFA2B86624E
0xC0000005: Access violation reading location 0x0000000000000000)
Примечание. Напомним, что при взаимодействии клиента и сервера по протоколу SMB для взаимодействия выбирается максимальная версия протокола, которая одновременно поддерживается и клиентом и сервером (см. статью Версии протокола SMB в Windows). Вы можете определить версию SMB, с помощью которой ваш клиент подключается к файловому серверу с помощью команды PowerShell
Get-SmbConnection
.

Get-SmbConnection проверить используемую версию SMB

Проверьте, включен ли SMBv2 или SMBv3 на вашем файловом сервере с помощью команды:

Get-SmbServerConfiguration | Select EnableSMB2Protocol

Если SMBv2 отключен, его можно включить:

Set-SmbServerConfiguration -EnableSMB2Protocol $true

Если вы используете файловые сервер Linux с Samba, вы можете отключить на нем поддержку SMB1. Для этого нужно в файле конфигурации smb.conf в секции [global] добавить строку min protocol = SMB2 и перезапустить Samba.

Если в качестве файлового сервера Windows Server 2003 (или сетевое NAS хранилище, которое поддерживает только SMBv1), то не можете использовать такое устройство в качестве файловый сервера. Для доступа к такому хранилищу из современных версий Windows 10 придется включать на компьютерах пользователей клиент доступа SMB 1.0 — SMB 1.0/CIFS Client (что настоятельно не рекомендуется).

SMB 1.0 - CIFS клиент включен в Windows 10

Правильное решение в данном случае — перенести этот же исполняемый файлы на Windows Server 2012 R2/2016/2019, на которых отключен протокол SMB 1. В этом случае исполняемые файлы начнут нормально запускаться по сети на Windows 10.

Windows 11
Не запускаются исполняемые (EXE) файлы в Windows