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

Problem with BTDF v5.8 when .NET Framework 3.5 is installed on the machine #478

Open maarten-Biz opened 3 years ago

maarten-Biz commented 3 years ago

Hi, We have noticed some problems with the deployment framework v5.8 when we have .NET Framework 3.5/4.0 installed. The issue appear on my computer with Windows 10 installed and the .NET 3.5 featured activated in "Add/remove programs/features". When I uninstalled the .NET framework 3.5 the MSI worked like a charm to run.

I made the installation by running MSBuild command and generate a MSI file and then install this one on my computer.

tfabraham commented 3 years ago

Thanks - can you please provide more specifics? Is this the Deployment Framework installer MSI or an application MSI? Is the issue with the Visual Studio addin generating the MSI? What version of BizTalk?

maarten-Biz commented 3 years ago

Hi Thomas, We use a BizTalk 2020 Development on a Windows 10 PRO 2004, and the MSI is generated with MSBUILD.exe by the following command "C:\Windows\Microsoft.NET\Framework\V4.0.30319\MSBuild.exe" /p:Configuration=Release /t:Installer "C:{project location}{project name}.Deployment\Deployment.btdfproj".

So what we try to do is an MSI file of our BizTalk solution and make an MSI to run/install on our machine. When we uninstall the .NET Framework 3.5 in (add/remove Windows features) we succeded in the installation with the generated MSI file.

If we have the .NET Framework 3.5 installed, and run the MSI file we got the following error when we trying to deploy:

581DEDB

tfabraham commented 3 years ago

Thanks - odd, the process is v4.0.30319\MSBuild.exe, yet it's reporting v2.0.50727. That may have to do with the ToolsVersion in the project file... can you check that in your .btdfproj? You should have ToolsVersion="15.0" on your Project element.

maarten-Biz commented 3 years ago

Hi, I think we have found a solution for this problem. In our .btdfproj in our solution we have set the ToolsVersion=4.0. If I change this to 15.0 like you told us nothing happen.

Then I looked in C:\Program Files (x86)\MSBuild\DeploymentFrameworkForBizTalk\5.0 and the file "BizTalkDeploymentFramework.targets". In this file I have found the Target with the name "SetToolVersionParam". If I compare this Target with the older version of Deployment Framework the ToolsVersionParam have been changed from 4.0 to 12.0.

If Ichange back the value of ToolsVersionParam from 12.0 to 4.0 everything seems to work like a charm, even if I have the .NET Framework 3.5 installed on the machine.

Is this a bug in the framework or something that is wrong with the configuration on my machine?

MSBuild BizTalkDeploymentFramework targets

tfabraham commented 3 years ago

Thanks for that additional diagnosis! The Framework's runtime configuration (which often executes on machines without Visual Studio) should probably be fixed at ToolsVersion="4.0". Anything greater is only valid if someone manually installed a newer MSBuild or Visual Studio. I'll plan to revert the ToolsVersion in BizTalkDeploymentFramework.targets.