Wierzyłem, że uruchomiona usługa - jak każdy inny proces - blokuje plik wykonywalny (tak jak w użyciu).
W rzeczywistości muszę zatrzymać usługę, gdy buduję jej nową wersję w Visual Studio, a następnie uruchamiam ją ponownie.
Nie rozumiem, jak zaktualizowali plik wykonywalny bez zatrzymywania usługi (podczas wdrażania), a następnie - po tym - po prostu ponownie uruchomili usługę, aby zmiany odniosły skutek.
Czy ktoś ma na to jakieś wyjaśnienie?
sc stop service_name
następnie zmień plik wykonywalny:sc create service_name binPath= abc.exe
następnie uruchom usługęsc start service_name
Odpowiedzi:
W rzeczywistości pliku nie można usunąć (lub podobnie nie można go zastąpić bardzo to samo plik), ale można zmienić jego nazwę lub przenieść.
W ten sposób można go zastąpić.
Podobne pytanie tutaj (okazując zaskoczenie za to zachowanie).
źródło