Попытка запустить corflags из TFS Build 2010
Я использую действие InvokeProcess в TFS 2010, чтобы попытаться запустить приложение corflags на встроенном исполняемом файле.
C:\Builds\4\testing\Sources\BuildAssets\corflags.exe C:\Builds\4\testing\Binaries\Executable.exe /32bit+
Однако я получаю следующее сообщение:
corflags: ошибка CF001: не удалось открыть файл для записи
Я запускаю агент сборки TFS на своем локальном компьютере, потому что в данный момент я нахожусь в стадии тестирования, и когда я запускаю точно такую же команду из командной строки, приложение corflags завершается без ошибок.
Любые идеи очень приветствуются.
2 ответа
Я не знаком с конкретной ситуацией, но некоторые общие идеи:
Кто работает с билдом? Имеет ли этот пользователь разрешения на выходной путь?
Еще одно соображение: завершена ли сборка до того, как она попытается выполнить вашу команду?
Попробуйте изменить команду на что-то очень простое, например, типа "OutputFile" - это та же проблема? Если так, то это проблема разрешения / времени. Если нет, то это конкретная команда - но, по крайней мере, мы сузим проблему.
Я также не знаю corflags, но он использует файл в рабочей области (файл, который загружается из системы контроля версий). По умолчанию для этого файла установлен флаг только для чтения.
Так что если вам нужен этот файл для записи:
1) либо извлеките файл, если вам нужен этот файл в вашем контроле версий, а затем снова проверьте его (tf checkout / tf checkin)
2) удалить файл из системы контроля версий, если файл создан приложением
3) уберите флаг readonly с помощью команды attrib.