2009-07-01 28 views
13

Amaç:Windows Hizmet Adı belirleyin

  1. kullanıcı girişi alma: Tek bir makinede birden çok örneğini de olabilir, Windows Service destek olarak, bir MSI yeteneğine oluşturmak için bir Kur Project kullanmak 1'den Hizmet adı
  2. yükleme hizmeti için
  3. Dizgeleştirme Servis adı My ilk umut Servisi belirlemekti

(böylece uygun ad kaydı ve kaldırma kullanılabilir) App.config dosyasında (ve sonra ServiceInstaller'ın başlatılması üzerine kaldırma işlemi sırasında onu geri alın). Bu naif görünüyor, çünkü kurulum sırasında erişilebilir değil.

Eğer MyInstaller Installer'ı genişletirse, base.Install(); ancak, benim app.config (MyInstaller.Install() içinde ve base.Install()) sonra yazma girişimlerimi etkisizdir.

Bu nedenle, hizmet özel bir Hizmet Adı ile kurulabilirken, bu adın serileştirilmemesi ve yükleyicinin en çok kaldırma işleminden memnun olması.

Bu nasıl yapılmalı?

cevap

9

Yükleyici eylemlerine parametreler belirtebilirsiniz, bu nedenle hizmet adını toplayın ve eylemin parametresi olarak iletin. Ardından, Installer sınıfında, Install()'u geçersiz kılabilir ve base.Context.Parameters aracılığıyla erişebilirsiniz. Değeri böyle alırsın. Bu değeri elde ettikten ve kullandıktan sonra, stateSaverIDictionary parametresine koyun, böylece Uninstall()'u geçersiz kılarsanız, yükleme sırasında hangi değerin kullanıldığını öğrenebilirsiniz. Düz sitede gizli

+0

gizli! teşekkürler Neil. –

+2

örnek kod verebilir misiniz? –

+2

Ikinci Lucas! :-) – Junto

İlgili konular