Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 11.11.2021
Сообщений: 79

Не работает служба

26.02.2024, 14:14. Показов 2815. Ответов 40

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Впервые пробую сделать службу и столкнулся с проблемой того, что она устанавливается, но не запускается.
Помогите понять в чём проблема
Ссылка на гитхабе чтобы не слать тонну кода
И кроме самой службы, есть вопрос с Form1.cs
не понимаю почему у меня button5_Click и button6_Click просто открывают командную строку?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.02.2024, 14:14
Ответы с готовыми решениями:

Почему служба не работает?
Здравствуйте! Написал не хитрую службу: private void timer1_Tick(object sender, EventArgs e) { var...

Служба некорректно работает в Windows 7
Добрый день! Помогите пожалуйста, не знаю что делать. Состряпал службу на C#. Две основные её функции это создание прослушки на 502...

Не работает служба
Добрый день. Написал службу, которая на данный момент должна делать простую вещь. public Service1() { ...

40
 Аватар для Andrey-MSK
3368 / 2254 / 388
Регистрация: 14.08.2018
Сообщений: 7,631
Записей в блоге: 4
25.03.2024, 17:27
Студворк — интернет-сервис помощи студентам
Raketa12, А как к нему путь задан в коде?
0
0 / 0 / 0
Регистрация: 11.11.2021
Сообщений: 79
25.03.2024, 17:27  [ТС]
Путь к папке в библе прописан следующим образом
C#
1
string SetingsFilePath = Path.Combine(Environment.CurrentDirectory, "Data\\ProgrammData.json");
0
 Аватар для Andrey-MSK
3368 / 2254 / 388
Регистрация: 14.08.2018
Сообщений: 7,631
Записей в блоге: 4
25.03.2024, 17:29
Цитата Сообщение от Raketa12 Посмотреть сообщение
Environment.CurrentDirectory
Ни на что не намекает?
0
0 / 0 / 0
Регистрация: 11.11.2021
Сообщений: 79
25.03.2024, 17:30  [ТС]
Andrey-MSK, И из 3 программы всё работает.

Не по теме:

Коротко напомню к чему привели советы выше:
Я сделал 2 екзешника и 1 библу
Библа работает с файлами
Через библу первый екзешник редактирует файлы
Через библу второй екзешник должен прочитать и уже дальше выполнить действия

0
 Аватар для Andrey-MSK
3368 / 2254 / 388
Регистрация: 14.08.2018
Сообщений: 7,631
Записей в блоге: 4
25.03.2024, 17:30
Raketa12, Environment.SpecialFolder Перечисление
0
0 / 0 / 0
Регистрация: 11.11.2021
Сообщений: 79
25.03.2024, 17:31  [ТС]
Andrey-MSK, Намекает конечно.
Он ведёт в ту папку откуда запускаетя екзешник
0
 Аватар для Andrey-MSK
3368 / 2254 / 388
Регистрация: 14.08.2018
Сообщений: 7,631
Записей в блоге: 4
25.03.2024, 17:31
Raketa12, Ваш сервис ищет этот файл в каталоге, из которого он запускается, а не в том каталоге где нужно...
0
0 / 0 / 0
Регистрация: 11.11.2021
Сообщений: 79
25.03.2024, 17:35  [ТС]
Andrey-MSK, Это я понимаю.
Но я не понимаю как так получилось.
Когда я добавлял службу, в бинпач я прописывал
C:\Program Files\RTech\FtpTransport\TransportServic e.exe
Добавлено через 30 секунд
И он так и занесён в службы

Добавлено через 1 минуту
Бинпач если что не ручками написаный, а он сам собирается через ту же библу, в зависимости от того где она и 3 екзешник находятся
0
 Аватар для Andrey-MSK
3368 / 2254 / 388
Регистрация: 14.08.2018
Сообщений: 7,631
Записей в блоге: 4
25.03.2024, 17:35
Raketa12, Ну дак передайте в путь Environment.ProgramFiles, а не каталог запуска приложения.
0
0 / 0 / 0
Регистрация: 11.11.2021
Сообщений: 79
25.03.2024, 17:38  [ТС]
Andrey-MSK, Так а если программа будет установлена не в ProgramFiles, а на другой диск допустим?
Он же снова ничего не найдёт
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
25.03.2024, 17:38
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
в каталоге, из которого он запускается
не совсем так, данное свойство возвращает или задает рабочую директорию, если запускать приложение с помощью ярлыка то можно переопределить данную директорию, если запускать просто нажатием мыши то директория будет указана из папку в которой был запуск приложения, но это не значит что приложение в этой же папке.
1
 Аватар для Andrey-MSK
3368 / 2254 / 388
Регистрация: 14.08.2018
Сообщений: 7,631
Записей в блоге: 4
25.03.2024, 17:39
Цитата Сообщение от Raketa12 Посмотреть сообщение
Так а если программа будет установлена не в ProgramFiles, а на другой диск допустим?
Ищите запись в реестре про неё и берите оттуда путь.

Добавлено через 38 секунд
Andreyip, Согласен, не так выразился
0
0 / 0 / 0
Регистрация: 11.11.2021
Сообщений: 79
25.03.2024, 17:43  [ТС]
Andrey-MSK,
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
Ищите запись в реестре про неё и берите оттуда путь.
Хорошо.
Тогда сразу спрошу
это правильный вариант нашел?
C#
1
2
3
4
5
6
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\App Paths\myexe.exe");
string regFilePath = null;
 
object objRegisteredValue = key.GetValue("");
 
registeredFilePath = value.ToString();
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
25.03.2024, 17:43
Raketa12, попробуйте так
C#
1
var dirPath = Path.GetDirectoryName(typeof(Program).Assembly.Location);
вместо Program ваш класс из сборки
0
 Аватар для Andrey-MSK
3368 / 2254 / 388
Регистрация: 14.08.2018
Сообщений: 7,631
Записей в блоге: 4
25.03.2024, 17:45
Цитата Сообщение от Raketa12 Посмотреть сообщение
Тогда сразу спрошу
это правильный вариант нашел?
А чего меня спрашивать? Проверьте у себя. Я вам только варианты предложил
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
25.03.2024, 17:49
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
Ищите запись в реестре про неё и берите оттуда путь.
а если не запускать службу а запустить просто приложение, опять костылить?
0
 Аватар для Andrey-MSK
3368 / 2254 / 388
Регистрация: 14.08.2018
Сообщений: 7,631
Записей в блоге: 4
25.03.2024, 17:53
Цитата Сообщение от Raketa12 Посмотреть сообщение
C#
1
Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\App Paths\myexe.exe");
Этот путь реестра зависит от метода установки. Лучше искать по GUID приложения, который присваивается в самом пакете установщика.

Добавлено через 2 минуты
Цитата Сообщение от Andreyip Посмотреть сообщение
а если не запускать службу а запустить просто приложение, опять костылить?
А чем приложение от службы отличается? Код-то одинаковый на поиск нужной библиотеки в системе через реестр...
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
25.03.2024, 17:56
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
чем приложение от службы отличается
Тем что если служба не установлена, то в реестре вообще ничего не будет, проще и универсальнее взять сборку по классу и из нее вытащить путь, далее его скомпоновать, таким образом даже если приложение просто скопировано в любую директорию, путь к настройкам будет всегда одинаковый.
0
 Аватар для Andrey-MSK
3368 / 2254 / 388
Регистрация: 14.08.2018
Сообщений: 7,631
Записей в блоге: 4
25.03.2024, 17:57
Цитата Сообщение от Andreyip Посмотреть сообщение
Тем что если служба не установлена, то в реестре вообще ничего не будет
ТС не службу ищет, а вспомогательную библиотеку с её файлом настроек.
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
25.03.2024, 18:03
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
а вспомогательную библиотеку с её файлом настроек
Ага, похоже через его же написанную библиотеку, тем более тогда берем класс из библиотеки которая будет грузить настройки, через отражение получаем сборку и путь к библиотеке, комбинируем получаем путь к настройкам. Код получается одинаковый, ни зависит ни от рабочей директории, ни от реестра.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.03.2024, 18:03
Помогаю со студенческими работами здесь

Служба работает не на всех ПК
Добрый день, форумчане! Сильно не пинайте, т.к. в net начинающий :). Возникла проблема, досталась программа по наследству на c# и...

Не работает служба WCF
Подскажите пожалуйста почему не получаются данные, public interface IService { string GetName();

Служба, которая работает по расписанию
Как создаются службы, которые должны что-то делать каждые N минут? Я так понимаю, что при запуске службы инициализируется таймер и...

не работает служба поиска
Всем привет, столкнулся с такой проблемой, не работает служба поиска Windows. Сама иконка поиска находится на панели задач, при нажатии...

Не работает служба mysql
Пытаюсь вручную установить веб сервер. За основу взял вот это руководство http://habrahabr.ru/post/203012/. Застрял на том что не могу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru