Windows komut istemini kullanarak bir Windows hizmeti yüklensin mi?


Yanıtlar:


517

.Net klasörünüzdeki installutil.exe dosyasına gidin (örneğin .net 4 için C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319) ve hizmetinizi yüklemek için aşağıdaki gibi kullanın:

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

35
X64 derlenmiş hizmetse, "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ installutil.exe" kullanın.
nme

20
Tuhaf bir hata alıyorum. RunInstallerAttribute ile ortak yükleyici yok. Evet özniteliği .exe derlemesinde bulunabilir. Yükleyici olmadığı için InstallState dosyasını kaldırın
Nick

1
Merhaba, ben bu çözümü denedim ama "... dosya bulunamadı veya bağımlılıklarından biri" olarak istisna veriyor. Lütfen yardım et.
ShaileshDev

Bütün bunlar ve benimle aynı problemi olan herkes için: Artık tüm yolu buna sokmanıza gerek yok. basit bir installutil.exe "C: \ YourProject.exe" yeterlidir.
Cataklysim

1
@Cataklysim Yol ortamı değişkenine eklemediyseniz, tam yolu kullanmanız gerekir.
BluE

211

SC Create komutunda yanlış bir şey yok. Sadece doğru argümanları bilmeniz gerekir:

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

27
Bu, bir hizmeti yüklemek / değiştirmek / silmek için resmi yolu referans alan tek yanıttır . Dahası, bu, yüklenen .NET Framework'e bağlı değildir ve yalnızca .NET ikili dosyaları ile değil, her türlü dosyayla çalışır.
Alejandro

7
Evet ... bu yüzden bu yaklaşımı sevdim ve tüm çalışmaların herhangi bir .net fw sürümüne ait olabilen exe'ye yapılması gerektiğinden her zaman tavsiye ederim.
Sid

1
bu komutun yalnızca Windows sunucusu (ve bazı eski Windows sürümleri) için kullanılabildiğini belirtmek gerekir. Win 10'un da bir sckomutu var, ancak farklı bir şey, hizmetleri kaydetmek için kullanılamaz.
Kaptan Dashenka

4
"Binpath =" den sonraki boşluğun zorunlu olduğunu unutmayın. @ParamvirSinghKarwal
Urk

1
Bu komutu çalıştırmak için powershell kullanıyorsanız, SC'nin Set-Content için bir takma ad olduğunu unutmayın. SC.exe yazmak sorunu çözecektir.
Jesper Riemer Andersen

84

Dizinin adının benzer bir alanı c:\program files\abc 123varsa, yolun etrafında çift tırnak kullanmanız gerekir.

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

Windows hizmetini komut isteminden yükleme

Aşağıdaki gibi bir bat dosyası ayarlarsanız işleri daha kolay hale getirir,

Örneğin bir hizmet yüklemek için bir "myserviceinstaller.bat" ve " Yönetici Olarak Çalıştır " oluşturun

@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

hizmeti kaldırmak,

İnstallutil komutuna bir -u ekleyin .

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

Aşağıdakileri yapın:

  1. Komut istemini (CMD) yönetici haklarıyla başlatın.
  2. tip c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
  3. Basın returnve işte bu!

Yönetici haklarıyla açmanız önemlidir, aksi takdirde anlamlı olmayan hatalar bulabilirsiniz. Herhangi bir şey alırsanız, önce yönetici haklarıyla açıp açmadığınızı kontrol edin!

Yönetici haklarıyla açmak için 'Komut İstemi'ni sağ tıklayın ve' Yönetici olarak çalıştır'ı seçin.

Kaynak: http://coderamblings.wordpress.com/2012/07/24/how-to-install-a-windows-service-using-the-command-prompt/


11

Kurulum Hizmeti: -

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

Unice yükleyin Sevice: -

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

6

Bu iş parçacığına bir nokta daha eklemeliyim. 64-bitMontajların sürümünü kurmak / kaldırmak 64-bitiçin aracın sürümünü kullanmalısınız . Bir hizmeti yüklemek için komut şu şekilde olmalıdır:

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

ve komutu kaldırmak için:

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

4

Bir oluşturma *.batwindows servis ait yanında dosyayı exedosyası yüklemek için aşağıdaki içerikle:

CLS
ECHO Installing My Windows Service 

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

Bir oluşturma *.batwindows servis ait yanında dosyayı exedosyası kaldırma için aşağıdaki içerikle:

CLS
ECHO Uninstalling My Windows Service 

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

Windows hizmetinizi yüklemek veya kaldırmak için her batdosyayı Yönetici olarak çalıştırın .


2
  1. Windows Komut İstemi'ni şu şekilde çalıştır: Yönetici
  2. bu kodu yapıştırın: cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\ klasöre gitmek için
  3. bunu da düzenleyin ve çalıştırın: installutil C:\ProjectFolder\bin\Debug\MyProject.exe

Not: Kaldırmak için:installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe


2

Visual studio'yu açın ve sekmedeki Windows Serviceşablonu seçerek yeni proje seçin Windows Desktop. Aşağıdaki kodu service_name.cs dosyanıza kopyalayın.

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." });
        }
    }
}

Service_name.cs dosyasına sağ tıklayın ve servis tasarımcısını açın. sağ tıklayın ve seçin Add Installer. sağ tıklayın serviceProcessInstaller1ve özellik değerini olarak Accountolarak UserdeğiştirinLocal System .

static void mainYöntemi Program.csdosyadan kaldır . Daha sonra projenizi kaydedin ve oluşturun.

NOT: git bin\Ddebugproje klasörün klasör. Daha sonra service_name.exedosyanızın özelliklerini açın . CompatibilitySekmeye git . Sonra tıklayın Change Settings For All Users.

Seçeneği seçin Run this program as an administrator.

Şimdi CommandPromt'u Yönetici olarak açmalısınız. Açtıktan sonra dizini InstallUtil.exedosyanızın bulunduğu yere ayarlayın. örneğin: C:\Windows\Microsoft.NET\Framework64\v4.0.30319. şimdi aşağıdaki komutu yazın:

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

Not: -i kurulum içindir ve -u Kurulumdan Çıkarma içindir.

-i sonrası servisinizi kurmak istediğiniz yolu yazın.

şimdi komutu aşağıdaki gibi CommandPromt'a yazın:

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

Not:stop Hizmeti durdurmak için kullanın .

Şimdi aç ViewEventLog.exe. Windows Günlükleri> Uygulama'yı seçin. Burada, hizmeti başlatıp durdurarak Hizmet günlüğünüzü kontrol edebilirsiniz.


2

Powershell kullanıyorsanız ve .NET hizmetini yüklemek istiyorsanız Install-Service'i kullanabilirsiniz. modülünü kullanabilirsiniz. InstalUtil aracı için bir sarıcıdır.

3 komut sunar

  • Install-Service - InstallUtil.exe yolunu çağırır  komutunu
  • Install-ServiceIfNotInstalled - önce Install-Service yöntemini yerine getirmezse servisin kurulu olup olmadığını kontrol eder
  • Uninstall-Service- hizmeti kaldırır. Yürütülebilir dosyanın yolunun HizmetAdı kullanılabilir.

Bu modülün kodu buradan görüntülenebilir


1
  1. komut istemini (CMD) yönetici haklarıyla başlatın.
  2. C: \ windows \ microsoft.net \ framework \ v4.0.30319 \ installutil.exe [exe için windows hizmet yolunuz] yazın
  3. Basın geri dönüşü

1

aşağıdaki kodu kullanarak Hizmeti yükleyip kaldırabilir,

Komut istemini açın ve programı yönetici olarak çalıştırın ve aşağıdaki komutu çalıştırın ve enter tuşuna basın.

Sözdizimi

Yüklemek

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

örneğin: Yolumuz InstallUtil.exe C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe

Kaldırmak için

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

örneğin: Yolumuz InstallUtil.exe -u C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe

daha fazla yardım için aşağıdaki bağlantıyı görebilirsiniz: örnek program


1

Windows Hizmetini dağıtırken adımları izleyin, zaman kaybetmeyin

1- Yönetici hakkı tarafından komut istemini çalıştırın

2- IDE'nizde derleme yaparken serbest bırakma modundan emin olun

3- Proje yükleyicinize tasarım görünümünde bir tür verin

4- Doğrulama türünü duruma göre seçin

5- Yazılım bağımlılıklarından emin olun: Sertifika kullanıyorsanız, doğru şekilde kurun

6- Konsolunuza gidin şunu yazın:

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

kaldırmak için -i c:\kullanabileceğiniz exe yolundan önce gizli bir -i argümanı var-u

7- Günlük dosyasına bakmak için .exe yolunuza bakın. Özelliği gözlemlemek için olay görüntüleyiciyi kullanabilirsiniz


1

Geliştirici komut istemini Yönetici olarak açın ve şuraya gidin:

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

Şimdi yolunu .exeorada olduğun yerde kullan

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

0

derleme sürümünüz ve Visual studio projeniz Biuld dot net 2 veya 4 üzerinde ayarlandığında aynı sürümle yüklendiğinde.

installutilaynı sürümle hizmeti yükle

nokta ağ 4 inşa eğer

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

nokta ağı 2'de inşa edildiyse

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


0

Başlat menüsünden Visual Studio dizinini seçin, ardından VS için Geliştirici Komut İstemi'ni seçin.

Visual Studio için Geliştirici Komut İstemi belirir.

Projenizin derlenmiş yürütülebilir dosyasının bulunduğu dizine erişin.

Komut isteminden InstallUtil.exe dosyasını projenizin yürütülebilir parametresi olarak çalıştırın


-1

Komut istemini açmalısınız,

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


-1

Komut istemini yönetici olarak açın, klasörünüzün bulunduğu Klasörünüze gidin .exe. Yüklemek için Exehizmet olarak

D:\YourFolderName\YourExeName /i

Kaldırmak için kullanın /u.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.