Zainstalowano nową usługę systemu Windows, nie można uruchomić: „błąd systemu 2 ... system nie może znaleźć określonego pliku”
Z powodzeniem zainstalowałem kilka innych niestandardowych usług systemu Windows .Net. Nowa, którą niedawno napisałem, była bardzo podobna do pozostałych i chociaż została zainstalowana bez błędów - po uruchomieniu kontrolera serwisowego nie można było uruchomić z okna dialogowego błędu: Błąd systemowy 2 ... system nie może znaleźć określonego pliku .
Po długim czasie i horrorze jedyne, o czym mogłem pomyśleć, różniło się znacznie od tej usługi, to fakt, że ścieżka i nazwa pliku wykonywalnego były co najmniej 10 znaków dłuższe niż w przypadku innych moich usług. Po skróceniu ścieżki i nazwy pliku .exe oraz ponownej instalacji usługa działała poprawnie: żadnych błędów! Mogę tylko założyć, że moja poprzednia ścieżka, nazwa usługi lub nazwa .exe była za długa.
Warto również wspomnieć, że użyłem pożyczonego kodu „sterownika usługi” wbudowanego w mój exe do obsługi instalacji/deinstalacji usługi w kontrolerze usług za pośrednictwem wywołań API win. Może to być ograniczenie znaków ukryte w tym module sterownika usługi.
Nie mogłem znaleźć żadnych dokumentów związanych z systemem Windows, aby potwierdzić, czy istnieje limit znaków systemowych dla ścieżki lub nazwy usługi, które przekroczyłem. Zagłębię się w sterownik serwisowy, gdy czas na to pozwoli i zobaczę, czy okaże się to problemem. W międzyczasie z zadowoleniem przyjmuję każdy wgląd.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
6 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Poszłam do:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\YourServiceName\ImagePath
Moja ścieżka „ImagePath” została zainstalowana na dysku wirtualnym o nazwie „W: \”, który znajduje się w folderze „C: \”.
Zastąpiłem tę ścieżkę rzeczywistą lokalizacją pliku na dysku C: \ i usługa została uruchomiona pomyślnie
Anonimowy użytkownik
Potwierdzenie od:
- Musisz więc albo zainstalować usługę z pełną ścieżką, albo dodać ścieżkę do pliku exe do PATH w systemowych zmiennych środowiskowych.
lub dodaj do zmiennej PATH i użyj
<ol start="2">[*]
Upewnij się również, że ścieżka jest poprawna. Ponieważ raz zainstalowałem go z niewłaściwą ścieżką i został pomyślnie zainstalowany, ale kiedy próbowałem go uruchomić, dostałem ten sam błąd.
[/*]
[/list]
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
nie
używając ścieżki do przechowywania pliku wykonywalnego usługi!
Anonimowy użytkownik
Potwierdzenie od: