1

In an automated deployment scenario where I need to apply entity framework migrations in various environment I would like to apply msdeploy style parametrization over a non web project with declarations and values parameters xml files.

It's easier for us because we already maintain declarations/values xml files for other web projects and this way we would tiny all our parametrization to the same place and be able to reuse our existing logic for applying parametrization over various project.

My first though was just to copy the existing migration project to a 'work' folder, where msdeploy would apply parametrization. So I went with the dirpath provider and I specify both the declarations and values xml files:

msdeploy
  -verb:sync
  -source:dirPath="c:\Sources\Project.Migrations"
  -dest:dirPath="c:\work\Project.Migration"
  -setParamFile:"c:\Deployment\SomeEnv\Project.Migrations.SetParameters.xml"
  -declareParamFile:"c:\Sources\Project.Migrations\Parameters.xml"

Nevertheless, it fails with the following error:

EXEC : error : The 'MSDeploy.dirPath' object does not support declared parameters.

The following link shows an exemple of using Parameters.xml with dirPath provider.
But both value and declaration are mixed up in the same file which I would like to avoid.

Is there a way I could have both declaration and values files split up ?

1 Answer 1

3

Just found a workaround to this:
I first deploy from a dirPath to an archiveDir where I could use -declareParamFile and -setParamFile.
Then I deploy from the archiveDir to a dirPath and delete the archiveDir.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.