Search code examples
tfsrelease-managementms-release-management

VS 2013 Release Management - Illegal characters in path


I have build a custom deployment Action based on TFS 2010 command-line utility, TF.exe. When executed from a DOS prompt on the deployment agent server, it runs fine.

TF view /collection:uri "$source path" > "local path"

and the file does get downloaded, without a need of a workspace. However, when executed through VS2013RM, I get an error:

Illegal characters in path.

When I hover over the message column it reads:

The installation command \"my correct command line here\" failed with the exit code \"100\"

What gives? How come it executes fine in one place, but not the other? The RM Client runs under a network service account, which is part of the local admins and collection's service accounts.

After enabling log

I was able to capture this command:

Deployment: **********Installing component using command "C:\DevOps\TfsClient\TF.exe view /collection:http://[removed detail] "$/[removed detail]/MetastoreCS.xml" > "F:\[removed detail]\MetastoreCS.xml""

Than the error

9/24/2014 10:58:10 AM - Information - (12628, 26560) - Deployment: Exception The installation  command \"C:\DevOps\TfsClient\TF.exe view /collection:http://[removed detail] "$/[removed detail]/MetastoreCS.xml" > "F:\[removed detail]\MetastoreCS.xml"\" failed with the exit code \"100\".

Solution

  • It seems like the redirecting character '>' is causing issue.

    I was able to make it work using the /output option. Refer to the tf view documentation.

    C:\DevOps\TfsClient\TF.exe view /collection:http://[removed detail] "$/[removed detail]/MetastoreCS.xml" /output:"F:\[removed detail]\MetastoreCS.xml"