Darth Reed

Now that I have a place to put my quasi-technical babble over at MSDN, the space is reserved for me to spew my political bile and enjoy all things sci-fi. Heh.

Wednesday, January 18, 2006

Least-Privilege Development (and why SD must be SEs, too)

Just a reminder to everyone (especially me) as you adopt virtualization and least-privilege development to improve your methods, your software quality and your profitability... DON'T FORGET TO LOG INTO THE DEVELOPMENT ENVIRONMENT AS AN ADMINISTRATOR ONCE IN A WHILE! Automatic Updates are a great thing, but if you live as a non-administrator most all of your working life (and you damn well should!), you'll never get alerted that those updates are available. Heh.

You need to treat your development image (VPC or VMware) as a real development server and practice your SE (systems engineer) skills to maintain it like a real development server. A real SD (software developer) should be an SE plus a computer scientist, AI psychologist and digital therapist. If you can't do what an SE does every day with your eyes closed in addition to the rest of your work, how can you expect to develop top-flight software or help the runtime SE team figure out what went wrong?

Strike first. Strike hard. No mercy, sir! - Cobra Kai Creed

Tuesday, January 03, 2006

BizTalk 2004 & multiple input maps no workie.

OK, so this sucks, too. BUG: You cannot create a map that accepts multiple input message schemas in the same namespace in BizTalk Server 2004 Even with the hacks in that KB article, trying to create a multiple input map with more than one SQL Data Adapter-generated schema just flat out doesn't work.

BizTalk 2004 can't handle array types returned from web services and now it can't handle multiple root node schemas in the mapper... This is me having a Merry New Year. Grrrrr.

Strike out.

RE: More on .NET 2.0 and BizTalk 2004

Turns out that the Listen shape in BTS2k4 is hosed up under .NET 2.0 (duh!) but the fix is easy. See http://www.biztalk-server.com/ftopic7021.html

Basically, you put the following in your BTSNTSvc.exe.config and you're gold:

<supportedRuntime version="v1.1.4322" />

My pet theory is that BizTalk Server 2004 is doing something naughty and not-threadsafe inside the Listen shape that wasn't caught until .NET 2.0 imposed stricter thread discipline by throwing exceptions when those naughty things were done.

We speculate. You decide.®

Strike out!

More on .NET 2.0 and BizTalk 2004

I posted something about this conflict earlier and promised more details later. The big update is that I have "successfully" reproduced the error on a single CPU machine (Virtual PC actually). The big difference between the BizTalk Virtual PC that works (on the same notebook) and the one that doesn't is the one that fails is built using the Volume License version of Microsoft Windows Server 2003 Standard Edition, and the one that works is build using the MSDN/retail version. Bust. More as details become available.

Event Type: Error
Event Source: .NET Runtime
Event Category: None
Event ID: 0
Date: 1/3/2006
Time: 5:38:31 PM
User: N/A
The description for Event ID ( 0 ) in Source ( .NET Runtime ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: Unable to open shim database version registry key - v2.0.50727.00000.

Event Type: Warning
Event Source: BizTalk Server 2004
Event Category: BizTalk Server 2004
Event ID: 5410
Date: 1/3/2006
Time: 5:38:50 PM
User: N/A
An error has occurred that requires the BizTalk service to terminate. The most common causes are an unexpected out of memory error and an inability to connect or a loss of connectivity to one of the BizTalk databases. The service will shutdown and auto-restart in 1 minute. If the problematic database remains unavailable, this cycle will repeat.

Error message: Object synchronization method was called from an unsynchronized block of code.
Error source: Microsoft.XLANGs.Engine

BizTalk host name: BizTalkServerApplication
Windows service name: BTSSvc{7F66E0D9-B60D-4831-A9B0-C30754C68BBD}

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.