自定义提供程序Web部署

时间:2013-05-22 09:20:32

标签: web-deployment provider

根据Sayed Ibrahim Hashimi的示例创建自定义提供程序。

在我的机器上工作;)和在Web服务器上(由RDC)。但是当从另一台机器上使用msdploy时却没有。

Msdeploy脚本:

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" 
-verb=sync -source:script=script.ps1 
-dest:computerName=webserver,script=script.ps1,username=webserver\admin,password=dmin 
-debug 
-verbose 
-setParamFile:parameters.xml

这是我在网络服务器上的EventViewer中收到的消息:

MSDeploy.Method: Sync
MSDeploy.RequestId: 81e9fd02-5240-4d96-8c38-7bf18e1b30f3
MSDeploy.RequestCulture: nl-NL
MSDeploy.RequestUICulture: en-US
ServerVersion: 9.0.1631.0
Skip: objectName="^configProtectedData$"
A tracing deployment agent exception occurred that was propagated to the client. Request ID '81e9fd02-5240-4d96-8c38-7bf18e1b30f3'. Request Timestamp: '22-5-2013 10:41:24'. Error Details:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Microsoft.Web.Deployment.DeploymentDetailedClientServerException: The provider 'script' could not be found.  Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_PROVIDER_NOT_FOUND.
   at Microsoft.Web.Deployment.DeploymentProviderSettingCollection..ctor(String factoryName)
   at Microsoft.Web.Deployment.DeploymentProviderOptions..ctor(SerializationInfo info, StreamingContext context)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.SerializationInvoke(IRuntimeMethodInfo method, Object target, SerializationInfo info, StreamingContext& context)
   at System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object obj, SerializationInfo info, StreamingContext context)
   at System.Runtime.Serialization.ObjectManager.FixupSpecialObject(ObjectHolder holder)
   at System.Runtime.Serialization.ObjectManager.DoFixups()
   at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, IMethodCallMessage methodCallMessage)
   at Microsoft.Web.Deployment.Base64EncodingHelper.DeserializeHelper(BinaryFormatter formatter, Byte[] buffer)
   at Microsoft.Web.Deployment.Base64EncodingHelper.Deserialize(String str, Exception& handledException)
   at Microsoft.Web.Deployment.SerializationHelper.Deserialize(String str)
   at Microsoft.Web.Deployment.DeploymentAgentWorkerRequest.GetTraceMessage(String[] additionalMessage)
   at Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentAsyncData asyncData, Nullable`1 passId)
   at Microsoft.Web.Deployment.DeploymentAgent.HandleRequestWorker(DeploymentAgentAsyncData asyncData)
   at Microsoft.Web.Deployment.DeploymentAgent.HandleRequest(DeploymentAgentAsyncData asyncData)

基本上消息是'无法找到提供者'脚本'。'。

有人见过这个问题吗?

1 个答案:

答案 0 :(得分:2)

好的修正了。

通过执行以下操作重新启动msdpsvc和wmsvc服务:

· net stop msdepsvc & net start msdepsvc
· net stop wmsvc & net start wmsvc

参考:Troubleshooting Common Problems with Web Deploy