MySQL не является допустимым приложением win32 - PullRequest
6 голосов
/ 18 января 2012

Я запускаю mysqldump.exe с необходимыми параметрами из cmd, и все это прекрасно работает.

Затем, неожиданно, он начал выдавать мне всплывающее окно "Недопустимое приложение win32" ина консоли написано «Доступ запрещен ...»

Что вызывает это?

Заранее спасибо.

1 Ответ

0 голосов
/ 13 декабря 2017

ПРИЧИНА Эта проблема может возникнуть, если путь к исполняемому файлу для службы содержит пробелы.

Когда Windows запускает службу, она анализирует путь службы слева направо. Если выполняются оба следующих условия:

  • Путь к исполняемому файлу службы содержит пробелы.
  • На жестком диске вашего компьютера есть файл или папка, имя которой совпадает с именем файла или папки в пути к исполняемому файлу службы.

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

Например, если путь к исполняемому файлу для службы C:\Program Files\MyProgram\MyService.exe, а если папка с именем C:\Program также существует на вашем жестком диске, Windows находит C:\Program папку на жестком диске до

C:\Program Files\MyProgram\My 
Service.exe

файл, а затем пытается запустить его. РАЗРЕШЕНИЕ ПРЕДУПРЕЖДЕНИЕ. Если вы неправильно используете редактор реестра, это может привести к серьезным проблемам, которые могут потребовать переустановки операционной системы. Microsoft не может гарантировать, что вы сможете решить проблемы, связанные с неправильным использованием редактора реестра. Используйте редактор реестра на свой страх и риск. Чтобы решить эту проблему, добавьте кавычки вокруг следующего значения в реестр Windows, где указано название сервиса:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<ServiceName>\ImagePath 

Значение ImagePath содержит другой исправный файл для оказание услуг. Чтобы добавить кавычки вокруг значения ImagePath для службы:

  1. Нажмите Пуск, а затем нажмите Выполнить.
  2. В поле Открыть введите regedit и нажмите кнопку ОК.
  3. Найдите и щелкните следующую запись реестра, где <ServiceName> - название услуги: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<ServiceName>. Например, если служба называется MyService, найдите HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService key.
  4. На правой панели дважды щелкните ImagePath.
  5. В поле «Значение» добавьте кавычки вокруг полного пути исполняемого файла для службы.

Например, если путь к службе MyService равен

 C:\Program 
Files\MyProgram\MyService.exe

, измените запись в поле Значение для службы MyService:

"C:\Program Files\MyProgram\MyService.exe" 6. Нажмите кнопку ОК, а затем закройте редактор реестра ./

Итак, создайте новую папку и установленные службы. BAM! Это сработало. У меня есть папка C:\Web Dev\, которую я использовал для тестирования и проблема была в пространстве между web и dev.

...