![]() |
Создание служб в ручную
Как создать службу без сторонних программ?
Вот я, например, взял программу для создания служб, отследил изменения в реестре, по изменениям экспортировал все значения. После этого удалю ту же службу(через ту же программу) запускаю .reg файл и не удается записать в реестр по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_<название службы> и HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceCurrent. Может надо по определённой последовательности записывать значение в реестр? Или можно создать через командную сроку? Не большая сатья по "SC CREATE" Примеры: sc \\myserver create NewService binpath= "c:\windows\system32\NewServ.exe" \\myserver - задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC ("\\myserver"). sc create NewService binpath= "c:\windows\system32\NewServ.exe" type= share start= auto depend= "Service" Служба находится на вашем компьютере. type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}} - Указывает тип службы. Тип по умолчанию type= own. own - Служба выполняется в собственном процессе. Она не использует исполняемый файл совместно с другими службами. share - Служба выполняется как общий процесс. Она использует исполняемый файл совместно с другими службами kernel - Драйвер filesys - Драйвер файловой системы rec - Драйвер, определяющий файловую систему (указывает файловые системы, используемые на компьютере) interact - Служба может взаимодействовать с рабочим столом, получая входные данные от пользователей. Интерактивные службы должны выполняться с системной учетной записью. Этот тип должен использоваться вместе с type= own или type= shared (например, type= interact type= own). Самостоятельное использование типа type= interact приведет к ошибке недопустимого параметра. start= {boot|system|auto|demand|disabled} - Указывает тип запуска для службы. Тип запуска по умолчанию start= demand. boot - Драйвер устройства, который загружается загрузчиком системы system - Драйвер устройства, который запускается при инициализации ядра auto - Служба, которая автоматически запускается при каждой перезагрузке компьютера и даже в том случае, если на компьютер не вошел ни один пользователь demand - Служба, которая должна запускаться вручную. Это значение используется по умолчанию, если не указан параметр start= disabled - Служба, которую нельзя запустить. Чтобы запустить отключенную службу, выберите другой тип запуска error= {normal|severe|critical|ignore} - Указывает серьезность ошибки, если служба не запускается при загрузке. Значение параметра по умолчанию error= normal. normal - Ошибка записывается в журнал и выводится окно сообщения, информирующее пользователя об отказе при запуске службы. Запуск будет продолжен. severe - Ошибка заносится в журнал (если это возможно). Компьютер пытается перезагрузиться в последней удачной конфигурации. Компьютер можно будет перезагрузить, но выполнить службу, возможно, не удастся. critical - Ошибка заносится в журнал (если это возможно). Компьютер пытается перезагрузиться в последней удачной конфигурации. Если имеет место отказ последней правильной конфигурации, запуск также приведет к отказу и процесс загрузки остановится на ошибке. ignore - Ошибка заносится в журнал и запуск продолжается. Ошибка записывается в журнал ошибок и другие уведомления пользователю не выводятся. binpath= имя двоичного пути Указывает путь в двоичном файле службы. Значение по умолчанию для параметра binpath= не задано. Эту строку необходимо указать. group= группа порядка загрузки Указывает имя группы, членом которой является эта служба. Список групп сохраняется в реестре в подразделе HKLM\System\CurrentControlSet\Control\ServiceGroupOrder. Значение по умолчанию является пустым. tag= {yes|no} Указывает, следует ли получить код TagID из вызова CreateService. Теги используются только драйверами, запускающимися при загрузке или запуске системы. depend= зависимости Указывает имена служб и групп, которые должны быть запущены раньше данной службы. Имена разделяются косой чертой (/). obj= {имя учетной записи|имя объекта} Указывает имя учетной записи, для которой будет выполняться служба, или имя объекта драйвера Windows, в котором будет запущен драйвер. displayname= отображаемое имя Определяет понятное, точное имя для службы, которое используется в программах пользовательского интерфейса. password= пароль Задает пароль. Данный параметр требуется при использовании учетной записи, отличной от учетной записи «Локальная система». /? - Отображает справку в командной строке. |
ШУМ, права на раздел реестра проверьте - на разделе правой кл. мыши - Разрешения
|
Действительно помогло, но теперь другой вопрос, мне нужно файл .reg автоматически записывался в реестр, а как можно разрешить права на определённую ветку в реестре автоматически?
|
ШУМ, можно попробовать:
Код:
sc create /? |
ШУМ,
можно порыть тут http://www.yandex.ru/yandsearch?text=srvany.exe http://www.yandex.ru/yandsearch?text=instsrv.exe http://support.microsoft.com/kb/137890 Цитата:
Цитата:
Там все будет написано... |
Спасибо, разобрался через командную строку.
|
ШУМ, для пометки темы решенной следует использовать пункт "Настройки темы", а не изменять название.
|
Котяра, :ok:
|
Время: 08:40. |
Время: 08:40.
© OSzone.net 2001-