Czy zainstalować usługę Windows za pomocą wiersza polecenia systemu Windows?


Odpowiedzi:


517

Przejdź do pliku installutil.exe w folderze .net (na przykład .net 4 to C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319) i użyj go do zainstalowania usługi, w następujący sposób:

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" "c:\myservice.exe"

35
Jeśli jest to usługa skompilowana x64, użyj „C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ installutil.exe”.
nme

20
Mam dziwny błąd. Brak publicznego instalatora z RunInstallerAttribute. Tak atrybut można znaleźć w zestawie .exe. Usuń plik InstallState, ponieważ nie ma instalatorów
Nick

1
Cześć, wypróbowałem to rozwiązanie, ale daje ono wyjątek jako „... nie znaleziono pliku lub jedna z jego zależności”. Proszę pomóż.
ShaileshDev

Dla wszystkich, którzy mają ten sam problem, co ja i wszyscy: nie musisz już w to wkładać całej ścieżki. wystarczy prosty installutil.exe „C: \ YourProject.exe”.
Cataklysim,

1
@Cataklysim Musisz użyć pełnej ścieżki, chyba że dodałeś ją do zmiennej środowiskowej path.
BluE

211

Nic złego w poleceniu SC Create. Musisz tylko znać poprawne argumenty:

SC CREATE "MySVC" binpath= "D:\Me\Services\MySVC\MySVC.exe"

27
To jedyna odpowiedź, która odwołuje się do oficjalnego sposobu instalowania / modyfikowania / usuwania usługi. Co więcej, nie zależy to od zainstalowanego .NET Framework i działa z dowolnym rodzajem pliku, nie tylko z plikami binarnymi .NET.
Alejandro

7
Tak .. właśnie dlatego podobało mi się to podejście i zawsze doradzam, ponieważ cała praca musi być wykonana w pliku exe, który może należeć do dowolnej wersji .net fw.
Sid

1
warto zauważyć, że to polecenie jest dostępne tylko dla serwera Windows (i niektórych starszych wersji Windows). Win 10 ma również scpolecenie, ale jest coś innego, nie można go używać do rejestrowania usług.
Kapitan Dashenka,

4
Zauważ, że spacja po „binpath =” jest konieczna. @ParamvirSinghKarwal
Urk

1
Jeśli używasz programu PowerShell do uruchomienia tego polecenia, zauważ, że SC jest aliasem dla Set-Content. Pisanie SC.exe to naprawi.
Jesper Riemer Andersen

84

Jeśli nazwa katalogu ma spację c:\program files\abc 123, musisz użyć podwójnych cudzysłowów wokół ścieżki.

installutil.exe "c:\program files\abc 123\myservice.exe"

Zainstaluj usługę systemu Windows z wiersza polecenia

To znacznie ułatwia, jeśli skonfigurujesz plik nietoperza, taki jak śledzenie,

np. Aby zainstalować usługę, utwórz „myserviceinstaller.bat” i „ Uruchom jako administrator

@echo off
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
installutil.exe "C:\Services\myservice.exe"

if ERRORLEVEL 1 goto error
exit
:error
echo There was a problem
pause

odinstalować usługę,

Wystarczy dodać -u do komendy installutil.

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "C:\Services\myservice.exe"

16

Wykonaj następujące czynności:

  1. Uruchom wiersz polecenia (CMD) z uprawnieniami administratora.
  2. Rodzaj c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
  3. Naciśnij returni to wszystko!

Ważne jest, aby otworzyć z uprawnieniami administratora, w przeciwnym razie mogą pojawić się błędy, które nie mają sensu. Jeśli otrzymasz, najpierw sprawdź, czy otworzyłeś go z uprawnieniami administratora!

Aby otworzyć z uprawnieniami administratora , kliknij prawym przyciskiem myszy „Wiersz polecenia” i wybierz „Uruchom jako administrator”.

Źródło: http://coderamblings.wordpress.com/2012/07/24/how-to-install-a-windows-service-using-the-command-prompt/


11

Zainstaluj usługę: -

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" 
"C:\Services\myservice.exe"

Odinstaluj urządzenie: -

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" -u "C:\Services\myservice.Service.exe"

6

Muszę dodać jeszcze jeden punkt w tym wątku. Aby zainstalować / odinstalować 64-bitwersję zestawu, należy użyć 64-bitwersji narzędzia. Aby zainstalować usługę, polecenie powinno brzmieć:

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe"
"C:\YourFolder\YourService.exe"

i aby odinstalować polecenie powinno być:

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" -u
"C:\YourFolder\YourService.exe"

4

Utwórz *.batplik obok swojego usługa Windows exeplik do instalacji w następującym kontekście:

CLS
ECHO Installing My Windows Service 

START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe "%~d0%~p0\YourWindowsServiceExeName.exe"

Utwórz *.batplik obok swojego usługa Windows exeplik o odinstalowanie z następującym kontekście:

CLS
ECHO Uninstalling My Windows Service 

START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "%~d0%~p0\YourWindowsServiceExeName.exe"

Uruchom każdy batplik jako Administrator, aby zainstalować lub odinstalować usługę Windows.


2
  1. Uruchom wiersz polecenia systemu Windows jako administrator
  2. wklej ten kod: cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\aby przejść do folderu
  3. edytuj i uruchom także: installutil C:\ProjectFolder\bin\Debug\MyProject.exe

Uwaga: Aby odinstalować:installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe


2

Otwórz Visual Studio i wybierz nowy projekt, wybierając Windows Serviceszablon na Windows Desktopkarcie. Następnie skopiuj poniższy kod do pliku nazwa_usługi.cs.

using System.Diagnostics;
using System.ServiceProcess;
namespace TimerService
{
    public partial class Timer_Service : ServiceBase
    {
        public Timer_Service()
        {
            InitializeComponent();
        }
        static void Main()
        {
            if (System.Diagnostics.Debugger.IsAttached)
            {
                Timer_Service service = new Timer_Service();
                service.OnStart(null);
            }
            else
            {
                ServiceBase[] ServicesToRun;
                ServicesToRun = new ServiceBase[]
                {
                    new Timer_Service()
                };
                ServiceBase.Run(ServicesToRun);
            }
        }
        protected override void OnStart(string[] args)
        {
            EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service start successfully." });
        }
        protected override void OnStop()
        {            
            EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service stop successfully." });
        }
    }
}

Kliknij prawym przyciskiem myszy plik nazwa_usługi.cs i otwórz projektanta usługi. niż prawym przyciskiem myszy i wybierz Add Installer. niż kliknij prawym przyciskiem myszy serviceProcessInstaller1i zmień wartość jego właściwości Accountz UsernaLocal System .

Usuń static void mainmetodę z Program.cspliku. Następnie zapisz i zbuduj swój projekt.

UWAGA:bin\Ddebug folder goto folderu projektu. Niż otwórz Właściwości service_name.exepliku. Niż Compatibilityzakładka goto . Niż kliknij Change Settings For All Users.

Wybierz opcję Run this program as an administrator.

Teraz musisz otworzyć CommandPromt jako Administrator. Po otwarciu ustaw katalog, w którym znajduje się InstallUtil.exeplik. ex: C:\Windows\Microsoft.NET\Framework64\v4.0.30319. teraz napisz następujące polecenie:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe -i C:\TimerService\TimerService\bin\Debug\TimerService.exe

Uwaga: -i służy do instalacji usługi i -u do odinstalowania.

po -i ustaw ścieżkę zapisu, w której chcesz zainstalować usługę.

teraz napisz polecenie w CommandPromt w następujący sposób:

C:\TimerService\TimerService\bin\Debug>net start service_name

Uwaga: użyj, stopaby zatrzymać usługę.

Teraz otwórz ViewEventLog.exe. Wybierz Dzienniki systemu Windows> Aplikacja. Tam możesz sprawdzić dziennik usługi, uruchamiając i zatrzymując usługę.


2

Jeśli korzystasz z PowerShell i chcesz zainstalować usługę .NET, możesz użyć modułu Install-Service . Jest to opakowanie dla narzędzia InstalUtil.

Udostępnia 3 polecenia

  • Install-Service - wywołuje  polecenie InstallUtil.exe pathToExecutable
  • Install-ServiceIfNotInstalled - najpierw sprawdza, czy usługa jest zainstalowana, jeśli nie wykonaj metody Install-Service
  • Uninstall-Service - odinstalowuje usługę. ServiceName ścieżki do pliku wykonywalnego może być użyty.

Kod tego modułu można obejrzeć tutaj


1
  1. uruchom wiersz polecenia (CMD) z uprawnieniami administratora.
  2. Wpisz c: \ windows \ microsoft.net \ framework \ v4.0.30319 \ installutil.exe [ścieżka usługi Windows do pliku exe]
  3. Naciśnij klawisz powrotu

1

poniższy kod, zainstaluj i odinstaluj usługę,

Otwórz wiersz polecenia i uruchom program jako administrator uruchom poniższe polecenie i naciśnij klawisz Enter.

Składnia

Żeby zainstalować

C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe + Your copied path + \your service name + .exe

np .: Nasza ścieżka InstallUtil.exe C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe

Aby odinstalować

 C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe -u + Your copied path + \your service name + .exe

np .: Nasza ścieżka InstallUtil.exe -u C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe

Aby uzyskać dodatkową pomoc, możesz zobaczyć następujący link: przykładowy program


1

Postępuj zgodnie ze wskazówkami podczas wdrażania usługi Windows, nie trać czasu

1- Uruchom wiersz polecenia z uprawnieniami administratora

2- Zapewnij tryb zwolnienia podczas wypełniania swojego IDE

3- Podaj typ dla instalatora projektu w widoku projektu

4- Wybierz typ uwierzytelnienia zgodnie ze sprawą

5- Zapewnij zależności oprogramowania: Jeśli używasz certyfikatu, zainstaluj go poprawnie

6- Przejdź do konsoli, napisz to:

C:\Windows\Microsoft.NET\Framework\yourRecentVersion\installutil.exe c:\yourservice.exe

przed ścieżką exe -i c:\można użyć ukrytego argumentu -i, którego można użyć -udo odinstalowania

7- Sprawdź swoją ścieżkę .exe, aby wyglądać na plik dziennika. Możesz użyć podglądu zdarzeń do obserwacji w obiekcie


1

otwórz wiersz polecenia programisty jako Administrator i przejdź do

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

Teraz użyj ścieżki, gdzie jest twoje .exemiejsce

InstallUtil "D:\backup\WindowsService\WindowsService1\WindowsService1\obj\Debug\TestService.exe"

0

gdy wersja zestawu i projekt Visual Studio projektu Biuld na dot net 2 lub 4 instalują tę samą wersję.

zainstaluj usługę z installutiltą samą wersją

jeśli wbudowana kropka 4

Rodzaj c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe

jeśli wbudowany 2-punktowy

Rodzaj c:\windows\microsoft.net\framework\v2.0.11319\installutil.exe


0

1. Z menu Start wybierz katalog Visual Studio, a następnie wybierz Wiersz polecenia programisty dla VS.

2. Pojawi się wiersz poleceń programisty dla programu Visual Studio.

3. Uzyskaj dostęp do katalogu, w którym znajduje się skompilowany plik wykonywalny projektu.

4. Uruchom InstallUtil.exe z wiersza polecenia z plikiem wykonywalnym projektu jako parametrem


-1

Powinieneś otworzyć wiersz polecenia, przejdź do

C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"


-1

Otwórz wiersz polecenia jako administrator, przejdź do folderu, w którym się .exeznajdujesz. Aby zainstalować Exejako usługę

D:\YourFolderName\YourExeName /i

Aby odinstalować użyj /u.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.