2

我正在尝试使用清单文件中的 runCommand 提供程序,通过 msdeploy 将运行批处理脚本(更多,只要我能弄清楚)作为部署过程的一部分。

这就是我的清单文件的样子

<MSDeploy.iisApp>
  <iisapp path="Default Web Site/SiteName" />

  <dbfullSql path="msdeploy.config" transacted="false" />
  ...(more calls to providers)

  <runCommand path="(call to batch script here)" />
</MSDeploy.iisApp>

清单文件中的所有内容都运行良好,但看起来我的命令并未实际运行。输出日志在最后应该调用我的命令时给了我这个。

Info: Adding child runcommand (MSDeploy.iisApp/runCommand).
Verbose: The synchronization completed in 1 pass(es).
Total changes: 85 (82 added, 3 deleted, 0 updated, 0 parameters changed, 0 bytes copied)

我使用以下命令运行 msdeploy:

"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:package="package" -dest:iisApp="Default Web Site/SiteName" -setParam:name=bunch of parameters... -debug -verbose > MsDeployOutput.txt

我向清单文件(也在我的源包中)提供的命令被识别(以任何可能的方式)但从未执行。关于原因和解决方案的任何想法?

4

2 回答 2

3

MsDeploy 还有一个自动提供程序,用于部署包的内容。因此,您必须将命令行更改为

"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:package="package" -dest:auto -setParam:name=bunch of parameters... -debug -verbose > MsDeployOutput 。文本

此外,如果您希望清单启动,您需要将命令行修改为

"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:package="package" -dest:manifest="manifestLocation" -setParam:name=bunch of parameters... -debug -verbose > MsDeployOutput.txt

MsDeploy 将发挥它的魔力。

谢谢,

于 2009-10-30T08:05:19.517 回答
1

runCommand 提供程序中存在错误。要解决此问题,请使用此属性 MSDeploy.MSDeployKeyAttributeName="path"

像这样:<runCommand path="(call to batch script here)" MSDeploy.MSDeployKeyAttributeName="path" />

于 2011-02-03T14:33:06.707 回答