2010-11-15 19 views
13

我遇到了Web Deploy的问题,我似乎无法解决问题。每次尝试通过包中的[proj] .deploy.cmd命令尝试发布到WMSvc时,我都会收到“远程服务器返回错误:(401)未经授权”。该命令看起来是这样的(项目被称为“网络”,服务器被命名为“自动部署”):当通过[proj] .deploy.cmd发布时,Web Deploy返回401未经授权的问题

Web.deploy.cmd /Y /M:https://AutoDeploy:8172/MsDeploy.axd -allowUntrusted 

我可以通过Visual Studio的发布精https://AutoDeploy:8172/MsDeploy.axd所以服务肯定是运行,我可以成功地验证到它作为管理员。以管理员身份登录时(它只是一个本地的Win 2k8 VPC)而不是在本地在本地计算机上运行此程序,并且在管理员帐户中添加/ U和/ P参数不起作用。

我已经enabled failed request tracing并得到this output所以至少有一些东西可以参考,但不幸的是我无法确定根本原因是什么。我尝试使用与Visual Studio中相同的凭据连接到相同的服务,但显然有些不同。

只是出于兴趣,如下我可以发布精Web部署代理服务(MsDepSvc):

Web.deploy.cmd /Y /M:http://AutoDeploy/MsDeployAgentService /U:AutoDeploy\Administrator /P:... 

但我真的想WMSVC运行!有什么想法吗?

+0

你应该在输出窗口一看为VS正在执行然后比较一下.cmd文件正在执行的命令。如果在输出窗口中没有看到该命令,请在ools-> Options-> Projects and Solutions-> Build and Run =>中增加详细程度。> MSBuild项目编译输出详细程度 – 2010-11-16 06:38:18

+0

谢谢Sayed,这让我指出了正确的方向。我会用解决方案回答我自己的问题。 – 2010-11-17 02:42:53

+0

您是否使用IIS管理器用户进行部署?看到我的问题在这里:http://stackoverflow.com/questions/7750800/error-user-unauthorized-when-deploy-to-iis-7-5-when-using-iis-manager-user – 2011-10-13 07:35:01

回答

11

赛义德的评论让我指出了正确的方向。在生成输出详细信息“Detailed”并在.csproj(另一个tip from Sayed's blog)中将UseMsdeployExe设置为true之后,我发现由Visual Studio生成的命令将身份验证类型设置为基本回溯,显而易见的是纯文本用户名和密码。

How to: Install a Deployment Package Using the deploy.cmd File上的MSDN帖子解释了你可以在命令中添加一个“a”标志来设置它。因此,在短期,这里是它的现在看起来(和实际工作):

Web.deploy.cmd /Y /M:http://AutoDeploy/MsDeployAgentService /U:AutoDeploy\Administrator /P:... /A:Basic 
+1

很高兴你得到它工作,对不起,我忘了指出UseMSDeployExe。 – 2010-11-17 04:16:59

相关问题