Yes, MSDeploy supports this quite easily.
When creating a deployment package, you want to use the -declareParm option to create a replaceable option in your deployment package. You would use something like:
-declareParam:name=UseCache,kind=XmlFile,scope=web.config,match="/configuration/myGroup/data/@useCache"
Then, when deploying your package, you must use the -setParm command to replace the option during deployment. Sort of:
-setParam:name=UseCache,value="false"
This example will replace the UseCache parameter, which points to the useCache attribute in the web.config file with "false".
You can declare any number of parameters to be replaced, and MSDeploy supports the use of files to store parameters. Files are simple Xml files that you would use with the syntax -setParamFile:<filename> and -declareParamFile:<filename> .
source share