2010-08-17 27 views
1

J'utilise une activité InvokeProcess dans TFS 2010 pour essayer d'exécuter l'application corflags sur un fichier EXE construit.Tentative d'exécution de corflags à partir de TFS Build 2010

C:\Builds\4\testing\Sources\BuildAssets\corflags.exe C:\Builds\4\testing\Binaries\Executable.exe /32bit+ 

Cependant, je reçois le message suivant:

corflags: erreur CF001: Impossible d'ouvrir le fichier écrire

Je courais le TFS Créer agent sur mon locale machine parce que je suis actuellement dans une phase de test, et quand j'exécute exactement la même commande à partir de la ligne de commande, l'application corflags se termine sans erreur.

Toutes les idées seraient grandement appréciées.

+0

Ajoutez votre support pour un site dédié Exchange Stack Exchange Visual Studio ALM en vous engageant sur la proposition. http://area51.stackexchange.com/proposals/15894/visual-studio-alm?referrer=vtx1N5_bjYysH8mQCaDCxQ2 –

Répondre

1

Je ne suis pas au courant de la situation spécifique, mais quelques idées générales:

Qui est la construction en cours d'exécution comme? Cet utilisateur a-t-il des autorisations sur le chemin de sortie?

Une autre considération est la suivante: La construction a-t-elle été terminée avant qu'elle ne tente d'exécuter votre commande?

Essayez de changer la commande à quelque chose de vraiment simple, par exemple type « OutputFile » - Est-ce le même problème a frappé? Si c'est le cas, c'est un problème de permission/timing. Sinon, c'est la commande spécifique - mais au moins nous aurons réduit le problème.

+0

La construction fonctionne sous mon compte qui a un accès complet aux répertoires. Je fais toutes mes étapes de compilation après que la compilation est terminée et a été définie sur BuildPhaseStatus.Complete. Je suis capable de réaliser d'autres commandes telles que la création de répertoires. Ewald Hofman a répondu ci-dessus et mentionne l'état de lecture seule des deux fichiers. Corflags est en lecture seule faisant partie de la source (uniquement pour simplifier la mise à l'échelle des agents de build dans le futur), mais l'exe que j'essaie de changer les en-têtes n'est pas en lecture seule. Merci. – Swaff

+0

Est-ce que cette erreur se produit pour une opération [écriture] contre le fichier .exe ou uniquement pour corflags? – Basic

+0

Outre la création de l'exe par le processus de construction, corflags.exe est la seule autre application qui tente de modifier ma sortie. – Swaff

1

Je ne connais pas non plus les corflags, mais il utilise un fichier dans l'espace de travail (un fichier téléchargé à partir de Version Control). Il y a un indicateur readonly sur ce fichier par défaut.

Donc, si vous avez besoin de ce fichier pour être accessible en écriture:
1) soit extraira le fichier si vous avez besoin de ce fichier dans votre contrôle de version et ensuite enregistrer à nouveau (caisse tf/tf checkin)
2) retirer la fichier à partir du contrôle de version si le fichier est créé par l'application
3) supprimer l'indicateur readonly avec la commande attrib.