msdeploy v2不适用于vs2010的软件包

问题描述:

我已安装v1的msdeploy,并已将其卸载以安装v2. 现在我的vs2010程序包在我运行deploy.cmd时失败,因为它找不到注册表项-即使我已经创建了指向v2路径的MSDeployPath环境变量?

I had v1 of msdeploy installed and I uninstalled it to install the v2. Now my vs2010 packages fail when I run the deploy.cmd because it can't find the registry entry - even though I've created an MSDeployPath environment variable pointing to the v2 path?

在我的电脑/属性"下的高级系统设置/环境变量"中,我将MSDeployPath设置为"C:\ Program Files \ IIS \ Microsoft Web Deploy V2".

I have MSDeployPath set to "C:\Program Files\IIS\Microsoft Web Deploy V2" in the Advanced System Settings/Environment Variables under My Computer/Properties.

运行VS2010 deploy.cmd文件时遇到的错误是: Files \ IIS \ Microsoft这时出乎意料.

The error I get when I run the VS2010 deploy.cmd file is: Files\IIS\Microsoft was unexpected at this time.

有人知道如何解决此问题吗? vs2010软件包的deploy.cmd在注册表中查找/1.

Anyone know how to fix this? The vs2010 package's deploy.cmd looks for /1 in the registry.

因此,如果path变量不起作用,我该如何将其更改为/2?

So how do I change this to look for /2 if the path variable doesn't work

编辑.cmd文件以查找正确的注册表路径. /2,而不是/1.

Edit the .cmd file to look for the correct registry path. /2 instead of /1.

我的理解是TFS 2010 sp1可以解决此问题.

My understanding is that TFS 2010 sp1 fixes this.

cmd文件中用于SP1之前版本的行如下所示:

The line from the cmd file for pre SP1 builds looks like this:

for /F "usebackq tokens=2*" %%i  in (`reg query "HKLM\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\1" /v InstallPath`) do (

发布SP1后看起来像这样

post SP1 it looks like this

for /F "usebackq tokens=1,2,*" %%h  in (`reg query "HKLM\SOFTWARE\Microsoft\IIS Extensions\MSDeploy" /s  ^| findstr -i "InstallPath"`) do (