WebDeploy运行命令问题

时间:2012-11-28 15:02:19

标签: webdeploy

我正在尝试使用WebDeploy V3部署软件包。 安装过程是在源文件夹与远程计算机上的目标文件夹之间进行同步,并在同步完成后运行某个PowerShell脚本。 正在执行的命令是:

'"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:dirPath='C:\source' -dest:dirPath='D:\destination',computerName=XXX -postSync:runcommand='powershell -inputformat none D:\destination\Install.ps1',successReturnCodes=0'

这会产生以下错误:

Info: Using ID '49edd786-d8a0-4acf-be7b-95dd6e1391cc' for connections to the remote server.  Performing '-postSync'... Info: 
Using ID '5ef9d005-82fa-4811-9f51-1741c8d622de' for connections to the remote server. 
Info: Adding MSDeploy.runCommand (MSDeploy.runCommand). 
Error: (11/28/2012 4:34:24 AM) An error occurred when the request was processed on the remote computer. Error: The entry type 'Unknown' was not expected at this time. The serialization stream may be corrupted.
Error count: 1.
Error during '-postSync'.  Total changes: 0 (0 added, 0 deleted, 0 updated, 0 parameters changed, 0 bytes copied)

在网上搜索此错误时,我没有看到任何人在使用runco​​mmand提供程序时遇到它。如果有人遇到类似的问题,并有任何想法或建议,我将非常感谢..

2 个答案:

答案 0 :(得分:1)

从我所看到的情况来看,使用runCommand执行任意命令行可能有点儿错误。尝试将命令行移动到batcmd文件并提供(完整?)路径。只要您不尝试传入任何参数,就会上传并执行该文件。

答案 1 :(得分:0)

对于这篇文章的未来观众:在将runCommand提供者用法添加到Web Publishing Pipeline MSBuild进程的MyProject.wpp.targets文件后,我遇到了同样的特定错误(Error: The entry type 'Unknown' was not expected at this time. The serialization stream may be corrupted)。该路径是直接cmd shell输入,用于清除attrib -R的只读标志。

就我而言,我的构建服务器配置了WebDeploy 3.0,而部署包的目标服务器配置了Webdeploy 2.0。将目标服务器升级到Webdeploy 3.0后,此特定问题已得到解决。

然而,由于围绕runCommand的其他错误(在程序包运行时提供了目标可执行文件的正确路径),我的解决方案仍然无法正常工作,所以请大家都这么做。