As you know, per-instance pipeline configuration allows you to specify properties to a pipeline after it has been deployed. Specifically, this allows for altering the configuration of individual pipeline components, without recompiling or redeploying the pipeline itself.
This is quite useful for scenarios where you use one base pipeline artifact on several send ports or receive locations with possibly a different configuration each time.
If you’ve been playing with custom pipelines with complex properties, such as the one we’ve seen last time, you may have noticed that modifying such properties can be quite tricky. Indeed, the BizTalk Server Administration Console does not support Visual Studio-style edition of custom properties.
For this reason, you might be tempted to revert to create multiple pipelines, each one with its properties defined at design-time in Visual Studio. Or, you might find yourself creating little programs for applying the per- instance configuration.
Per-Instance Pipeline Configuration the Easy Way
Fortunately, you don’t have to resort to such extremities.
The Per-Instance Pipeline Viewer is an excellent tool, that allows you to open-up any deployed pipeline as currently configured on your BizTalk group and gives you a chance to inspect and modify the configuration.
The Per-Instance Pipeline Viewer works in conjunction with a small C++-based COM component that allows the application’s property grid to interact correctly with custom editors and type converters defined in the custom pipeline component.
With this tool, the configuration experience is virtually identical to that of doing this directly from inside Visual Studio.
For some reason, this excellent gem is quite difficult to find and is buried inside one of the author’s blog post. My guess is that it’s probably not used much. Anyway, hats of the author, John Flanders!
Registering the Per-Instance Pipeline Viewer on a 64bit Host
The Per-Instance Pipeline Viewer is quite an old and venerable tool. Internally, it relies on a COM-component to talk with the various interfaces required for implementing the Visual Studio property browser. Anyway, if you work on 64bit hosts, you may encounter some difficulties registering this COM-component.
The problem lies in the fact that the component predates the advent of mainstream 64bit machines and was not designed with this in mind. Therefore, it has been compiled for running on ‘Any CPU’. Fortunately, there is a simple fix for this: just force the 32bit flag inside the assembly with the corflags SDK utility, as explained here.
Now you can run Regsvr32 and register the component successfully.
Happy per-instance property browsing!