OK
Published on

Geliştirdiğim bir windows servisini nasıl yüklerim?

Authors
  • avatar
    Name
    Oğuzhan Kırçalı
    Twitter

Bir kodun 7/24 çalışır durumda olması beni hep heyecanlandırmıştır. Windows servisleri, zamanlanmış görevler veya IIS'deki web uygulamasında kullanılan HangFire gibi üçüncü parti ürünler bu işler için tasarlanmıştır. Bir windows servisi bilgisayara yüklerken hata silsilesi ile karşılaşınca bu adımları paylaşmak istedim. Bu denemelerimde kullanıcı hatası, yetkisiz giriş, hesaplar arasında mapping yok gibi uyarılar aldım. Sonunda windows servisi kurabildim.

Yeni bir windows service projesini oluşturduktan sonra Service1’e çift tıklayıp tasarım moduna gelin. Boş bir yere sağ tıklayıp add installer ‘ı seçin. ProjectInstaller.cs diye bir dosyayı projenize ekleyecektir. Çift tıklayın. serviceProcessInstaller1 ve serviceInstaller1 diye iki yükleyicinin eklendiğini göreceksiniz.

  1. serviceProcessInstaller1’e sağ tıklayıp Properties’i seçin. Account bölümünü LocalService olarak ayarlayın.

  2. serviceInstaller1’e sağ tıklayıp Properties’i seçin. StartType’ı Automatic seçin.

Şimdi projeyi build edip yönetici modda çalıştırılmış olan Developer Command Prompt’a aşağıdaki script’i yazın.

installutil C:\——-proje_yolu——-\bin\Debug\servisiniz.exe

Yukarıdaki exe dosyası, projenizi build ettiğinizde oluşacaktır.

Bu işlemlerden sonra başlat’a services.msc yazarak yüklenip yüklenmediğini görebilirsiniz. Güncelleme yaptıkça service yeniden yüklemeniz gerekecektir. Bunun içinde silmeniz gerekecektir. Silmek için yükleme komutuna /u parametresini eklemeniz yeterlidir.

Bazen silme komutunu çalıştırınca hata alabilirsiniz. Servisi durdurduktan sonra silmeyi deneyebilirsiniz.

installutil /u C:\——-proje_yolu——-\bin\Debug\servisiniz.exe