Closed tfabraham closed 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?
[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!
[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@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
[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
Done building project "Deployment.btdfproj" -- FAILED.
Could you please provide some more instruction how to fix it?
Thanks!
[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.
[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!
[UnknownUser@4/3/2014]
[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.
[xyunfan@4/3/2014] Please confirm you received attachment.
[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.
[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@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
[UnknownUser@4/3/2014]
Issue closed by tfabraham with comment User customizations needed to be updated for v5.5
Reason closed Not BTDF
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'