2010-10-20 8 views
2

J'essaye de construire un serveur d'intégration continue sur une machine Windows 7. Je peux exécuter le script msbuild proprement sur cette machine mais lorsque je tente de l'exécuter via un agent de construction, l'enregistrement de certains composants COM (.NET et C++) échoue apparemment avec les autorisations d'écriture dans le registre. J'ai désactivé l'UAC mais cela ne fait aucune différence. Normalement, si je compile localement le script msbuild, je dois lancer l'invite de commande avec des permissions élevées, mais sur un serveur de build je ne sais pas quoi faire.Build Servers, build agents, enregistrement com et autorisations Windows 7

J'ai vu des messages suggérant que la manière est de supprimer l'enregistrement automatique de la configuration du projet, et compter sur l'installation pour le faire. Cela semble rendre cette option plutôt limitée et la solution incompatible avec l'exécution à partir d'un IDE. Est-ce que quelqu'un a trouvé un moyen de traverser ça?

Nous utilisons VS2010 que le client sur le serveur de build et le serveur TFS est VS2008

+0

J'ai le même genre de problème. J'ai ajouté le compte d'utilisateur de service de construction à un groupe d'ordinateurs local qui a à son tour tous les droits sur les sections 'classes' du registre pour la machine locale, ce qui a bien fonctionné sur notre ancien serveur de construction TFS2008, mais pas sur nouveau TFS2010 un. :(En supprimant l'attribut COMVisible du fichier info de l'assembly du projet, il est dépassé, mais un problème similaire se produit dans le package InstallShield, où InstallShield ne parvient pas à obtenir les informations COM pour la DLL –

+0

Ne pas enregistrer les composants COM sur un serveur de build C'est seulement nécessaire pour les exécuter, pas pour les construire. –

Répondre

0

Ajoutez votre utilisateur de services de construction en groupe d'utilisateurs Administrateurs. Il semble que votre compte dispose de plus d'autorisations en tant qu'agent de création/utilisateur de service.