3

I have the following problem.

I am trying to customize default TFS build process by adding a step where a database is deployed using the database project. I strictly followed these steps, the only difference is that I've done it in another part of the workflow. However, DB deployment always fails with the following error: *** The deployment manifest file Database.Project.Name.deploymanifest does not exist.

Here is the command line that is executed:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VSTSDB\Deploy\VSDBCMD.EXE /a:Deploy /dd+ /dsp:Sql /cs:"Data Source=DB-Server;Initial Catalog=DB.Name;User Id=username;Password=password;" /manifest:Database.Project.Name.deploymanifest

I've double-checked several things - VSDBCMD.EXE utility does exist on the specified path on the build server, Database.Project.Name.deploymanifest file does exist in the build drop directory, and BuildDetail.DropLocation (which is set as the Working Directory in the workflow) field does point to this directory. So it looks like everything should work - but it doesn't. What might be other possible causes of this problem? Thanks in advance.

Andrei
  • 55,890
  • 9
  • 87
  • 108
  • Just a guess: Have you tried using the full path to the deploymanifest file in /manifest:? – Duat Le May 20 '11 at 13:41
  • Unfortunately it is not possible to set full path declaratively. This is because each drop folder (where the deploymanifest is located) has different name, something like BuildName_Date.BuildNumber. – Andrei May 20 '11 at 13:47
  • 1
    You can use vbscript in the workflow to set these things programmatically. For example, in the command arguments activity parameter, you can build up that string programmatically using hte BuildDetail.DropLocation value. – Dylan Smith May 20 '11 at 22:57
  • Yes, what Dylan suggested should help. – Duat Le May 21 '11 at 17:24
  • @Dylan Smith: Thanks for the reply. Tried that - the same error. – Andrei May 23 '11 at 09:53

1 Answers1

1

Finally I've found a workaround. Instead of BuildDetail.DropLocation I am using Build Agent's working directory. Please note that this is just a workaround, not a complete solution to the problem, and I still have no idea about why the deploymanifest file was not available. However, this approach at least works...

Andrei
  • 55,890
  • 9
  • 87
  • 108
  • @Alfred, lost that project unfortunately, but as far as I remember I've just figured out absolute path of the Build Agent's working directory and specified it in workflow's Workspace property. Not the best approach of course (hardcoding is always bad) but at least it worked. – Andrei Jul 16 '12 at 08:21