Biztalk server 2010 provide utilities that allow us to convert the older style DTD files into the newer style XSD files. However, for some mysterious reason, the DLLs that enabled this functionality are provided in the installation package but they are not automatically made available. This post describes how to activate those features.
To convert the DTD file, you should
right-click on the Biztalk server project
-> Add Generated Items
-> select “Generate Schemas”
you will see a dialog box “Generate Schemas”
Choose your document type as DTD from the document type drop-down list.
You may notice however, that the list item says “DTD (Not Loaded)”. Sadly, this is by design. See http://msdn.microsoft.com/en-us/library/Aa561107(v=BTS.70).aspx
I tried to run InstallDTD.vbs, as instructed in the error message and the document referenced above, but I was unsuccessful due to permission issues. It probably has something to do with additional security in the version of Windows 7 that I have, that were not present when these scripts were developed.
I tried the obvious permissions fixes, but I was running as administrator, and local administrators already should have had adequate permissions . I lost my patience in my attempts to overcome the permissions errors. So I examined the scripts to see what they did. It turns out that the scripts simply copy a couple of DLLs from one location to another. The exact path is determined from a registry setting as indicated in the script. In my case, I found the DLLs at the following location
C:\Program Files (x86)\Microsoft BizTalk Server 2010\SDK\Utilities\Schema Generator
they are named
I simply copied these two DLLs to the desired target location C:\Program Files (x86)\Microsoft BizTalk Server 2010\Developer Tools
and restarted Visual Studio. Y did this by hand, restarted Visual Studio, and I was then able to access the functionality that was formerly missing.
I would love to know why the installation designers chose to make us go through this tedious activity, which, as I have just demonstrated, is fragile depending upon variations in platform security. Since I cannot think of a good reason, I wonder whether these capabilities were added on to the product at a later date, without fully integrating them into the installation stream.