Система не может найти файл указанный при запуске службы mysql
Я пытаюсь установить и запустить службу MySQL для работы с моим проектом.
1 - я скачал MySQL server 5.7.17 и настроил его следующим образом : ручная установка и настройка MySQL 5.7 на Windows 10
2 - я скопировал папку MySQL и поместил ее в папку моего проекта (MyProject\bin\Debug\mysql)
3 - Использование этого кода для установки и запуска службы MySQL с пользовательским именем.
var serviceExists = ServiceController.GetServices().Any(s => s.ServiceName == "mysqlTests"); if (!serviceExists) { ServiceProcessInstaller ProcesServiceInstaller = new ServiceProcessInstaller(); ProcesServiceInstaller.Account = ServiceAccount.LocalSystem; ProcesServiceInstaller.Username = null; ProcesServiceInstaller.Password = null; ServiceInstaller ServiceInstallerObj = new ServiceInstaller(); InstallContext Context = new System.Configuration.Install.InstallContext(); String path = String.Format("/assemblypath={0}", "mysql/bin/mysqld.exe"); String[] cmdline = { path }; Context = new InstallContext("", cmdline); ServiceInstallerObj.Context = Context; ServiceInstallerObj.DisplayName = "mysqlTests"; ServiceInstallerObj.Description = "MySQL"; ServiceInstallerObj.ServiceName = "mysqlTests"; ServiceInstallerObj.StartType = ServiceStartMode.Automatic; ServiceInstallerObj.Parent = ProcesServiceInstaller; System.Collections.Specialized.ListDictionary state = new System.Collections.Specialized.ListDictionary(); ServiceInstallerObj.Install(state); } ServiceController controller = new ServiceController(); controller.ServiceName = "mysqlTests"; if (controller.Status == ServiceControllerStatus.Stopped) { // Start the service controller.Start(); }
я думаю, что служба установлена успешно, но эта ошибка появляется : $exception {"не удается запустить службу mysqlTests на компьютере '.'."} System.Win32Exception исключение InvalidOperationException: не удается найти указанный файл
как изображение вложения: имя службы, похоже, установлено
ОБНОВЛЕНИЕ:я обновляю код :
string appPath = Path.GetDirectoryName(Application.ExecutablePath); String path = String.Format("/assemblypath={0}", appPath + @"\mysql\bin\mysqld");
ошибка :
Система.InvalidOperationException: 'не удается запустить службу mysqlTests на компьютере '.'.'
Win32Exception: служба не ответила на запрос запуска или управления своевременно
Что я уже пробовал:
Я попытался установить службу вручную с помощью команды :
mysqld --install mysqlTests
служба успешно установлена.
и успешно начать
E:\MyProject\bin\Debug\mysql\bin>net start mysqlTests
Я не знаю, что я могу сделать, чтобы мой код успешно установил и запустил службу MySQL
j snooze
Если вы посмотрите на административную панель в сервисах и найдете сервис mysql, то каков путь к exe-файлу, который он ищет? Есть ли exe-файл там?
Golden Basim
я не знаю где ( административная панель), но в свойствах сервиса mysql путь не содержит .exe
Dave Kreskowiak
Start -> Run -> введите services.msc и нажмите enter. Найдите службу MySQL и дважды щелкните ее, чтобы открыть страницу свойств. Там ты найдешь тропинку.
Golden Basim
да..
"mysql\bin\mysqld.exe"
Dave Kreskowiak
Ну, если ваше приложение не установлено в корне C:, это не сработает. Копия MySQL не является "установленной" копией и не будет работать как сервис.
Серьезно, почему вы пытаетесь установить MySQL из своего собственного приложения? У обычных пользователей нет прав на установку чего-либо, так что это не сработает.
Golden Basim
Я пытался установить MySQL server с помощью расширенного установщика, но у меня больше не получалось.
Dave Kreskowiak
Сделайте себе огромное одолжение и просто установите MySQL отдельно от вашего собственного установщика приложений.
Golden Basim
что мне нужно, чтобы пользователь легко установил его с помощью моего приложения
Dave Kreskowiak
Я понятия не имею. Я никогда ни для чего не использую MySQL.
Golden Basim
"mysql\bin\mysqld.exe"
Golden Basim
я обновляю код :
строка appPath = Path.GetDirectoryName(Application.ExecutablePath);
String path = строка.Формат("/assemblypath={0}", appPath + @"\mysql\bin\mysqld");
ошибка :
Система.InvalidOperationException: 'не удается запустить службу mysqlTests на компьютере '.'.'
Win32Exception: служба не ответила на запрос запуска или управления своевременно