2008-11-06 2 views
2

Я пытаюсь зарегистрировать службу АТЛ используяслужба Атль не регистрации

ExeName.exe/услуги

, как описано здесь: http://msdn.microsoft.com/en-us/library/74y2334x(VS.80).aspx

После этого, хотя, это не появляется в моих услугах панель управления (та, которую я получаю, набрав Службы в окне запуска на Vista).

Я пытался прорыть код АТЛ, чтобы увидеть, где он обрабатывает переключатель/услуги, но не могу найти его, хотя я могу найти код для обработки/RegServer и/UnregServer

Это используется для Мне удалось каким-то образом зарегистрировать эту услугу. Но теперь я переместил его местоположение и не могу его снова зарегистрировать. Когда я запускаю ExeName.exe/service, он запускается как локальный сервер, если я сначала делаю a/RegServer, но я хочу, чтобы он был установлен как служба.

Я что-то упускаю, и вы знаете, где выполняется обработка/сервис-переключатель?

+0

переключатель должен быть/RegServer и/unregserver. У меня была аналогичная проблема в Windows 2008 и отлично работала, когда я менял обложку ... странно ... – 2009-02-12 18:50:39

ответ

0

Убедитесь, что вы случайно не набрали несколько символов в имени функции ParseCommandLine в классе CAtlServiceModuleT, определенном в atlbase.h

Если вы сделаете это, есть версия этой функции также в базовом классе, который будет означать, что все будет хорошо компилироваться, и это может занять вас весь день, чтобы обнаружить эту тупую ошибку!

;-)

1

Выстрел в темноте: вы работаете на Vista? Если это так, убедитесь, что вы работаете с полными админами. В противном случае вы можете зарегистрировать это приложение через виртуализацию.

+0

Хорошее предложение, я только дважды проверил свои привилегии, и я думаю, что у меня есть все соответствующие права администратора. – 2008-11-06 16:03:15

1

То же, что сделал JaredPar, попробуйте команду с Power Shell с полными правами администратора.

1

Запуск с CAtlServiceModule :: Установить метод из коробки, вы должны использовать правильные капиталы на каждый аргумент - «/ Service», «/ UnregServer» и т.д.