2010-07-02 1 views
1

Есть ли способ установить услуги удаленно, не обязательно прибегая к пакетам .msi или полномасштабным установщикам? Я в настоящее время использую метод, аналогичный рассмотренные здесь:Установка удаленных служб

How to install a windows service programmatically in C#?

установить службу локально, и она отлично работает. Тем не менее, я также должен иметь возможность делать то же самое удаленно. Я ценю любое понимание.

ответ

4

Если вы можете скопировать служебный двоичный файл (exe-файл) на конечный компьютер, вы можете установить службу точно так же, как это делается локально. Единственное отличие заключается в том, что при использовании функции OpenSCManager (см. http://msdn.microsoft.com/en-us/library/ms684323.aspx) вы должны использовать целевой компьютер в качестве первого параметра (lpMachineName) и в CreateService (см. http://msdn.microsoft.com/en-us/library/ms682450.aspx) в качестве lpBinaryPathName, вы должны поместить путь к вашему сервису exe, как он выглядит на удаленном компьютере.

Вы можете использовать утилиту sc.exe для установки (введите «sc create /?» В командной строке, чтобы получить справку). Удаленная установка службы, которую вы можете сделать с помощью sc.exe, которую вы можете реализовать с помощью собственного API Windows, как я объяснил выше.