我有一台运行着IIS Web应用程序的Win2008 R2全新安装的机器[A]。我尝试在机器[B]上使用
我已经尝试了不同的方法(如更改IIS上的msdeploy端口,将证书安装在其他机器上,重新安装IIS角色等等),但是两天过去了,完全没有运气。
这是我的操作步骤:
为了让事情更有趣,当我在包含IIS的机器上运行相同的命令时(即使将dest更改为sync),我得到了以下结果:
msdeploy
命令行工具将部署包发布到这台机器,但是我一直遇到证书相关的错误。
我正在使用-allowuntrusted
,但它仍然不断给出同样的错误。我已经尝试了不同的方法(如更改IIS上的msdeploy端口,将证书安装在其他机器上,重新安装IIS角色等等),但是两天过去了,完全没有运气。
这是我的操作步骤:
msdeploy.exe -verb:sync -source:package="Web.zip" -dest:auto,ComputerName="https://machineA:8173/msdeploy.axd?site=app.com",UserName="AdminUser",Password="SecurePassword",AuthType="Basic" -allowUntrusted
为了让事情更有趣,当我在包含IIS的机器上运行相同的命令时(即使将dest更改为sync),我得到了以下结果:
Error: A '-dest' argument must be specified with the 'sync' verb.
Error count: 1.
有什么想法吗?
编辑: 我尝试在Visual Studio 2012中使用相同的设置(ip、package、authentication)创建发布配置文件,可以成功部署。点击“Verify connection”后,会弹出一个窗口询问是否接受这个不受信任的证书。我选择了“是”,然后继续发布——这一步非常顺利。
有没有办法在msdeploy命令行中实现这个行为?对我来说,使用VS2012不是一个选项,因为发布必须自动完成。
编辑2: 乐趣继续:它在另一台Windows Server 2008 R2目标机器上运行正常(不是干净安装)。那么,魔术复选框在哪里呢? :)