This project has moved and is read-only. For the latest updates, please go here.

Deployment failed: First time setting up

Topics: Getting Started/Beginner
Jul 13, 2011 at 3:57 PM

Hi All,

I am having this error  when deploying my project for the first time using Deployment Framework

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: The "GenerateAssemblyNamesItemGroup" task failed unexpectedly.

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: System.IO.FileNotFoundException: Could not load file or assembly 'C:\SourceCodeRoot\VPuvadi\TFSrc\BS.SOA.Chicago.PurchaseOrder\BS.SOA.Chicago.PurchaseOrder.Maps\bin\Debug\BS.SOA.Chicago.PurchaseOrder.Maps.dll' or one of its dependencies. The system cannot find the file specified.

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: File name: 'C:\SourceCodeRoot\VPuvadi\TFSrc\BS.SOA.Chicago.PurchaseOrder\BS.SOA.Chicago.PurchaseOrder.Maps\bin\Debug\BS.SOA.Chicago.PurchaseOrder.Maps.dll'

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: at System.Reflection.AssemblyName.nGetFileInformation(String s)

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: at System.Reflection.AssemblyName.GetAssemblyName(String assemblyFile)

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: at DeploymentFramework.BuildTasks.GenerateAssemblyNamesItemGroup.Execute()

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: at Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy, ItemBucket bucket, TaskExecutionMode howToExecuteTask, ITask task, Boolean& taskResult)

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018:

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: WRN: Assembly binding logging is turned OFF.

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: Note: There is some performance penalty associated with assembly bind failure logging.

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018:

Done Building Project "C:\SourceCodeRoot\VPuvadi\TFSrc\BS.SOA.Chicago.PurchaseOrder\Deployment\Deployment.btdfproj" (Deploy target(s)) -- FAILED.

Build FAILED.

"C:\SourceCodeRoot\VPuvadi\TFSrc\BS.SOA.Chicago.PurchaseOrder\Deployment\Deployment.btdfproj" (Deploy target) (1) ->

(UndeployTransforms target) ->

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: The "GenerateAssemblyNamesItemGroup" task failed unexpectedly.

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: System.IO.FileNotFoundException: Could not load file or assembly 'C:\SourceCodeRoot\VPuvadi\TFSrc\BS.SOA.Chicago.PurchaseOrder\BS.SOA.Chicago.PurchaseOrder.Maps\bin\Debug\BS.SOA.Chicago.PurchaseOrder.Maps.dll' or one of its dependencies. The system cannot find the file specified.

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: File name: 'C:\SourceCodeRoot\VPuvadi\TFSrc\BS.SOA.Chicago.PurchaseOrder\BS.SOA.Chicago.PurchaseOrder.Maps\bin\Debug\BS.SOA.Chicago.PurchaseOrder.Maps.dll'

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: at System.Reflection.AssemblyName.nGetFileInformation(String s)

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: at System.Reflection.AssemblyName.GetAssemblyName(String assemblyFile)

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: at DeploymentFramework.BuildTasks.GenerateAssemblyNamesItemGroup.Execute()

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: at Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy, ItemBucket bucket, TaskExecutionMode howToExecuteTask, ITask task, Boolean& taskResult)

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018:

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: WRN: Assembly binding logging is turned OFF.

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: Note: There is some performance penalty associated with assembly bind failure logging.

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018: To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1485,5): error MSB4018:

0 Warning(s)

1 Error(s)

 

 Can anybody tell me what should I Do. I checked the registry and found that there was no EnableLog key in the Fusion. Urgently needed.

Jul 13, 2011 at 4:33 PM

Hi,

The error is "cannot find the file" C:\SourceCodeRoot\VPuvadi\TFSrc\BS.SOA.Chicago.PurchaseOrder\BS.SOA.Chicago.PurchaseOrder.Maps\bin\Debug\BS.SOA.Chicago.PurchaseOrder.Maps.dll.  In your .btdfproj, I assume that your ProjectName property is set to BS.SOA.Chicago.PurchaseOrder, and you have IncludeTransforms set to true (either explicitly or because it's the default value).

Did you create your project using the Add New Project wizard?  In the wizard you're given options to specify whether you have an orchestrations assembly, a schemas assembly, etc.  Did you select those to match your project structure?

If you have those properties set correctly, then you have not added ItemGroup elements to point the Deployment Framework to your assemblies.  The folder and file naming BS.SOA.Chicago.PurchaseOrder.Maps\bin\Debug\BS.SOA.Chicago.PurchaseOrder.Maps.dll is part of a default naming scheme that is described in the documentation ($(ProjectName).Maps\bin\$(Configuration)\$(ProjectName).Maps.dll).  If you are not following that naming structure, then for each of your artifacts you must add an ItemGroup containing an Orchestrations element, Transforms element, etc.

Have you reviewed the included sample applications in the install folder and the documentation?

If you edit the .btdfproj in Visual Studio, there is IntelliSense provided for all of these properties and ItemGroup's.  You'll need something like this:

<ItemGroup>
  <Schemas Include="MyProject.Maps.dll">
    <LocationPath>..\Maps\bin\$(Configuration)</LocationPath>
  </Schemas>
</ItemGroup>

Thanks,
Tom

Jul 13, 2011 at 4:43 PM

Hi Tom,

I was able to find out what the error. It was due to the folder structure of my Maps project. I have got it resolved now. But I am running into this issue now, 

Error: Failed to Update Binding Information

Invalid  or Malformed XML Data.

This seems to be an issue with my PortBindings.XML

I have used the deployment framework earlier in a different organization and pretty much know some of the errors that might occur.  However, this is my first time deploying and setting this. I read through the documentation and went accordingly. Now am facing this error. Can you guide me in how to get over this error?

Thanks

Praveen

Jul 13, 2011 at 5:08 PM

Hi Praveen,

Please take a look at the FAQ's here and see "How do I set up my binding file for the first time?".

I don't know if you are using a master bindings file or not, but the default setting for UseMasterBindings is false.  Assuming that you are not, you can export from BizTalk Admin directly to PortBindings.xml and it should work fine.  If you make any changes using the Visual Studio XML editor, you have to watch out for automatic reformatting.  Sometimes the reformatting breaks the binding file.  If you ARE using a master bindings file, then please try the instructions in the FAQ to prepare the master bindings file for the first time.

To resolve these you often need to export a clean bindings file from BizTalk admin, then use a file compare tool like WinMerge to compare it with your deployment project binding file.  Some very subtle differences can cause that "Invalid or Malformed XML" error.

Thanks,
Tom

Jul 13, 2011 at 5:42 PM

Hi Tom,

Thanks for your quick reply. Yes I am using the master bindings file. I have also set the UseMasterBindings to True, the ApplyXMLEscape to false. I have done all these and it is passing all these errors.

Right now am getting the error The artifact "Microsoft.BizTalk.EdiInt.DefaultPipelines.AS2Send" does not belong to the same application as "OutBoundAS2" or its references.

How do i refer the default applications and while deploying the referenced applications are automatically started, so that I don't come across this error



Thanks,

Praveen

Jul 13, 2011 at 7:27 PM

Hi,

Just add to your .btdfproj an ItemGroup containing one or more AppsToReference elements.  An Include attribute on each element should contain the name of an app to reference.  Alternatively, you can use a single AppsToReference element and separate the app names inside the Include attribute with semicolons.

By default that will cause the referenced apps to be started along with your app.

Thanks,
Tom

Jul 13, 2011 at 8:46 PM

Thanks Tom. It worked fine.

Any suggestions for this error

DeploySSO:

Error persisting to SSO:

System.UnauthorizedAccessException: Access denied. See the event log (on computer '02BZ01') for more details.

 When I checked the event log, it said, I must be an user in the group, which I am.

Jul 13, 2011 at 8:59 PM

Locate the DeploySSO target's output in your Visual Studio Output window after a deployment.  Check that the correct security group names are being passed in the /userGroupName and /adminGroupName parameters to SSOSettingsFileImport.exe.  Those values should be coming through from your settings spreadsheet.

Thanks,
Tom

Jul 13, 2011 at 11:11 PM

Thank you Tom,

Greatly Appreciate your help.

I think I have reached the final stage for deploying. Now I am crossing this error which is like this.

DeployComponents:

Deploying components to GAC...

Microsoft (R) .NET Global Assembly Cache Utility. Version 2.0.50727.42

Copyright (c) Microsoft Corporation. All rights reserved.

 

Failure adding assembly to the cache: Access denied. You might not have administrative credentials to perform this task. Contact your system administrator for assistance.

Does this mean I do not have access to deploy assemblies. I can deploy my assemblies normally from VS. I have got another question too. Do I need to install the Deployment framework by logging in as the service account user or my local user account.

C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1327,5): error MSB3073: The command ""C:\Program Files (x86)\Deployment Framework for BizTalk\5.0\Framework\DeployTools\gacutil.exe" /i "..\BS.PurchaseOrder.PipelineComponents\bin\Debug\BS.PurchaseOrder.PipelineComponents.dll"" exited with code 1.

Done Building Project "C:\SourceCodeRoot\VPuvadi\TFSrc\BS.PurchaseOrder\Deployment\Deployment.btdfproj" (Deploy target(s)) -- FAILED.

Jul 14, 2011 at 5:28 AM

So you have fully tested the deployment within Visual Studio (running As Administrator), and you are now attempting to deploy using the generated MSI?  Or you are still testing within Visual Studio?  You must run Visual Studio with the As Administrator option.  Sometimes it is possible to see an Access Denied error when an assembly is locked/in-use, particularly with a pipeline component DLL.  However, that's unlikely for the GAC.

On your development machine (the only place you would install the Deployment Framework), it doesn't matter what kind of user you are logged in as during the install.

Thanks,
Tom

Jul 14, 2011 at 3:28 PM

I am still running within the Visual Studio. Also i am not running the Visual Studio as an administrator since I am working on a Dev Box directly which is on Windows Server 2003. So do I have to run Visual Studio with As Administrator option?? Since I am already an administrator on this machine, my assumption would be I am running it as an administrator. However I have come across this issue in Windows server 2008 and Windows 7.

I installed the Deployment Framework logged in as my user account, but one of the other developers working on the same machine as me cannot access the toolbar in Visual Studio. In the tools menu, we can see the Deployment Framework for BizTalk, but it is not highlighted for us to select it and place it in the toolbars.

Thanks,

Praveen

Jul 14, 2011 at 6:17 PM

Sorry, wrong OS -- on Windows Server 2003 you only need to be in the Administrators group.  Please try manually using gacutil from the Command Prompt to install the assembly -- I'd assume that you'll end up with the same result, but it's worth testing.  It could be the file-in-use or even a read-only file issue too.

I have not tested multiple developer user accounts on the same machine, so it's possible that there are some issues.  So for you the BTDF Visual Studio Tools menu commands and toolbar work fine, but for the other developer the BTDF Tools menu commands are not available, or just the toolbar?  That would not surprise me, because during BTDF install and uninstall, the toolbar commands are installed or uninstalled in Visual Studio.  That makes them available all the time so that keyboard shortcuts can be mapped by the developer.  I think that would only work for the installing user.

Thanks,
Tom

Jul 14, 2011 at 7:41 PM

Tom,

I tried to install manually using the gacutil from the command prompt. It worked when I used the Visual Studio command prompt and not from the windows command prompt.

Yes you are correct. I have the BTDF Visual Studio tools and toolbar working fine for me, for the other developer it is not. If I uninstall and install it using the service account will it work for all users on this machine and I also have another developer machine, in which I assume, the BTDF needs to be deployed too? Correct me if I am wrong.

Jul 15, 2011 at 6:51 AM

The last time you posted the error message your first error was for Components to the GAC, and the second was for Pipeline Components.  Do you have an error on both?  Have you tried copying from the Output window the exact gacutil.exe command line that is failing and running it in a command prompt?  Also try disabling virus scanners and the Windows indexing/search service.  You can also try a tool like SysInternals Process Monitor to see if there is some process locking the file(s).  It would be very odd to have it behave differently between Visual Studio and a command prompt.

Installing the Deployment Framework under a service account will not change anything about the Visual Studio add-in.  Using the add-in with multiple user accounts on the same machine is not really supported today.  While logged in as the second user account, you could try running devenv.exe /setup, and if that doesn't help you could try running the BTDF install in repair mode.  If all else fails, you could try reinstalling the BTDF under the second user account -- but that might just goof up your account.  I haven't tried any of these options, so I'm just offering some ideas.

Thanks,
Tom

Jul 18, 2011 at 4:11 PM

Tom,

I would like to know if I can use Partyset up in my deployment project. If yes how do I get the Party bindings for my application and also what needs to be included in the deployment project.

Thanks,

Praveen

Jul 19, 2011 at 3:05 AM

Hi Praveen,

The Deployment Framework does not include any explicit support for party configuration.  Please feel free to submit a feature request on the Issue Tracker if there is something specific that you need.  You can always extend the behavior by adding new Targets to your .btdfproj, most commonly named CustomDeployTarget and CustomUndeployTarget.  In the meantime, you might find this thread useful.

Thanks,
Tom

Aug 8, 2011 at 9:25 PM

Hi Tom,

I am having problem deploying the solution.

Error: Failed to update binding information.

Could not validate configuration of Primary Transport of Send Port 'Send_BatchedOut' with SSO server.

An invalid value for property "FileName".

An invalid value for property "FileName".

What could be the reason for this error? I tried everything I know of, but still I get this error.

Aug 8, 2011 at 9:56 PM

In your PortBindings.xml, you'll need to focus on the validity of the embedded/nested XML inside the TransportTypeData element for the Send_BatchedOut send port, specifically the FileName element.  Since you are using a master bindings file, do you also have ApplyXmlEscape set to true?  If not, then the XML inside TransportTypeData should be encoded (& as &amp;, < as &lt; etc.).  If you cannot see the issue with the embedded/nested XML fragment, then you may need to go back to BizTalk admin, manually configure the port and export the port bindings file.  Then, compare what was exported to what you have in your PortBindingsMaster.xml.

Be sure to look at PortBindings.xml, not PortBindingsMaster.xml, because BizTalk is trying to load PortBindings.xml after the Deployment Framework generates it from PortBindingsMaster.xml.

Thanks,
Tom


Aug 8, 2011 at 10:35 PM
Edited Aug 8, 2011 at 10:39 PM

Tom,

The TransportTypeData in my PortBindings.xml look like the following,


<TransportTypeData>&amp;lt;CustomProps&amp;gt;&amp;lt;EnableChunkedEncoding vt="11"&amp;gt;0&amp;lt;/EnableChunkedEncoding&amp;gt;&amp;lt;ProxyPort vt="3"&amp;gt;50100&amp;lt;/ProxyPort&amp;gt;&amp;lt;AuthenticationScheme vt="8"&amp;gt;Anonymous&amp;lt;/AuthenticationScheme&amp;gt;&amp;lt;UseHandlerSetting vt="11"&amp;gt;-1&amp;lt;/UseHandlerSetting&amp;gt;&amp;lt;ProxyName vt="8"&amp;gt;http://ditrexqa1.wireless.att.com&amp;lt;/ProxyName&amp;gt;&amp;lt;UseProxy vt="11"&amp;gt;0&amp;lt;/UseProxy&amp;gt;&amp;lt;/CustomProps&amp;gt;</TransportTypeData>


where as the portbindingsmaster.xml looks like this,


<TransportTypeData>&lt;CustomProps&gt;&lt;EnableChunkedEncoding vt="11"&gt;0&lt;/EnableChunkedEncoding&gt;&lt;ProxyPort vt="3"&gt;50100&lt;/ProxyPort&gt;&lt;AuthenticationScheme vt="8"&gt;Anonymous&lt;/AuthenticationScheme&gt;&lt;UseHandlerSetting vt="11"&gt;-1&lt;/UseHandlerSetting&gt;&lt;ProxyName vt="8"&gt;http://ditrexqa1.wireless.att.com&lt;/ProxyName&gt;&lt;UseProxy vt="11"&gt;0&lt;/UseProxy&gt;&lt;/CustomProps&gt;</TransportTypeData>


I tried to do as you said and exported the bindings. The exported bindings and checked the same. It is similar to my portbindingsmaster.xml Also I have the ApplyXMLEscape set to true

Which one do I have to change now. The portbindings or the masterbindings.

Praveen

Aug 9, 2011 at 5:18 PM

Hi Praveen,

Because you have set ApplyXMLEscape to true, many elements (identified in AdapterXPaths.txt) that contain nested XML fragments are being encoded (& to &amp;, etc) during the conversion from PortBindingsMaster.xml to PortBindings.xml.  However, you have not unencoded at least some of those fragments in PortBindingsMaster.xml (as is the case with TransportTypeData above), so they are effectively ending up double-encoded in PortBindings.xml (&amp; to &amp;amp;, &lt; to &amp;lt;, etc.).

There are instructions that describe the encoding here under "How do I set up my binding file for the first time?" then "If you want to take maximum advantage...".  You need to begin with the bindings file exported from BizTalk Admin, then run ElementTunnel.exe on it to un-encoded the nested XML fragments.  Or, you can set ApplyXMLEscape to false and then you won't have to worry about the nested XML at all.  The advantage to enabling ApplyXMLEscape is that you can work with those nested XML fragments in a user-friendly plain XML way, instead of looking at an encoded chunk of XML.



Thanks,
Tom

Sep 2, 2011 at 5:20 PM

Hi Tom,

I am trying to run the ElementTunnel.exe and everytime I try to do that it is says unrecognized argument. It points to my PortBindings.xml. Where am I going wrong? Also when I add the XmlPreprocess in my Master Bindings and deploy the solution, i get the following error

Error: Failed to update binding information.

Could not validate configuration of Primary Transport of Send Port 'Send_BatchedOut' with SSO server.

An invalid value for property "FileName".

An invalid value for property "FileName".

 

 

Sep 6, 2011 at 3:21 PM

Have you set the property ApplyXmlEscape to true in your .btdfproj?  I'm assuming that you successfully followed the directions linked to my previous post, which prepared your PortBindingsMaster.xml.  Once you've done that, you must set ApplyXmlEscape to true or your PortBindings.xml will be invalid.

Thanks,
Tom

Sep 20, 2011 at 4:29 PM

Tom,

I did as you said. Everything worked as it should have. However once I remove the physical address and put the variable from the Settings File Generator, the deployment failed with the following error,

Error: Failed to update binding information.

Could not validate configuration of Primary Transport of Send Port 'SOA.Chicago.PurchaseOrder__AS2Send' with SSO server.

An invalid value for property "URI".

An invalid value for property "URI".

 

 I do not understand why this error occurs. I followed the set up in the BasicMasterSettings sample provided with the framework. I would appreciate your help at the earliest.

Thanks,

Praveen


Sep 20, 2011 at 4:32 PM

Tom,

My PortBindings.xml has the address as ${OutboundLocation}. It is the variable I provided in the PortBindingsMaster.xml

Thanks,

Praveen

Sep 21, 2011 at 9:22 AM

Have you exactly followed the instructions here about binding file configuration?  If you are getting an Invalid XML error, then you need to manually configure everything in BizTalk Admin and export the bindings to a file.  Then, use a file compare utility like WinMerge to compare the exported file with the PortBindings.xml generated by the Deployment Framework.  That is the only way to precisely narrow down the difference that is causing the problem.  The two of them must be virtually identical in the send and receive port sections.  If you find the exact difference, then I can probably help you identify where something is misconfigured.

Thanks,
Tom

Sep 21, 2011 at 4:08 PM

Tom,

I exactly did what you had mentioned in the other post. I used a compare tool and I found that the PrimaryAddress is not updated with the value from the settings spreadsheet. It still has the variable I had used for in the PortBindingsMaster.xml.

My PortBindingsMaster Primary Address looks like this,

<

Address>${OutboundLocation}</Address

>



My original working PortBindings.xml looks like this

<Address>http://qa1.wireless..com/as2</Address>

The PortBindings.xml generated by the Deployment Framework looks like this,

<Address>${OutboundLocation}</Address>

 

This applies to all my send ports and receive locations.  Remaining everything looks good.

Sep 22, 2011 at 10:45 PM

OK, are there any other variables that are being correctly replaced, but OutboundLocation is not?  Either way, have you directly examined the XML files that are exported next to SettingsFileGenerator.xml?  In those files you must find an element named OutboundLocation with a value, otherwise the replacement will not work.

Thanks,
Tom

Sep 27, 2011 at 3:40 PM

Hi Tom,

None of the other variables are correctly replaced. I have examined the XML files against the SettingsFileGenerator.xml. I have a value for the OutboundLocation too. I do not know why it is not working.

Thanks,

Praveen

Sep 27, 2011 at 8:09 PM

Can you please search your Output window text after running a deploy for XmlPreprocess.exe?  I'm wondering if it is not running, or if it is what parameters are being passed in.  Have you tried deleting PortBindings.xml entirely and then running a deploy to see if it is re-created as expected?

Thanks,
Tom

Sep 27, 2011 at 8:51 PM

Tom,

I see this in my output window. 

XML File Preprocessor   

Settings XML file: "C:\SourceCode\VPu\TFS\SOA.Chicago.PurchaseOrder\Deployment\EnvironmentSettings\Local.xml"  Preprocessing "C:\SourceCode\VPu\TFS\SOA.Chicago.PurchaseOrder\Deployment\PortBindingsMaster.xml" to"C:\SourceCode\VPu\TFS\SOA.Chicago.PurchaseOrder\Deployment\PortBindings.xml"...  PortBindings.xml : Set the value 'SOA.Chicago.PurchaseOrder' of 6 node(s) matching XPath '//ApplicationName'.DeployFileAdapterPhysicalPaths:  Configuring FILE adapter physical paths from binding file PortBindings.xml...    Processing FILE adapter physical paths (Send)...       Setting up path ...

I did as you said by deleting the PortBindings.xml entirely and re-running the deploy, it still gave me the same error. 

Thanks,

Praveen

Sep 29, 2011 at 11:14 PM

Do you have the property RequireXmlPreprocessDirectives defined in your .btdfproj?  If you do, please comment it out or change it to the opposite value and try again.  Thanks for your patience as we diagnose the problem.

Thanks,
Tom

Sep 30, 2011 at 4:34 PM

I do not have the RequireXmlPreprocessDirectives defined in my project. I am willing to wait until this gets fixed and am able to get out of the pain of manually deploying to my multi-server test and prod environments. This would give me back my time during deployments where I do not have to spend 4-5hrs doing manually.

Thanks,

Praveen

Oct 1, 2011 at 12:03 AM

Tom,

Additional information so that it would be useful for you to reply any suggestions 

 

Deleting file "C:\SourceCode\VPu\TFS\SOA.Chicago.PurchaseOrder\Deployment\SOA.Chicago.PurchaseOrder_PortBindings.xml".
  Microsoft (R) BizTalk Application Deployment Utility Version 3.8.368.0
  Copyright (c) 2006 Microsoft Corporation. All rights reserved.
 
  Information: Importing bindings "C:\SourceCode\VPu\TFS\SOA.Chicago.PurchaseOrder\Deployment\PortBindings.xml" into application "SOA.Chicago.PurchaseOrder" in BizTalk configuration database (server="SQ01\BZ01", database="BizTalkMgmtDb")...
  Error: Failed to update binding information.
  Could not validate configuration of Primary Transport of Send Port 'SOA.Chicago.PurchaseOrder_AS2Send' with SSO server.
  An invalid value for property "URI".
  An invalid value for property "URI".
 
 
  Command failed with 1 errors, 0 warnings.
 
C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1746,5): error MSB3073: The command "BTSTask.exe ImportBindings -Source:"C:\SourceCode\VPu\TFS\SOA.Chicago.PurchaseOrder\Deployment\PortBindings.xml" -ApplicationName:"SOA.Chicago.PurchaseOrder"" exited with code 1.
Done Building Project "C:\SourceCode\VPu\TFS\SOA.Chicago.PurchaseOrder\Deployment\Deployment.btdfproj" (Deploy target(s)) -- FAILED.

Build FAILED.

"C:\SourceCode\VPu\TFS\SOA.Chicago.PurchaseOrder\Deployment\Deployment.btdfproj" (Deploy target) (1) ->
(DeployFileAdapterPhysicalPaths target) ->
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : Could not create path .
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : Path cannot be the empty string or all whitespace.
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : Could not grant Full Access permissions to BUILTIN\Users on path .
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : The path is not of a legal form.
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : Could not create path .
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : Path cannot be the empty string or all whitespace.
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : Could not grant Full Access permissions to BUILTIN\Users on path .
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : The path is not of a legal form.
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : Could not create path .
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : Path cannot be the empty string or all whitespace.
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : Could not grant Full Access permissions to BUILTIN\Users on path .
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : The path is not of a legal form.
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : Could not create path .
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : Path cannot be the empty string or all whitespace.
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : Could not grant Full Access permissions to BUILTIN\Users on path .
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : The path is not of a legal form.
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : Could not create path .
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : Path cannot be the empty string or all whitespace.
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : Could not grant Full Access permissions to BUILTIN\Users on path .
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets : warning : The path is not of a legal form.


"C:\SourceCode\VPu\TFS\SOA.Chicago.PurchaseOrder\Deployment\Deployment.btdfproj" (Deploy target) (1) ->
(ImportBindings target) ->
  C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1746,5): error MSB3073: The command "BTSTask.exe ImportBindings -Source:"C:\SourceCode\VPu\TFS\SOA.Chicago.PurchaseOrder\Deployment\PortBindings.xml" -ApplicationName:"SOA.Chicago.PurchaseOrder"" exited with code 1.

    20 Warning(s)
    1 Error(s)

Time Elapsed 00:01:00.21

Oct 3, 2011 at 7:32 AM

Thanks, so we probably found the issue -- please add <RequireXmlPreprocessDirectives>false</RequireXmlPreprocessDirectives> to your PropertyGroup and try again.  If you don't have an <!-- ifdef --> <!-- endif --> comment block surrounding your tokens (${OutboundLocation}), and RequireXmlPreprocessDirectives is not present in your .btdfproj, then you've got a mismatch.  RequireXmlPreprocessDirectives defaults to true, and if you're not using the ifdef/endif comment blocks then XmlPreprocess won't find the tokens.

Thanks,
Tom

Oct 3, 2011 at 8:29 PM

Tom,

I am getting the following error, after doing everything you suggested.

Error: Failed to update binding information.

Could not validate configuration of Primary Transport of Send Port 'BS.SOA.Chicago.PurcasheOrder_Send_BatchedOut' with SSO server.

An invalid value for property "FileName".

I checked the FileName property and there is no difference between the working bindings file and the one created using Deployment Framework. I have the following set in my Deployment.btdfproj

<ApplyXmlEscape>False</ApplyXmlEscape

>

<EnableXmlPreprocess>True</EnableXmlPreprocess>

<RequireXmlPreprocessDirectives>True</RequireXmlPreprocessDirectives

>

So where am I  going wrong. I am trying to find out,  but with no success

An invalid value for property "FileName". 

Oct 3, 2011 at 8:46 PM

This is how my FileName property looks like

&lt;FileName vt="8"&gt;%MessageID%.edi&lt;/FileName&gt;

Oct 3, 2011 at 9:40 PM

Tom,

Everything worked fine after I made some fixes to the SettingsFileGenerator.xml. I added the filename to the path there and it just worked fine.

My question here is, Should I add the filename to the end of the path in the SettingsFileGenerator.xml for every SendPort?

Oct 3, 2011 at 10:17 PM

If this is the FILE adapter then I generally have two setting rows in the spreadsheet, one with the path for <Address> which includes path and filename, and another with just the path for the FilePath element value embedded in TransportTypeData.

To replace the values inside TransportTypeData, you can simply place the XmlPreprocess tokens inside the encoded XML when RequireXmlPreprocessDirectives is False.  When RequireXmlPreprocessDirectives is True, it's easier to handle when ApplyXmlEscape is True because the encoded XML is saved unencoded in the master bindings file (see the instructions about ElementTunnel.exe in the bindings file setup FAQ).

What do you think led to the mixup here?  You started with the BasicMasterBindings sample, right?  It has RequireXmlPreprocessDirectives set to False and does not use the ifdef comments in the bindings file.  Did you end up having those two things out of sync in your project?

Thanks,
Tom

Oct 4, 2011 at 3:31 PM

Tom,

I started with the BasicMasterBindings sample. However I was more concernced on the PortBindings.xml, that I did not notice the btdfproj for the RequireXmlPreprocessDirectives. I did not use the ifdef comments in my bindings file either. I think that is were my problem was not making my btdfproj similar to BasicMasterBindings one. Also as you had mentioned while using FILE adapter, I did not add the filename in the <Address>. That lead me to another error. Once I have fixed all these, I am able to deploy without any error. Thanks for your patience in replying to my queries.  

Can you give me an example of how to place the XmlPreprocess tokens inside the TransportTypeData. That would help me a in the future where I can make sure I have two settings row.

 

 

Thanks,

Praveen

Oct 5, 2011 at 4:15 AM

Great, I'm glad that we figured it out.  Sorry that it took so many back and forth iterations before we got it -- I should have just asked you to post a snippet of your binding file plus the .btdfproj.

In the simplest case, you can drop something like $(OutboundLocationPath) right into the encoded XML in TransportTypeData.  Generally that will work fine, it's just a bit obscure when you're visually scanning through the file.  To go beyond that means using the longer instructions in the FAQ, using ElementTunnel.exe to decode those nested XML fragments and enabling ApplyXmlEscape.  The extra effort may not be worthwhile, just depends what you prefer to see and work with in the master bindings file.

Thanks,
Tom

Oct 5, 2011 at 9:30 PM

Tom,

I am getting the following error when I run the Deployment Framework for one particular application.

  Access to the path 'C:\SourceCode\VPu\TFS\SOA.Chicago.Shipment\Deployment\InstallUtil.InstallLog' is denied.
C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0\BizTalkDeploymentFramework.targets(1342,5): error MSB3073: The command "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil.exe /ShowCallStack "..\SOA.Chicago.Shipment.PipelineComponents\bin\Debug\SOA.Chicago.Shipment.PipelineComponents.dll"" exited with code -1.
Done Building Project "C:\SourceCode\VPu\TFS\SOA.Chicago.Shipment\Deployment\Deployment.btdfproj" (Deploy target(s)) -- FAILED.

This is happening for only one application. Rest of them all work fine.

Oct 5, 2011 at 10:08 PM

You've got IncludeInstallUtilForComponents set to True.  I see that the filename includes PipelineComponents..  do you have that listed in a Components ItemGroup instead of PipelineComponents?  Is there more in that DLL than just pipeline components, and you need InstallUtil run on it?  I'd guess that the specific reason for this error is that Deployment\InstallUtil.InstallLog is read-only or got checked into source control, but it's unusual to see a PipelineComponents DLL being listed in Components.

Also, please create a new discussion for each new issue, otherwise these become a blur of unrelated topics strung together, and then it's harder for me to track what we're talking about plus hard for others to discover and understand later.  Thanks!

Thanks,
Tom

Oct 7, 2011 at 2:42 PM

Tom,

I did include it. I also did one more thing. I deleted the InstallUtil.InstallLog from the folder. It worked fine.

Answering to your questions, I have not listed the PipelineComponents in the Components ItemGroup.  There is nothing more in that DLL other than pipeline components

Oct 10, 2011 at 6:36 AM

I checked again and InstallUtil.exe is only run on DLL's listed in a Components ItemGroup (when IncludeInstallUtilForComponents).  That's why I was asking what you have listed in Components, because it would appear from that log section that InstallUtil.exe is being run on your PipelineComponents DLL.  Do you need InstallUtil for one of your assemblies?

Thanks,
Tom

Oct 10, 2011 at 3:27 PM

Tom,

You were spot on. I checked my btdfproj and in the Components itemgroup I have got the PipelineComponents DLL. I should have actually had it under the PipelineComponents itemgroup. I take back what I said in my previous post. Thanks for pointing to me in the right direction.

Thanks,

Praveen

Oct 10, 2011 at 4:02 PM

Great, glad to hear that this is all working now!

Thanks,
Tom