2009-08-31 21 views
6

ile yüklendiğinde görünmüyor VS.net 2008 ve VB.net'de geliştirilmiş basit bir Windows hizmetim var. Komut isteminden Installutil.exe aracını kullanarak hizmeti yüklediğimde, bir çekicilik gibi çalışıyor. Windows Hizmeti, Kurulum projesi

Ben başarıyla yüklü diyor olsa bir kurulum projesi ekleyip çıkışını ayarlamak ve kurmak ve yüklemeye çalışırken

, bu hizmetlerde görünmüyor.

Olay günlüğü, başarıyla yüklendiğini gösterir. Sadece kayıt defterini kontrol ettim, montajları HKEY_CURRENT_USER \ Software \ Microsoft \ installer \ assemblies dizinine yerleştirdim.

Ancak neden hizmet listelerinde görünmediğini anlamıyorum. Yeniledim ve yeniden başlattım.

Herhangi bir düşünce?

Teşekkür

cevap

1

fikirlerin bir çift:

aynı Windows altında tesis ediyorsunuz siz altında çalıştırmak çalışıyorsunuz hesabında? Kur Project'in "InstallAllUsers" özelliği true olarak ayarlanmış mı?

Kurulum Projesi kümesinde ProductName ve Title özelliklerine sahip olduğunuzdan emin misiniz? Belki de servis, listede farklı bir ad, yani "SetupProject1" veya bir şey altında gösteriliyordur.

Benzer şekilde, sizin servisin ProjectInstaller sınıfında, tasarım görünümünde, serviceInstaller özelliklerine bakıp ServiceName ve DisplayName özelliklerini istediğini ayarlı olduğundan emin olun.

+0

Teşekkürler. InstallAllUsers'ı doğru olarak kontrol ettim ve ürün adı ve başlığı doğru. Serviceinstaller'de bile doğru. Makinemi bile yeniden başlattım. Eventlog, hizmetin başarıyla yüklendiğini gösterir. –

+1

Bu adım gerçekten sorunu çözmemde bana yardımcı olmadı, aşağıdaki satırda yazan çözüm benim durumumdaki eksik adımdı – Sanket

11

Bulunan Sen MSI projede bir özel eylem eklemek zorunda çözüm. Özel işlemlerde, hizmetinizin çıktısını Yükleme bölümüne ekleyin. Bu, servisiniz için gereken kurulum kodunu çalıştırır. yani InstallUtil.exe tüm yardım

+1

"Kaldırma" bölümünde aynı şeyi yapmayı unutma, aksi halde yazılımı kaldırmak "hayalet "Orada servis. – andrecarlucci

+0

Bunu da yaptım. Yazılım doğru yerlere kopyalanır, ancak hizmet listede görünmez. –

+0

Hizmet projesinin içindeki hizmet için bir yükleyici oluşturduğunuz adımı atladım. http://msdn.microsoft.com/en-us/library/zt39148a(v=VS.100).aspx –

6

için

Teşekkür ne ben aynı problem vardı ve Kurulum proje oluşturma ÖNCE kısmına dikkat etmedi aynı. http://msdn.microsoft.com/en-us/library/zt39148a(v=VS.100).aspx

Solution Explorer'da hizmetinizdeyiz

için montajcılar oluşturmak için, Service1.vb veya Service1.cs sağ tıklayın ve Görünüm Tasarımcısı seçin.

İçindekilerden herhangi birinin yerine hizmetin kendisini seçmek için tasarımcının arka planını tıklatın.

Tasarımcıda odakla sağ tıklatın ve sonra Yükleyici Ekle'yi tıklatın.

Varsayılan olarak, iki yükleyici içeren bir bileşen sınıfı projenize eklenir. Bileşen, ProjectInstaller olarak adlandırılır ve içerdiği yükleyiciler, hizmetinizin yükleyicisidir ve hizmetin ilişkili işlem için yükleyicidir.

ProjectInstaller için Tasarım görünümünde ServiceInstaller1 veya serviceInstaller1'i tıklatın.

Özellikler penceresinde, ServiceName özelliğinin MyNewService olarak ayarlandığından emin olun.

StartType özelliğini Otomatik olarak ayarlayın. tasarımcı olarak

, (Visual C# projesi için) (a Visual Basic projesi için) ServiceProcessInstaller1 veya serviceProcessInstaller1 tıklayın. Hesap özelliğini LocalSystem olarak ayarlayın. Bu, hizmetin yüklenmesine ve bir yerel hizmet hesabında çalışmasına neden olur.

+0

Bu nihayet benim için (doğru servis adını almak için) çözdüm ama aynı zamanda özel eylemi satır izi ile açıklandığı gibi eklemeliydi, aksi halde hiçbir hizmet görünmedi –

+0

Büyük cevap. Benim için de çözüldü –

İlgili konular