Sunday, April 17, 2005 8:13:29 PM (GMT Daylight Time, UTC+01:00)
I've made a few improvements to BTSnapshot over the weekend (yes this is how I spend my weekends - working on BizTalk :)).
I've made two major improvements. BTSnapshot now copies assemblies used from custom pipeline assemblies (this one was suggested from a student in my BizTalk course last week in Torrance - thanks Mir!). The only thing to look out for here is that unlike all the other assemblies you use from BizTalk, pipeline component assemblies don't go into the GAC, so there is a chance the assembly will be locked when you try use the "restore" command.
The second improvement is just speed. I've been adding features, but was mostly just happy to have the functionality that the tool provided, but as with all code I needed to do some code improvements to speed things up. Alot of the slowness was coming from one of the BizTalk types I was using - it was creating the COM+ (ServicedComponent) class that actually does the Undeploy/Deploy - was creating a seperate AppDomain everytime an undeploy or deploy or export was being done. I just went right to the COM+ class instead and this sped things up alot. I also consolidated some of the XmlSerializer code. Still I'd like it to do a semi-complex BizTalk app in a second or so - but I cut down the time in half essentially - from 25 seconds or so for a semi-complex app to under 10. So I am pretty happy about that. Enjoy the tool. If you'd like source, please email me directly and we'll talk about it
. Mostly I haven't decided to give out the source partly because of the above discussion - that I knew the code worked - but wasn't ready to expose it to the world. The next feature I plan to add is a filter expression, so that if you just want to undeploy/deploy certain pieces of your current management database, you can name all the artifacts with a token (like "AppOne_Orchestration.dll" ) and the tool will only work on artifacts that match that token.
BizTalk | BTSnapshot