Benutzer mit den meisten Antworten
Dienstanwendung mit Visual Studio 2010 entwickeln

Frage
-
Hallo,
ich möchte gern einen Windows Dienst entwickeln und habe mich dazu vorerst einmal an das beschriebene Forum im MSDN gehalten.
http://msdn.microsoft.com/de-de/library/zt39148a(v=vs.80).aspx
Meine Frage ist nun, wie kann ich die Entwicklung gut in Visual Studio integrieren. Ich kann den Dienst zwar kompilieren und auch installieren (manuell über die Kommandozeile), aber das ist etwas aufwändig.
Was ist gern machen würde wäre, den Dienst über Visual Studio beim Klick auf "Run" autom. im System installieren, im Debugger ausführen und beim Beenden den Dienst im System wieder entfernen. Also ich will das praktisch in der Entwicklung Debuggen. Meinet wegen muss der Dienst auch nicht richtig ins System installiert werden. Es reicht mir, wenn er ausgeführt wird. Aber wenn ich auf RUN klicke, bekomme ich immer nur die Meldung:
"Der Dienst kann nicht von der Befehlszeile oder einem Debugger gestartet werden. Ein Windows-Dienst muss zuerst (mit installutil.exe) installiert und anschließend mit dem ServerExplorer, der Windows-Dienstverwaltung oder mit dem Befehl NET START gestartet werden".
Danke
Antworten
-
Hallo,
dazu muss man den Debugger überlisten und den Service manuell starten. Das wird in einem Artikel auf Codeprojekt beschrieben [1].
[1] http://www.codeproject.com/Articles/10153/Debugging-Windows-Services-under-Visual-Studio-NET
Viele Grüße,
Thomas Fröhle
MSDN Hotline für MSDN Online Deutschland
Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline: http://www.msdn-online.de/Hotline
Es gelten für die MSDN Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die MSDN Hotline.- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 29. August 2012 11:59
-
Ich würde Dir eher für den Test eine "-debug" Option empfehlen, die den Dienst einfach als Consolen Application startet. So mache ich das.
Das MFC Service-Framework von PJ-Naughter (siehe CodeProject) macht das von selbst.
Ich debugger Services "als Service" nur wenn es sein muss, und da gibt es seltene Fälle.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 29. August 2012 11:59
-
Bei einem C/C++ Programm musst Du in main ja entscheiden ob Du Dich an den Servivemanager ankoppelst oder eben deinen Code "normal" ausführst...
Bei einem .NET Programm könntest Du ein Assembly bauen, mit den entsprechenden Funktionen und zwei Module, die dann einmal den Service-Rumpf bedienen und einmal die EXE pur als Consolenanwendung.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 29. August 2012 11:59
Alle Antworten
-
Hallo,
dazu muss man den Debugger überlisten und den Service manuell starten. Das wird in einem Artikel auf Codeprojekt beschrieben [1].
[1] http://www.codeproject.com/Articles/10153/Debugging-Windows-Services-under-Visual-Studio-NET
Viele Grüße,
Thomas Fröhle
MSDN Hotline für MSDN Online Deutschland
Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline: http://www.msdn-online.de/Hotline
Es gelten für die MSDN Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die MSDN Hotline.- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 29. August 2012 11:59
-
Ich würde Dir eher für den Test eine "-debug" Option empfehlen, die den Dienst einfach als Consolen Application startet. So mache ich das.
Das MFC Service-Framework von PJ-Naughter (siehe CodeProject) macht das von selbst.
Ich debugger Services "als Service" nur wenn es sein muss, und da gibt es seltene Fälle.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 29. August 2012 11:59
-
Bei einem C/C++ Programm musst Du in main ja entscheiden ob Du Dich an den Servivemanager ankoppelst oder eben deinen Code "normal" ausführst...
Bei einem .NET Programm könntest Du ein Assembly bauen, mit den entsprechenden Funktionen und zwei Module, die dann einmal den Service-Rumpf bedienen und einmal die EXE pur als Consolenanwendung.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 29. August 2012 11:59
-
Hallo Catscratch29,
Ich gehe davon aus, dass die Antworten Dir weitergeholfen haben.
Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.Grüße,
RobertRobert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.