2012-10-04 15 views
6

/p:DeployOnBuild=True parametresi iletildiğinde MSBuild tarafından oluşturulan ProjectName.deply.cmd dosyasını çalıştırmaya çalışıyorum. "ComputerName" argümanından biri https://WebServer01:8172/MSDeploy.axd?SiteName=MySiteName olarak geçirilecek. Benim komut satırı O yürütüldüğündeProjectName.deploy.cmd site adının geçirilmesi

Error: Unrecognized argument 'MySiteName'. All arguments must begin with "-". 

fiili komuta argüman/M https://WebServer01:8172/MSDeploy.axd?Site=MySiteName iki argüman ve böylece ayrılmıştır o

"C:\Program Files\IIS\Microsoft Web Deploy V3\\msdeploy.exe" 
    -source:package='Y:\ProjectName.zip' 
    -dest:auto,computerName='https://WebServer01:8172/MSDeploy.axd?Site',userName='DeployUserName',password='Password',authtype='Basic',includeAcls='False' 
    -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension 
    -disableLink:CertificateExtension 
    -setParamFile:"Y:\ProjectName.SetParameters.xml" 
    MySiteName 
    -AllowUntrusted 

Bildirimi olduğunu döndürür

ProjectName.deploy.cmd /Y /M:https://WebServer01:8172/MSDeploy.axd?Site=MySiteName 
         -AllowUntrusted /U:DeployUserName /P:Password /A:Basic 

olurdu computerName='https://WebServer01:8172/MSDeploy.axd?Site' ve ek argüman MySiteName oluşturmak.

Running a deployment package with quoted parameters fails in Visual Studio 2010 Service Pack 1'dan geçtim ama bu yalnızca ArgMsDeployAdditionalFlags ile ilgileniyor ve argümanlar değil örn. /M:ComputerName. Siteadı geçmedi zaman

, sunucuda yönetici hakları vardı ama standart bir IIS kullanıcı DeployUserName kullanıldığında ben
ProjectName.deploy.cmd /Y /M:https://WebServer01:8172/MSDeploy.axd 
         -AllowUntrusted /U:DeployUserName /P:Password /A:Basic 

sunucusu 401 döndürür 401

olsun bir kullanıcı ile dağıtım para cezası yapabilir bu kullanıcı için

Error Code: ERROR_USER_UNAUTHORIZED 
More Information: Connected to the remote computer ("WebServer01") using the Web 
Management Service, but could not authorize. Make sure that you are using the 
correct user name and password, that the site you are connecting to exists, and 
that the credentials represent a user who has permissions to access the site. 
Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_UNAUTHORIZED. 

Error: The remote server returned an error: (401) Unauthorized. 

izinleri konusu kullanıcıyı kullanarak gayet güzel çalışıyor MSDeploy profille VS2012 dan yayımlamak olarak iyi. Ayrıca msdeploy.exe komutunu da yapabilirim ve bu da iyi çalışıyor. Team Build'un TFS2010 ürününden üretildiği için ProjectName.deploy.cmd kullanmam gerekiyor.

cevap

7

Argümanı alıntılamayı denediniz mi?

ProjectName.deploy.cmd /Y "/M:https://WebServer01:8172/MSDeploy.axd?Site=MySiteName" 
        -AllowUntrusted /U:DeployUserName /P:Password /A:Basic 
+0

Bu bir yazım hatasıydı. Onu tamir ettim. Sorun argümanın kendisi değil. Bu yol = komut istemi tarafından işlenir ve daha sonra msdeploy.exe dosyasına aktarılacak deploy.cmd komut dosyasında düzenlenir. –

+0

@amit_g - Güncellenmiş cevabımı görün. –

+0

Eminim bunu kaçmak için diğer varyasyonlarla birlikte denedim = ama o gün hiçbiri işe yaramadı :(Bugün bununla başladım ve ilk denemede çalıştı. Güvenlikle ilgili birkaç konu daha vardı ama bunlar düz Bu çalışma ile dağıtım kullanıcısı için yönetici ayrıcalıklarına ihtiyacım olmayacak (istediğim şey). Yardımınız için teşekkürler @Richard. –