BizTalk development on Server 2008 R2

30 September 2009

Microsoft recently RTM-ed a new release of their server operation system ‘Windows Server 2008 R2’. Although debatable I think they did the right thing when they decided to only release a 64 bit version.

From a developer perspective however there is a nasty side effect that you should be aware of. This is caused by the fact that there is no MS virtualization tool running on a client OS that supports 64 bit guests.

Most developers follow the best practice to do development in a virtual environment and use their host for e-mail, word processing, etc.

In my case the host was Windows 7. I used my server running hyper-v to initially build the a new virtual BizTalk 2009 development box running on Windows Server 2008 R2. After that was done I wanted to transfer the .vhd to my laptop and run it from there.

As far as I know the MS options for running the VM are:

  • Microsoft Virtual PC 2007
  • Microsoft Virtual Server 2005 R2
  • Microsoft Windows Virtual PC (currently RC)

As none of these options support 64 bit guest meaning I can’t use a Microsoft Virtualization tool to run my new Windows Server 2008 R2 development environment. Hyper-V supports 64 bit guest OS but doesn’t run on Windows 7.

The “not so nice” solutions left for me were:

  • Use a non MS virtualization tool (like sun virtual box or VMware) that support 64 bit guests.
  • Replace Windows 7 on my host with windows server 2008 hyper-V.
  • Rebuild the virtual machine and use another 32 bit OS.

Missing orchestration template

30 September 2009

Recently I had some trouble when I wanted to create a new orchestration in Visual Studio 2008. The template for the orchestration was gone while the other templates (schemas, maps, etc.) where visible:

no orchestration

I could easily fix this by repairing the BizTalk installation but I must say I do encounter more strange problems with BizTalk 2009 and Visual Studio 2008. It looks like fixes and patches to VS mess up the BizTalk 2009 functionality.

This is probably related to the problem (and solution) described in Matt Milners post. I didn’t try it but I think Matt’s registry solution would have also fixed the issue above.