BTDF / DeploymentFramework

The Deployment Framework for BizTalk is the most powerful and customizable, yet easy-to-use toolkit for deploying and configuring your BizTalk solutions.
MIT License
53 stars 24 forks source link

OutputPath issue when migrate BTDF project from 5.0 to 5.5 #329

Closed tfabraham closed 6 years ago

tfabraham commented 6 years ago

I recently migrated a BTDF 5.0 project (BizTalk 2010) to BTDF 5.5 (BizTalk 2013) and the new project compiled without error, but it doesn't work when I deploy it. The following error occurred immediately after finishing msi installation and begin deployment. It can't event get into InstallWizard screen.

Target Clean: C:\Program Files (x86)\Vancity.Isl.Core\1.2.0\Deployment\Framework\BizTalkDeploymentFramework.WiXSetup.targets(187,5): error : Cannot continue. The OutputPath property is undefined. By default, this property is defined in the .btdfproj in PropertyGroups conditional to Debug and Release configurations.

Done building target "Clean" in project "Deployment.btdfproj" -- FAILED.

Didn't find resolution so far, could somebody help?

Attachments

BTDF5 Issue Report.doc

This work item was migrated from CodePlex

CodePlex work item ID: '10579' Vote count: '1'

tfabraham commented 6 years ago

[tfabraham@4/1/2014] OutputPath is only used during MSI builds (the "Installer" MSBuild target), which is the default target that executes when no other target is named on the MSBuild command line. Clearly that's not what should be running on a server.

Did you build the MSI on a build server? If so, did you upgrade the Deployment Framework on the build server? Do your deployments work in Visual Studio, including running an MSI build?

tfabraham commented 6 years ago

[xyunfan@4/2/2014] Thanks for your quick response. I built the MSI in VS2012. This morning, I compared the MSI built in VS2010+BTDF5.0 and MSI built in VS2012+BTDF5.5 and found the batch files are missing in new MSI. That definitely explained why my build doesn't work. But, I still don't know why the batch files are missing.

Please advise how can I solve this issue.

Thanks!

tfabraham commented 6 years ago

[xyunfan@4/2/2014] More Info:

I found the batch files in BTDF 5.0 are copied from: C:\Program Files (x86)\Deployment Framework for BizTalk\5.0\Framework

However, in BTDF 5.5, there is not batch file under the folder: C:\Program Files (x86)\Deployment Framework for BizTalk 5.5\Framework

Not quite sure if there is anything wrong there.

Please advise!

tfabraham commented 6 years ago

[tfabraham@4/2/2014] If you're referring to DeployServerWizard.bat, etc. they are no longer present in v5.5. They were called by the Start menu shortcuts. Instead, in v5.5 the shortcuts call MSBuild.exe.

If you are scripting a deployment then I recommend that you run MSBuild.exe against BizTalkDeploymentFramework.ServerExecute.targets, which is in the Framework folder where the .bat files used to be located.

Example from the comments in BizTalkDeploymentFramework.ServerExecute.targets: Assuming 1) BizTalk 2010/13 (/tv:4.0) and 2) default MSBuild.exe is MSBuild 4.x Current directory is C:\Program Files (x86)\Deployment Framework for BizTalk - Advanced\1.0> MSBuild.exe Deployment\Framework\BizTalkDeploymentFramework.ServerExecute.targets /t:Deploy /p:BT_DEPLOY_MGMT_DB=True /p:ENV_SETTINGS="C:\Program Files (x86)\Deployment Framework for BizTalk - Advanced\1.0\Deployment\EnvironmentSettings\local_settings.xml" /tv:4.0 /p:ProjectFile=Deployment.btdfproj

tfabraham commented 6 years ago

[xyunfan@4/2/2014]

Thanks for your instruction. I tried to use the shortcut: "C:\Program Files (x86)\Vancity.Isl.Core\1.2.0\Deployment\Framework\DeployTools\UacElevate.exe" "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "/p:Configuration=Server /t:LaunchServerDeployWizard Deployment.btdfproj /tv:4.0"

nothing happen.

I prepared and ran a script as following (revised based on my environement): CD\ CD Windows\Microsoft.NET\Framework\v4.0.30319\ MSBuild.exe "C:\Program Files (x86)\Vancity.Isl.Core\1.2.0\Deployment\Framework\BizTalkDeploymentFramework.ServerExecute.targets" /t:Deploy /p:BT_DEPLOY_MGMT_DB=True /p:ENV_SETTINGS="C:\Program Files (x86)\Vancity.Isl.Core\1.2.0\Deployment\EnvironmentSettings\SettingsFileGenerator.xml" /tv:4.0 /p:ProjectFile=Deployment.btdfproj

My deployment artifacts are preinstalled at C:\Program Files (x86)\Vancity.Isl.Core\1.2.0, got following error after ran the script:

Target Deploy: Target ServerDeploy: Target DeployBizTalkMgmtDB_true: Target Bootstrap: C:\Program Files (x86)\Vancity.Isl.Core\1.2.0\Deployment\Framework\BizTalkDeploymentFramework.targets(931,5): error MSB4062: The "GetParentPath" task could not be loaded from the assembly C:\Program Files (x86)\Vancity.Isl.Core\1.2.0\Deployment\Framework\DeploymentFramework.BuildTasks.dll. Could not load file or assembly 'file:///C:\Program Files (x86)\Vancity.Isl.Core\1.2.0\Deployment\Framework\DeploymentFramework.BuildTasks.dll' or one of its dependencies. The system cannot find the file specified. Confirm that the declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. Done building target "Bootstrap" in project "Deployment.btdfproj" -- FAILED. Done building target "DeployBizTalkMgmtDB_true" in project "Deployment.btdfproj" -- FAILED. Done building target "ServerDeploy" in project "Deployment.btdfproj" -- FAILED. Done building target "Deploy" in project "Deployment.btdfproj" -- FAILED.

Done building project "Deployment.btdfproj" -- FAILED.

Could you please provide some more instruction how to fix it?

Thanks!

tfabraham commented 6 years ago

[tfabraham@4/2/2014] The name of one of the two MSBuild tasks DLL's in v5.5 is BizTalkDeploymentFramework.Tasks.dll and in v5.0 there was only one named DeploymentFramework.BuildTasks.dll.

Are you certain that you have upgraded both the development workstations and your build server to v5.5? Your error message is only possible with v5.0.

tfabraham commented 6 years ago

[xyunfan@4/3/2014]

I used the same VM to do the DEV and build right now. I uninstalled VS2010 and BTDF5.0 and installed VS2012 and BTDF5.5. but my BTDF project artifacts were generated in VS2010 & BTDF5.0, I guess that could cause some problem if BTDF 5.5 is not fully backward compatible.

Please advise,

Thanks!

tfabraham commented 6 years ago

[UnknownUser@4/3/2014]

tfabraham commented 6 years ago

[xyunfan@4/3/2014] I found something new and had recorded in the attachment. I guess you might have a good idea how to fix it.

tfabraham commented 6 years ago

[xyunfan@4/3/2014] Please confirm you received attachment.

tfabraham commented 6 years ago

[tfabraham@4/3/2014] When you run the Build Server MSI command it runs the MSBuild target named "Installer". In the Visual Studio Output window you will see the exact list of files being copied. The expected behavior is that many files will be copied from the Deployment Framework installation (Program Files) path to the project obj\redist folder.

You should review the Output window messages in detail to find out from where BizTalkDeploymentFramework.targets is being copied twice. Search for BizTalkDeploymentFramework.targets and check both paths. You must still have v5.0 files around somewhere.

Another option is to just re-create your deployment project by starting again with the Add New Project wizard. You should also try opening and building one of the sample solutions included with the Deployment Framework install, and see if you can successfully deploy and create an MSI in one of those solutions.

tfabraham commented 6 years ago

[xyunfan@4/3/2014] Thanks for your advise.

I actually found the resolution to my issue. Nothing wrong with BTDF 5.5, the issue is introduced by my workaround in my code, due to our custom components, the previous BizTalkDeploymentFramework.targets generated by BTDF 5.0 didn't work well, so I have to manually modify it and override the generated BizTalkDeploymentFramework.targets in the middle of the MS build. after the migration to 5.5, I forgot to update that offline manually prepared BizTalkDeploymentFramework.targets file in the source code, that results the issue we discussed. After I updated that file, the issue is gone.

Thanks again for all you help. I will not be able to resolve this problem without your help. BTDF is a great help to our business, and we are currently have way toward fully automate our deployment process which will save us great deal of time in near future.

Really appreciate your time, your effort.

Have a good day!

tfabraham commented 6 years ago

[tfabraham@4/3/2014] Glad to hear it! Thanks for that feedback. It's great to hear that its saving you time and making things run more smoothly!

I'll go ahead and close this issue.

Thanks, Tom

tfabraham commented 6 years ago

[UnknownUser@4/3/2014]

tfabraham commented 6 years ago

Issue closed by tfabraham with comment User customizations needed to be updated for v5.5

Reason closed Not BTDF