Установка служб Windows выдает ошибку - PullRequest
0 голосов
/ 03 августа 2010

Я создал простую службу Windows на своем локальном ПК и добавил следующий код

 Protected Overrides Sub OnStart(ByVal args() As String)
    Const iTIME_INTERVAL As Integer = 60000      ' 60 seconds.
    Dim oTimer As System.Threading.Timer

    System.IO.File.AppendAllText("C:\AuthorLog.txt", _
        "AuthorLogService has been started at " & Now.ToString())

    Dim tDelegate As Threading.TimerCallback = AddressOf EventAction
    oTimer = New System.Threading.Timer(tDelegate, Me, 0, iTIME_INTERVAL)
End Sub

Protected Overrides Sub OnStop()

End Sub


Public Sub EventAction(ByVal sender As Object)
    System.IO.File.AppendAllText("C:\AuthorLog.txt", _
        "AuthorLogService fires EventAction at " & Now.ToString())
End Sub

Затем я добавил проект установки в это решение и добавил настраиваемое действие (дважды щелкнув папку приложения, затем щелкнув добавить папку вывода, затем выбрав основной вывод в диалоговом окне). Решение строит нормально, но у меня есть 2 проблемы.

1) Каждый раз, когда я устанавливаю сервис, он запрашивает у меня имя пользователя, пароль и подтверждение пароля; Мне было интересно, можно ли было как-то избавиться от этого хотя бы при беге на месте. Я попытался установить тип учетной записи для пользователя, локальный сервис, локальная система и т. Д., Но он продолжает появляться.

2) После ввода учетных данных (случайных) я получаю сообщение об ошибке «Не было сопоставления между именами учетных записей и идентификаторами безопасности».

Пожалуйста, помогите мне

1 Ответ

2 голосов
/ 03 августа 2010

1: вы можете сделать так, чтобы ваш сервис самостоятельно устанавливался, как в этой статье codeproject, а затем просто отправить имя пользователя / пароль, который вы хотите использовать, на ServiceProcessInstaller.

2:Попробуйте ввести учетные данные в другом формате.Если вы используете ". \ User", попробуйте написать "computer \ user" или наоборот.

...