Путаница при установке службы Windows с помощью командной строки - PullRequest
1 голос
/ 09 ноября 2008

Я разработал простую службу Windows в .NET 2.0.

Я пытаюсь развернуть его на моей локальной машине. Я переключился в режим конструктора и настроил объекты ServiceInstaller и ServiceProcessInstaller. Есть установщик проекта. Я также обернул Windows Service в проект установки .NET и установил его, оставив .exe в указанном каталоге.

Я запустил cmd и ввел путь к installutil. Это работает нормально, но затем я набираю installutil и полный путь к службе в командной строке Visual Studio, и это не работает (я также пробовал installutil / i и все виды вещей из отчаяния). Разрешения локальной системы (расширенные).

Есть идеи, что я делаю не так? Для тех, кто здесь установил Windows Services, какова была ваша методология установки службы?

Спасибо

Ответы [ 4 ]

2 голосов
/ 09 ноября 2008

Мы фактически создаем установщик, встроенный в наше приложение. Это консольное приложение с командной строкой для установки / удаления сервера, а также для запуска в качестве службы или в режиме консоли.

См. Эту статью на Самостоятельной установке службы для некоторых деталей. Мне нравится этот метод, поскольку он обеспечивает гибкость.

1 голос
/ 09 ноября 2008
DESCRIPTION:
        SC is a command line program used for communicating with the
        NT Service Controller and services.
USAGE:
        sc  [command] [service name]  ...

        The option  has the form "\\ServerName"
        Further help on commands can be obtained by typing: "sc [command]"
        Commands:
          query-----------Queries the status for a service, or
                          enumerates the status for types of services.
          queryex---------Queries the extended status for a service, or
                          enumerates the status for types of services.
          start-----------Starts a service.
          pause-----------Sends a PAUSE control request to a service.
          interrogate-----Sends an INTERROGATE control request to a service.
          continue--------Sends a CONTINUE control request to a service.
          stop------------Sends a STOP request to a service.
          config----------Changes the configuration of a service (persistant).
          description-----Changes the description of a service.
          failure---------Changes the actions taken by a service upon failure.
          qc--------------Queries the configuration information for a service.
          qdescription----Queries the description for a service.
          qfailure--------Queries the actions taken by a service upon failure.
          delete----------Deletes a service (from the registry).
          create----------Creates a service. (adds it to the registry).
          control---------Sends a control to a service.
          sdshow----------Displays a service's security descriptor.
          sdset-----------Sets a service's security descriptor.
          GetDisplayName--Gets the DisplayName for a service.
          GetKeyName------Gets the ServiceKeyName for a service.
          EnumDepend------Enumerates Service Dependencies.

        The following commands don't require a service name:
        sc   
          boot------------(ok | bad) Indicates whether the last boot should
                          be saved as the last-known-good boot configuration
          Lock------------Locks the Service Database
          QueryLock-------Queries the LockStatus for the SCManager Database
EXAMPLE:
        sc start MyService
0 голосов
/ 09 ноября 2008

Я звоню installutil в моем установочном пакете, и он прекрасно работает у меня.

Было бы замечательно, если бы вы опубликовали сообщение об ошибке, которое появляется при запуске installutil.

0 голосов
/ 09 ноября 2008

Вот еще одна ссылка, относящаяся к сервисам .NET.

http://bytes.com/forum/thread739857.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...