ScottTxの答えに追加するために、Microsoftの方法でサービスを開始する場合の実際のコードを次に示します(つまり、セットアッププロジェクトを使用するなど)。
(VB.netコードを失礼しますが、これは私が行き詰まっているものです)
Private Sub ServiceInstaller1_AfterInstall(ByVal sender As System.Object, ByVal e As System.Configuration.Install.InstallEventArgs) Handles ServiceInstaller1.AfterInstall
    Dim sc As New ServiceController()
    sc.ServiceName = ServiceInstaller1.ServiceName
    If sc.Status = ServiceControllerStatus.Stopped Then
        Try
            ' Start the service, and wait until its status is "Running".
            sc.Start()
            sc.WaitForStatus(ServiceControllerStatus.Running)
            ' TODO: log status of service here: sc.Status
        Catch ex As Exception
            ' TODO: log an error here: "Could not start service: ex.Message"
            Throw
        End Try
    End If
End Sub
上記のイベントハンドラーを作成するには、2つのコントロールがあるProjectInstallerデザイナーに移動します。ServiceInstaller1コントロールをクリックします。イベントの下のプロパティウィンドウに移動すると、AfterInstallイベントが見つかります。
注:上記のコードをServiceProcessInstaller1のAfterInstallイベントの下に配置しないでください。経験上、うまくいきません。:)