|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
службу устанавливал батником C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe C:\Srvc_MOF_Slime_Total_Production\Srvc_MOF_Slime_Total_Production\bin\Debug\Srvc_MOF_Slime_Total_Production.exe pause пытаюсь батником ее перезапустить net stop "ServiceMOFSlimeTotal"; sc start "ServiceMOFSlimeTotal"; pause остановить он её может. а вот запустить уже нет. как решить? net start не работает ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 09:14 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
DoomUnitостановить он её может. а вот запустить уже нет. как решить? У любого NT Service есть DACL -таблица где расписаны права для пользователей/ групп пользователей (также как и для файлов/папок и для ключей реестра) Скорее всего у текущего пользователя отсутствует право SERVICE_START. Проверь под админом. DoomUnitкак решить? Либо под админом запускать (хотя в общем случае у него тоже может не быть прав). Если для штатного пользователя, я даже не знаю как это ручками делается, скорее всего есть какая-то утилита, кот. надо запускать под админом. Если по документации MSDN-Windows, то типа так (чтоб представлял сложность задачи): Ниже пример кода API-VB6, в .Net я это еще не разбирал: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107.
Есть ли в .Net соответствующие классы для Service, и насколько они неглючные/удобные я еще не выяснял. Задача кстати на очереди в ближайшие дни. Ты б выяснил "на пальцах" хоть как-то сначала что у тебя не хватает (кто владелец сервиса, какие у кого права, под каким аккаунтом запускаешь). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 10:50 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
млин я уже с таким сталкивался (я про рестарт). там работало на ура. но есть нюанс - там я использовал установочник visual studio. и батник лежал в папке с программой (в программ файлс). а тут я примонтировал сервис силами InstallUtil. кст система - WinServer 2003. сама служба запущена от локальной системы. а про права - если бы прав текущему пользователю не хватало (сижу под админом), то ему бы не хватало прави остановить сервис. а ошибка видать от того что сервис нужно стандарными средствами ставить и батник ему в папку кидать. еще видел способ с использованием sc create. но это уж совсем для отмороженных ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 11:09 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
так опять же службу же видно в службах. нужно как то путь указать ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 11:13 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
DoomUnit, >а про права - если бы прав текущему пользователю не хватало (сижу под админом), то ему бы не хватало прави остановить сервис. Вообще-то SERVICE_START и SERVICE_STOP - это разные права доступа, твое утверждение в общем случае неверно. И если ты админ, это еще в общем случае не значит, что у тебя есть права на что-то. Владельцем объекта может быть напр. TrastedInstaller, а у админа при этом права только на чтение. >для отмороженных Ну, либо ты себя морозишь и разбираешься со всеми ньюансами, хотя бы применительно к твоей задаче, либо ты смотришь глазами недоуменного пользователя и плюешься. Я тебе совет дал: найди любой способ посмотреть права на объект. К сожалению сделать это как с файлами и папками через свойства - безопасность нельзя. Ну, м.б. у тебя какой другой глюк, кто его знает. Но я бы не принебрег проверкой прав. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 12:14 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
ну тогда есть ли разница прав у командной строки и батника? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 12:22 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77, кстати есть одна фича веселая :) для службы можно задать пустые права, то есть права доступа для изменения прав службы и прочего не будет ни у кого, даже у систем. Вернуть обратно штатными средствами я так и не понял как. Можно только сбросить ACL для всех служб по умолчанию. сбрасывал через subinacl /perm с соответствующим ключам и именем службы, по крайней мере так было в XP =) и 7 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 12:35 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
DoomUnit, зависит из какого "окружения" они были запущены и с какими права. если ты запустил просто батник и запустил командную стоку с повешенными правами это имеет существенную разницу :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 12:38 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
net stop "ServiceMOFSlimeTotal" net start "ServiceMOFSlimeTotal" pause без точек с запятой ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 12:45 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
DoomUnit, по поводу как посмотреть-поменять права вот наверно разжевано: Раздаем права на запуск/остановку сервисов под Windows вообще ощущение, что в чем-то другом проблема. Когда нет прав, увидишь следующее: Системная ошибка 5. Отказано в доступе. И никакого Start_Pending не увидишь. Че-то ты глючное поставил, что запуститься никак не может. >net stop "ServiceMOFSlimeTotal"; >sc start "ServiceMOFSlimeTotal"; А че за манера использовать две разные утилиты, когда одной достаточно. Хотя на результат не влияет. >если ты запустил просто батник и запустил командную стоку с повешенными правами это имеет существенную разницу Не на 2003-м сервере, когда он сидит на нем с правами администратора. На Vista - 7-8-8.1, Server 2008-2008R2-2012-2012R2 -да. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 13:48 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
net stop "ServiceMOFSlimeTotal" net start "ServiceMOFSlimeTotal" pause без точек с запятой ------------------------- это и есть решение ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 14:05 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Чтоб тем не плодить. Правильно понимаю что в .Net есть RegistrySecurity Class FileSecurity Class Но нету аналога для NT Service? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 18:19 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Знаете, Дмитрий, я уже не один год разрабатываю сервисы и вообще пишу на .net, но ваши вопросы ставят меня в тупик. Мне ни разу не приходилось сталкиваться с проблемами, которые вы тут постите на форуме. Ваши темы - это какой-то глоток новизны на этом форуме. Не то, чтобы сильно полезной и актуальной, но новизны - это точно :-) По сабжу: если речь идет о самописной службе, а не чужой, проще написать экзешник, который умеет сам себя инсталлировать и деинсталлировать, а под кем запускаться - решается установкой соответствующих свойств в инсталлерах (ServiceInstaller, ServiceProcessInstaller) - 11611062 . Главное - чтобы пользователь, который запускает экзешник, имел право на А управлять службами можно с помощью ServiceController ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 18:30 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Arm79, >если речь идет о самописной службе, а не чужой считайте что чужой -произвольной уже установленной в системе -назовем ее так >А управлять службами можно с помощью ServiceController Start/Stop -да, если есть права А я спрашиваю как раз о правах, т.е. об объектах безопасности. В API как раз с этим проще - т.е. модель универсальна, а различия только в типах объектов. SE_OBJECT_TYPE enumeration А модель универсальна. В .Net есть отдельные классы-обертки (для отдельно взятого типа объекта): RegistrySecurity Class FileSecurity Class А вот ServiceSecurity Class что-то я не вижу, про него и был вопрос. Но видимо такого нет, иначе б был здесь: System.Security.AccessControl Namespace Хотя вижу какие-то общие ObjectSecurity и CommonObjectSecurity но скорее всего это не то. В принципе вопрос можно снимать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 19:31 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77>если речь идет о самописной службе, а не чужой считайте что чужой -произвольной уже установленной в системе -назовем ее так >А управлять службами можно с помощью ServiceController Start/Stop -да, если есть права Я бы начал копать в сторону запуска процессов от имени другого пользователя с гарантированно имеющимися правами, например: ShellExecute(this.Handle, "open", "cmd.exe", @"/k runas /netonly /user:sed@ateks.local /"net start service1"/", null,1); (не мое, и при копировании мог с кавычками накосячить) или через CreateProcessAsUser ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 19:56 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Хотя... NativeObjectSecurity Class ResourceType Enumeration Members Service A Windows service. Надо попробовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 19:59 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Arm79, ну мы о разных вещах говорим. Вы предлагаете делать старт от имени другого пользователя (администратора, например). А я например хочу проверить, может ли данный пользователь ("user") делать этот самый старт сервиса. Или скажем дать этому "user" это самое право. Не понимаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 20:10 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77Arm79, ну мы о разных вещах говорим. Вы предлагаете делать старт от имени другого пользователя (администратора, например). А я например хочу проверить, может ли данный пользователь ("user") делать этот самый старт сервиса. Или скажем дать этому "user" это самое право. Не понимаете? Почему не понимаю, все норм. Вопрос только в том, что .net это приклад, и нет смысла делать с его помощью системные и админские штучки ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 20:23 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Arm79, >net это приклад, и нет смысла делать ну зачем эти отмазки нашел же.. 17112967 чего рассуждать, будем пробовать по делу ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 20:32 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77Хотя... NativeObjectSecurity Class ResourceType Enumeration Members Service A Windows service. Надо попробовать. Если я правильно понял, то готового класса нету, Inheritance HierarchySystem.Object _ System.Security.AccessControl.ObjectSecurity _ _ System.Security.AccessControl.CommonObjectSecurity _ _ _ System.Security.AccessControl.NativeObjectSecurity _ _ _ _ System.IO.Pipes.PipeSecurity _ _ _ _ System.Security.AccessControl.CryptoKeySecurity _ _ _ _ System.Security.AccessControl.EventWaitHandleSecurity _ _ _ _ System.Security.AccessControl.FileSystemSecurity _ _ _ _ System.Security.AccessControl.MutexSecurity _ _ _ _ System.Security.AccessControl.ObjectSecurity(Of T) _ _ _ _ System.Security.AccessControl.RegistrySecurity _ _ _ _ System.Security.AccessControl.SemaphoreSecurity а я должен писать свой: Код: vbnet 1. 2. 3.
По аналогии с готовыми RegistrySecurity Class FileSecurity Class Так? Если да, то как это делается? Опыта нет и рука не набита. Где посмотреть исходники RegistrySecurity/FileSecurity Если можно подскажите на VB.Net а не на C#, синтаксис таки отличается. Ну если есть желание помогать осваивать ваш язык. Если опять тупые дискуссии не по теме, забиваем и оставляю это на API чтоб не тратить время. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 23:32 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77Если я правильно понял, то готового класса нету, пичалька.... а windows.h почему-то всё есть ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 23:40 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77Где посмотреть исходники RegistrySecurity/FileSecurity 1) Можно дизассембляторами, например http://www.devextras.com/decompiler/ 2) Куча исходников .net выложена самим майкрософтом в и-нете, но там на шарпе: http://referencesource.microsoft.com/#mscorlib/system/security/accesscontrol/filesecurity.cs,52b99e3f0aeeb82d ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 23:47 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Изопропилпичалька.... а windows.h почему-то всё есть А причем тут windows.h? Ты мне на .Net разжуй то что я спросил. Или нафига тут сидишь и язвишь с советами что C++ лучше? Вот именно на этом форуме? Через API я тебе сам в 2 щелчка это сделаю и без C++. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 00:07 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77Ты мне на .Net разжуй то что я спросил. Сколько раз можно повторять - неверно выбран инструмент ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 00:09 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
ИзопропилДмитрий77Ты мне на .Net разжуй то что я спросил. Сколько раз можно повторять - неверно выбран инструмент Я не спрашиваю что мне выбирать - молоток или кувалдометр. Я спрашиваю как работает кувалдометр. В данном форуме обсуждают кувалдометр. Так яснее? А молотком я всегда сумею подстучать. Какое отношение вопрос о написании .Net Inherits -класса имеет к windows.h? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 00:30 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77А молотком я всегда сумею подстучать. сомневаюсь ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 00:31 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Arm792) Куча исходников .net выложена самим майкрософтом в и-нете, но там на шарпе: http://referencesource.microsoft.com/#mscorlib/system/security/accesscontrol/filesecurity.cs,52b99e3f0aeeb82d Не,тяжеловато. Не буду я этого делать раз они сами недопилили и времени жалко. Изопропил, я твоей позиции не понимаю. С одной стороны в отличии от многих тут ты вроде как согласен с тем что API это хорошо и .Net (как и любая оберточная система) очень многого не покрывает. То что я не хочу писать API на C++ и прекрасно все это делаю и на VB ты уже наверно понял. Но только зачем влезать с этими подколами, когда я пытаюсь что-то выяснить у людей (которые многие на Native никогда не писали и далеки от этого) именно по .Net - механизмам. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 00:55 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77, поясняю - попытка завернуть всё в net с какого-то момента становится бессмысленной тратой времени ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 00:58 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Изопропил, >попытка завернуть всё в net а я и не пытаюсь сильно. Прикладная часть меня устраивает - не хуже чем VB6. Лучше чем C++. Возможности что он умеет исследую потихоньку. Много может. Но не все и не всегда хорошо. Оптимальный вариант - комбинировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 01:12 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77Оптимальный вариант - комбинировать. да. И аккуратно разделить, а не воевать c P/Invoke ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 01:29 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77Изопропил, >попытка завернуть всё в net а я и не пытаюсь сильно. Прикладная часть меня устраивает - не хуже чем VB6. Лучше чем C++. Возможности что он умеет исследую потихоньку. Много может. Но не все и не всегда хорошо. Оптимальный вариант - комбинировать.может стоило начать со спецификации и понять, что она рассчитана не только под Windows, следовательно не стоит ожидать полного покрытия его API? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 04:37 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
ИзопропилДмитрий77Оптимальный вариант - комбинировать. да. И аккуратно разделить, а не воевать c P/Invoke Я имел ввиду комбинировать в рамках одного проекта и одного языка. Писать на API из VB6/.Net -ну, я не чувствую что я с чем то воюю и пишу в общем-то с удовольствием и относительно быстро, особенно когда результаты радуют, а они обычно радую. Вот в C(++) я бы воевал: со строками, с компилятором из за путаницы в h.-файлах и т.п.... Ты же предлагаешь комбинировать языковую смесь в одном проекте/решении, тут чувствую война и начнется. Нет. И не говори мне про это больше. У меня есть в проекте C++ -компоненты - в том числе написанные мной, но это отдельные exe-шники или dll -и мешать я это не буду. Можно конечно писать свои макрофункции из API в C++, делать dll и использовать ее из VB/.Net, но это будут те же API, только свои. А при том что я прекрасно справляюсь с прямыми вызовами оригинальных, это лишний гимор. У меня в проекте путаницы нет. Все API и макрофункции на их базе в отдельных модулях, и я их подключаю к проекту как "связь". Ну да, на том же языке на котором проект. Кстати это ваше слово P/Invoke мне не очень нравится, если заметил то я все декларации делаю в старом VB6 стиле и без злоупотребления квадратными скобками, словами Marshall, UnManage и DllImport благо VB.Net в отличии от C# это позволяет. Ну единственное, слово Unicode надо не забывать вставлять перед функциями и структурами чтоб строки правильно транслировались. skyANAне стоит ожидать полного покрытия его API? Вот ты мне это говоришь как будто я этого еще не понял. skyANAможет стоило начать со спецификации и понять, что она рассчитана не только под Windows, следовательно ? Вот к чему это говорить? Ради интереса. Много на .Net под линукс написал? Есть тут хоть один человек который хоть что-то написал на .Net не под Win? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 11:44 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77Ты же предлагаешь комбинировать языковую смесь в одном проекте/решении Конечно. Дмитрий77но это будут те же API, только свои. Да. Простые и понятные. Можно COM интерфейсы использовать ( в т ч IDispatch) - тогда и декларации свои писать не придётся. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 11:51 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Дмитрий77Есть тут хоть один человек который хоть что-то написал на .Net не под Win? Да, я :-) Сборщик почты под Mono наваял. С коннектором в MySql, работой с HtmlAgilityPack и парсингом регулярок. Работает :-) Прога мониторит почту, выискивает новые письма, парсит их содержимое (html форма заказов интернет-магазина) и пишет заказы в БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 12:20 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
ИзопропилДмитрий77Ты же предлагаешь комбинировать языковую смесь в одном проекте/решении Конечно. Дмитрий77но это будут те же API, только свои. Да. Простые и понятные. Это точно. Как воткнуть в dll свою API "по образу и подобию"? Как мне написать API-ф-цию чтоб возвращала строку. (ты там тоже учавствовал) Но там была крайняя необходимость. И не забывай еще о том что эти dll в общем случае придется делать в двух вариантах x86 и x64, что добавит гимора, а Win API все задублированы. Я вот счас .Net делаю - совместимость x86/x64 я контролирую, но таки склоняюсь к мысли, что все-таки буду использовать Win32(x86) конфигурацию, уж очень много там ньюансов с Any CPU возникнет. + я буду ссылаться как минимум на одну dll, а ее нет возможности сделать x64. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 12:22 |
|
указанная служба не установлена
|
|||
---|---|---|---|
#18+
Arm79, я просто спросил. Ради интереса. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 12:24 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1402027]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 144ms |
0 / 0 |