Question

J'essaie d'enregistrer un service atl à l'aide de

NomExe.exe / service

comme décrit ici: http: // msdn. microsoft.com/fr-fr/library/74y2334x(VS.80).aspx

Après cela, il n'apparaît pas dans le panneau de configuration de mes services (celui auquel je parviens en tapant Services dans la zone de démarrage de vista).

J'ai essayé de fouiller dans le code atl pour voir où il gère le commutateur / service, mais je ne le trouve pas, bien que je puisse trouver le code pour gérer / RegServer et / UnregServer

Cela fonctionnait, j'ai déjà réussi à enregistrer ce service auparavant. Mais, maintenant, j'ai déplacé son emplacement et je ne peux plus le faire enregistrer. Lorsque je lance ExeName.exe / service, il démarre en tant que serveur local si je fais d'abord un travail / RegServer, mais je veux qu'il soit installé en tant que service.

Est-ce que quelque chose me manque et savez-vous où se fait le traitement du commutateur / service?

Était-ce utile?

La solution 4

Vérifiez que vous n'avez pas accidentellement saisi certains caractères dans le nom de la fonction ParseCommandLine dans la classe CAtlServiceModuleT définie dans atlbase.h

Si vous le faites, il existe une version de cette fonction également dans la classe de base, ce qui signifie que tout se compilera bien et que vous pourriez avoir besoin de toute la journée pour repérer cette erreur idiote!

; -)

Autres conseils

Shot in the dark: Utilisez-vous Vista? Si c'est le cas, assurez-vous que vous utilisez tous les privilèges d'administrateur. Sinon, il est possible que vous enregistriez cette application via la virtualisation.

Comme JaredPar, essayez une commande avec Power Shell avec tous les privilèges d'administrateur.

Avec la méthode CAtlServiceModule :: Install prête à l'emploi, vous devez utiliser les majuscules correctes pour chaque argument - "/ Service", "/ UnregServer", etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top