Makale numarası: 317421 - Son Gözden Geçirme: 26 Haziran 2008 Perşembe - Gözden geçirme: 9.1

Nasıl yapılır: Visual Basic 2005 veya Visual Basic. NET'te Windows hizmeti için bir kurulum projesi oluşturun.

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Bu makalenin Microsoft Visual C# .NET sürümü için bkz: 816169  (http://support.microsoft.com/kb/816169/ ) .

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Bu makalede, bir Kur projesi için bir Windows hizmeti uygulaması oluşturma anlatılmaktadır. ("NT hizmeti olarak." Windows hizmeti önceden biliniyordu) Bunu yapmak için <a0></a0>, önce basit bir Windows hizmeti içeren bir çözüm oluşturmalısınız proje. Bu proje girişi uygulama günlüğüne yazar. Bir Kur eklediğiniz sonra proje için bir çözüm bir Windows hizmetini yüklemeniz. Son olarak, Visual Studio .NET Server Explorer içinde hizmetini başlatın.

Gereksinimler

Aşağıdaki listede, gereksinim duyacağınız donanım, yazılım, ağ altyapısı ve hizmet paketleri önerilmektedir:
  • Microsoft Windows Server 2003, Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows XP Professional veya Microsoft .NET Framework ile birlikte Microsoft Windows XP Server
  • Microsoft Visual Studio .NET Enterprise Edition'ı, Visual Studio .NET Enterprise Architect sürümü veya Microsoft Visual Studio 2005
Bu makalede, Windows Services genel bir benzerlik olduğunu varsayar. Windows Hizmetleri ile tam olarak bilmiyorsanız, "References" içindeki ilk başvuru Bkz: bölüm.

Bu makalede, ayrıca yüklemek ve bu hizmeti çalıştırmak için kullandığınız kullanıcı hesabının yüklemek ve hizmetlerini başlatmak için gerekli izinlere sahip olduğunu varsayar. Kullanıcı hesabının da, olay günlüğüne erişmek için gerekli izinleri olmalıdır.

Bir Windows hizmeti için bir kurulum projesi oluşturun

Bu bölüm, bir Windows hizmeti projesi oluşturma ve derlenmiş bir kurulum projesi Windows hizmeti yüklemek için nasıl kullanılacağını açıklar.

Bir Windows hizmeti projesi oluşturun.

  1. Başlat ' ı tıklatın, Programlar ' ın üzerine gelin, Visual Studio.NET veya Visual Studio 2005 ' in üzerine gelin ve sonra Visual Studio.NET veya Visual Studio 2005 ' i tıklatın.
  2. Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın.
  3. Yeni proje) iletişim kutusunda, aşağıdaki adımları izleyin:
    1. Altında Project Types, Visual Basic Projects ' ı tıklatın veya Visual Basic altında Windows ' u tıklatın.
    2. Şablonları altında Windows Service ' ı tıklatın.
    3. Ad kutusuna LogWriterService yazın.
    4. Konum kutusundaki C:\ yazın ve Tamam ' ı tıklatın.
  4. Solution Explorer'da (Çözüm Gezgini), Service1.vb ' ı sağ tıklatın ve Kod Görüntüle</a1>'ı tıklatın.
  5. OnStart olay işleyicisinde açıklamaları aşağıdaki kodla değiştirin.
    EventLog.WriteEntry("My simple service started.")
  6. Solution Explorer'da Service1.vb çift tıklatın.
  7. Özellikler iletişim kutusunda Ekle ınstaller ' ı tıklatın.
  8. ServiceName özelliği, Serviceınstaller1 Özellikler iletişim kutusunda LogWriterService için değiştirin.
  9. Tasarım görünümünde Serviceprocessınstaller1 Kod Düzenleyicisi'ni tıklatın.
  10. Özellikler iletişim kutusunda, LocalSystemhesabı özelliği değiştirin. Değer LocalService ve NetworkService değeri yalnızca Microsoft Windows XP ve sonraki işletim sistemlerinde kullanılabilir.

Windows hizmeti yüklemek için Kur'un proje derlenmiş kullanın.

Windows hizmeti projesi yapılandırmak için "bir Windows hizmeti projesi oluşturma" bölümündeki adımları tamamladıktan sonra hizmet uygulaması olarak yüklenebilir, hizmetin uygulama paketleri dağıtım proje ekleyebilirsiniz. Bunu yapmak için şu adımları izleyin:
  1. Yeni bir proje LogWriterService Projenize eklemek.
    1. Solution Explorer'da (Çözüm Gezgini), 'LogWriterService' Solution ' ı sağ tıklatın, sonra da Ekle işaret ve Yeni bir proje ' ı tıklatın.
    2. Project Types altında Kur ve dağıtım projeleri veya kurulumu ve dağıtımı'nı tıklatın.
    3. Şablonları altından, Kur'un Proje'yi tıklatın.
    4. Ad kutusuna ServiceSetup yazın.
    5. Konum kutusundaki C:\ yazın ve Tamam ' ı tıklatın.
  2. Hangi dağıtım proje paketini dağıtım proje söyleyin.
    1. Solution Explorer'da (Çözüm Gezgini), ServiceSetup sağ tıklatın, sonra da Ekle işaret ve Project çıkış ' ı tıklatın.
    2. Project çıktı Grup Ekle iletişim kutusunda <a0>Proje</a0> kutusundaki LogWriterService ' ı tıklatın.
    3. Birincil çıkış ' ı tıklatın ve sonra Tamam ' ı tıklatın.
  3. Doğru yüklenebilmesi için yalnızca birincil çıktı eklemek gerekir. Özel eylemler eklemek için aşağıdaki adımları izleyin:
    1. Solution Explorer'da (Çözüm Gezgini), ServiceSetup sağ tıklatın, sonra da Görünüm ' ün üzerine gelin ve Özel eylemler</a1>'ı tıklatın.
    2. Özel eylemler ' ı sağ tıklatın ve sonra da Özel eylem Ekle'yi tıklatın.
    3. Application klasörü ' ı tıklatın ve sonra Tamam ' ı tıklatın.
    4. Tıklatın birincil LogWriterService çıktı (Active) ve sonra Tamam ' ı tıklatın. Birincil çıkışyükleme, tamamlama, ROLLBACK ve Kaldır altında görüntülendiğine dikkat edin.
  4. Varsayılan olarak, Kur projeler oluşturma yapılandırmasında dahil edilmez. Çözüm oluşturmak için <a0></a0>, aşağıdaki adımları izleyin:
    1. Aşağıdaki yöntemlerden birini kullanın:
      • LogWriterService ' ı sağ tıklatın ve sonra da <a2>Oluştur</a2>'ı tıklatın. Daha sonra ServiceSetup sağ tıklatın ve sonra da <a2>Oluştur</a2>'ı tıklatın.
      • Aynı anda tam çözümü oluşturmak için <a0></a0>, Yapı) menüsünde Configuration Manager ' ı tıklatın ve sonra ServiceSetup için Oluştur onay kutusunu seçmek için tıklatın.
    2. Tam çözümü oluşturmak için CTRL + ÜST KRKT + K tuşlarına basın. Çözüm oluşturulduğunda, bir tam kurulum sahip hizmet paketidir.
  5. Hizmet yüklemek için <a0></a0>, ServiceSetup ' ı sağ tıklatın ve sonra da <a2>Yükle</a2>'yi tıklatın.
  6. ServiceSetup iletişim kutusunda, üç kez ileri ' yi tıklatın. Kur programı, hizmet yüklüyor, ancak bir ilerleme çubuğu görüntülendiğine dikkat edin.
  7. Hizmet yüklendiği zaman, Kapat ' ı tıklatın.

Tam kod listesi (Service1.vb)

Public Class Service1

    Protected Overrides Sub OnStart(ByVal args() As String)
        ' Add code here to start your service. This method should set things
        ' in motion so your service can do its work.
        EventLog.WriteEntry("Mysimple service started")
    End Sub

    Protected Overrides Sub OnStop()
        ' Add code here to perform any tear-down necessary to stop your service.
    End Sub

End Class

(service1.Designer.vb)

Imports System.ServiceProcess

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Service1
    Inherits System.ServiceProcess.ServiceBase

    'UserService overrides dispose to clean up the component list.
    <System.Diagnostics.DebuggerNonUserCode()> _
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        Try
            If disposing AndAlso components IsNot Nothing Then
                components.Dispose()
            End If
        Finally
            MyBase.Dispose(disposing)
        End Try
    End Sub

    ' The main entry point for the process
    <MTAThread()> _
    <System.Diagnostics.DebuggerNonUserCode()> _
    Shared Sub Main()
        Dim ServicesToRun() As System.ServiceProcess.ServiceBase

        ' More than one NT Service may run within the same process. To add
        ' another service to this process, change the following line to
        ' create a second service object. For example,
        '
        '   ServicesToRun = New System.ServiceProcess.ServiceBase () {New Service1, New MySecondUserService}
        '
        ServicesToRun = New System.ServiceProcess.ServiceBase() {New Service1}

        System.ServiceProcess.ServiceBase.Run(ServicesToRun)
    End Sub

    'Required by the Component Designer
    Private components As System.ComponentModel.IContainer

    ' NOTE: The following procedure is required by the Component Designer
    ' It can be modified using the Component Designer.  
    ' Do not modify it using the code editor.
    <System.Diagnostics.DebuggerStepThrough()> _
    Private Sub InitializeComponent()
        components = New System.ComponentModel.Container()
        Me.ServiceName = "Service1"
    End Sub

End Class

Windows hizmeti çalıştığını doğrulayın.

  1. Başlat ' ı tıklatın, Denetim Masası ' nın üzerine gelin, Yönetimsel Araçlar ' ın üzerine gelin ve sonra Hizmetler'i tıklatın.
  2. LogWriterService ' ı sağ tıklatın ve sonra da <a2>Başlat</a2>'ı tıklatın.
  3. Olay günlüğüne bir olay günlüğe kaydedilir doğrulamak için <a0></a0>, aşağıdaki yöntemlerden birini kullanın:
    • Başlat ' ı tıklatın, Denetim Masası ' nın üzerine gelin, Yönetimsel Araçlar ' ın üzerine gelin ve sonra da Olay Görüntüleyicisi ' ni tıklatın. Sol bölmede, Uygulama günlüğü ' nü tıklatın. Sağ bölmede, hizmetiniz için olay günlüğünü bulun.
    • Server Gezgini'nde Servers ' ı genişletin, ComputerName ' nı genişletin, olay günlükleri ' ni genişletin, Uygulama genişletin ve Service1 ' ı genişletin. Service1 sınıfın adını ve hizmetin adı olduğunu unutmayın. Bu nedenle, Service1 uygulama adı kullanılır. (Adlarını özelleştirme açıklamak için bu makalenin kapsamı dışındadır olarak.) Günlük girdilerle imleci taşıyın. Üstten ikinci giriş şudur:

      Basit hizmetime başlatıldı

SORUN GİDERME

Framework SDK belgelerine aşağıda belirtilmiştir:
Proje anlamlı bir şekilde çalışması için önce bir <a0>Hizmet</a0> uygulama proje derlenmiş yürütülebilir dosyasını sunucu üzerinde yüklü olmalıdır. Hata ayıklama açamıyor veya F5 veya F11 tuşuna basarak, bir hizmetin uygulama çalıştırın; koduna, hemen bir hizmet veya adım çalıştıramazsınız. Bunun yerine, yüklemeli ve hizmetinizi başlatın ve sonra bir hata ayıklayıcı, hizmetin işleme ekleyin.
Daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn.microsoft.com/en-us/library/aa984342(VS.71).aspx (http://msdn.microsoft.com/en-us/library/aa984342(VS.71).aspx)

Referanslar

Nasıl yükleyeceğinizi, sınama ve hizmeti hata ayıklama gösteren yararlı bir Windows hizmeti nasıl oluşturulacağı hakkında bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/Aa983650(VS.71).aspx (http://msdn2.microsoft.com/en-us/library/Aa983650(VS.71).aspx)
Daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn.microsoft.com/msdnmag/issues/01/12/NETServ/default.aspx (http://msdn.microsoft.com/msdnmag/issues/01/12/NETServ/default.aspx)

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic 6.0 Standard Edition
  • Microsoft Visual Basic 2008 Express Edition
Anahtar Kelimeler: 
kbmt kbvs2005applies kbvs2005swept kbhowtomaster KB317421 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:317421  (http://support.microsoft.com/kb/317421/en-us/ )