我有一台机器A运行Win2008 R2的全新安装,它在IIS上拥有一个IIS应用程序。我尝试在计算机B上使用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、包、身份验证)来创建部署的发布配置文件。点击“验证连接”后,我得到一个弹出窗口,询问我是否要接受这个不受信任的证书。我点击“是”,然后继续发布--一切都很顺利。
有没有办法通过msdeploy命令行来获得这种行为呢?使用VS2012对我来说不是一个选择,因为发布必须自动完成。
编辑2:乐趣还在继续:它可以在另一台Windows Server2008 R2目标机器上运行(尽管不是全新安装)。那么,神奇的复选框在哪里?:)
发布于 2013-05-14 15:53:31
所以,我想出了两个解决方案:
希望这能帮助某人节省一些时间:)
发布于 2013-05-14 10:31:06
我发现这个命令有一些问题:
除非您更改了默认端口,否则应使用8172而不是8173。
其次,在securepassword之前有一个双引号,但我没有看到右双引号。
您的包很可能有一些默认参数,您必须在部署期间为这些参数指定值。
msdeploy.exe -verb:sync -source:package="Web.zip" -dest:auto,ComputerName=https://machineA:8172/msdeploy.axd?site=app.com,UserName="AdminUser",Password="SecurePassword",AuthType="Basic" -allowUntrusted -setParam:paramname=valuehttps://stackoverflow.com/questions/16520855
复制相似问题