BizTalk code deployment error
As people start to write code for BizTalk 2006, it is also expected that people will reuse their existing code developed for BizTalk 2004 and use the Visual Studio 2005's upgrade feature to upgrade the code. Here I am not discussing about the upgrade as such, but more from the deployment after the upgrade.
When you build and deploy a BizTalk 2004 code upgraded to BizTalk 2006, you might get an error as - "error DEPLOY: The database or the database version is incompatible with the installed version of this product."
This happens since the deployment database as configured for your BizTalk 2004 isn't going to work for BizTalk 2006 (unless ofcourse you have done an in-place upgrade for your server environment also) since the schema has been changed a bit. The database configuration is part of the .proj.user file for the BizTalk project and though you can modify this property via Project properties wizard, you can as well delete this .proj.user file before you open the solution in VS 2005 for deployment.
The .proj.user file is recreated when you open a project in VS and in case of BizTalk, it will automatically pick up the values for the development and deployment server from BizTalk's registry configuration.
Another error that you might get is - "Deployment could not be started. One or more deployment properties are not configured." and resolution is the same. Delete the .proj.user file.
In general it is a good practice to not to copy .suo and .user files when copying solutions across machines. Even when downloading code, always delete the .suo and .user files before use since these are user specific settings and there is usually no point of using the settings as configured on someone else's machine. The best practice is enfored by configuration control systems and when you check in a VS solution in VSS, it will not check in the .suo and .user files.
The good part is that the new Application property introduced in BizTalk 2006 is actually part of .proj file and hence deleting the .proj.user file won't delete this setting. So you can keep using the same application name, but configure to work with your own databases.

Comments
Hi,
I'm using BTS 2006 and also referencing some class file which is developed in VS.NET 2005.
When i deploy my project am getting "one or more deployment properties are not configured" error message.
Do you have any idea?
Thanks,
Raja
Posted by: Raja Kumaravel | January 31, 2007 08:31 PM
@Raja, The error indicates some property necessary for deployment isn't configured. I have seen that this error comes if the DB value isn't set correctly. In the project properties dialog, select Configuration Properties>Deployment from the left tree and then select Deployment from the Configuration drop down (towards the top). Ensure that the properties on the right side are all set properly. Most likely the Server name or the Configuration Database entry is missing.
Posted by: Atul Gupta | February 9, 2007 12:33 PM
Atul,
You are correct. I did it.
Thanks,
Raja Kumaravel
Posted by: Raja Kumaravel | February 10, 2007 11:40 PM
@Raja, Great !
Posted by: Atul Gupta | February 12, 2007 04:25 AM
Hi,
I am new to BzT2006.would like to know if an ordinary database would be enough for the configuration database
Posted by: Geo | May 25, 2007 10:26 AM
Geo: When you say ordinary database, what is it that you have in mind? If you have worked with BizTalk 2004, the same database can work with BizTalk 2006 as well. I mean there you would have used SQL 2000 and BizTalk 2006 can work with SQL 2000 as well, though it delivers it full potential with SQL 2005.
Posted by: Atul Gupta | May 30, 2007 06:37 AM
Hi ,
Am working with BTS 2006 and VS.NET 2005,when deployed project am getting ERROR "Deployment could not be started.One or more deployment properties are not configured."
In Project Property Page -> Cinfiguration Properties -> Deployment
I have set like this
Server - (LOCAL)
Configuration Database -
Application Name - ProjectName
Redeploy - True
Install to Global Assembly Cache - True
Restart Host Instances - False
Configuration drop down list as Active(Deployment)
Platform drop down list as Active(.NET)
Posted by: vindhya | July 18, 2008 11:05 AM
Vindhya, i don't see a value for the Configuration Database property. For development and unit testing, this can usually be the same as your development database.
Posted by: Atul Gupta | July 21, 2008 09:22 AM