Pourquoi mon service Windows BuildBot Donne immédiatement une erreur 7000?

Je suis en train de mettre en place
https://buildbot.net
worker Sur une machine virtuelle Windows Server 2016 Datacenter Edition, Travailler B. Azure. Ce sera l'assemblage de notre produit pour Windows Utiliser un compilateur Visual Studio C ++.

J'ai atteint le point que le travailleur est installé et travaille dans la session de bureau administratif. Il se connecte à notre serveur de l'Assemblée en chef et, à en juger par les résultats des assemblages de test, peut accéder à tous les outils et services nécessaires.

J'ai travaillé sur le fait que le travailleur a commencé comme un service. Cela démarrera automatiquement le travailleur pour le compte de l'utilisateur non privilégié.

Mais ... Le service ne commence pas. Quand je regarde dans le journal des événements, je vois deux erreurs dans "Magazines Windows → Système":

ID événements: 7000

Échoué à exécuter le service BuildBot En raison de la prochaine erreur: le service n'a pas répondu à la demande de démarrage ou au contrôle en temps voulu.


ID d'événement: 7009

Le temps d'attente a expiré (30000 millisecunes) Quand vous attendez le service BuildBot


Aucun événement de BuildBot Non enregistré dans "Journaux Windows → Application ", et ces événements sont enregistrés (et le service est enregistré comme une défaillance) Immédiatement lorsque vous essayez de l'exécuter.

Actuellement, le service est configuré pour fonctionner comme «LocalSystem» (Plus tard, j'ai prévu de limiter les droits d'accès). Pour autant que je comprends, «LocalSystem» Il devrait y avoir accès à toutes les ressources locales, donc je ne pense pas que les autorisations du système de fichiers puissent causer ce problème.

Y a-t-il des causes courantes de cette défaillance de service?

Y a-t-il d'autres journaux ou informations de diagnostic sur lesquels je devrais faire attention?

Quelles autres étapes puis-je prendre pour déterminer la cause de cet échec?

Changement: Ce problème est reproductible même en utilisant un simple service de test représenté dans
https://stackoverflow.com/a/32440/266449
.
Invité:

Alice

Confirmation de:

Le problème a été non enregistré DLL. En particulier, support de service Python, À condition de pywin32, nécessite certaines bibliothèques DLL étaient disponibles pour interagir avec Win32 API. Ces bibliothèques DLL doit être installé automatiquement lorsqu'il est installé pywin32 par:

pip install pypiwin32

Comme mentionné B.
https://stackoverflow.com/a/34942168/266449
, La correction correcte dans ce cas était de commencer:

python C:\Python27\Scripts\pywin32_postinstall.py install

Cela a résolu mon problème.

Pour répondre aux questions, connectez-vous ou registre