I had never played with the HL7
Accelerator for BizTalk Server 2006 before today, but for a new project I needed
to have the MLLP adapter installed so that I could look at some of the adapter configuration
settings in receive locations and send ports.
So I proceeded to hit MSDN Subscriber downloads to find the accelerator and download
it, which proved harder than necessary because of the poor organization of the menu.
Hint: It’s not in the root “BizTalk Server Accelerators” node but in the one
with the same node under “BizTalk Server 2006”. Go figure!
Anyway, once I downloaded v1.3 of the accelerator I tried to install it. Unsuccessfully.
I kept getting the following error message as soon as the installer started:
Error: Installation cannot be performed because the BizTalk
Server has not been configured or user account is not a member of the BizTalk Server
Administrators group.
After googling for a bit I found the KB
article 927137, which says this problem will happen because the HL7 accelerator
does not support BizTalk installations configured using domain local groups and that
you needed to configure BizTalk using universal groups. Alas, I was not on a domain
and was just installing on a standalone Virtual Machine with BizTalk configured using
machine-local groups. The KB article doesn’t state that local groups are also forbidden,
but it would appear that way, so keep that in mind.
However, I didn’t give up, as I still needed to get that information and didn’t want
to install a domain controller around just to install the MLLP adapter. So I fired
up the great ORCA MSI
editor, opened “Microsoft BizTalk Accelerator for HL7 1.3.msi” and managed to find
a way to let the setup program complete the installation. I wouldn’t recommend this
to anyone, but it might prove entertaining to some of you. Here’s what I did:
First of all, I needed to remove the custom action that was validating the user
groups at the beginning of the installer. I found it under the CustomAction table
with the name CheckBtsAdminUser. Just right-click on it, select “Drop Row” and the
check is gone.
I saved the installer and ran it again and this time it allowed me to go further,
but I noticed it would not allow me to install all the components (including the MLLP
adapter which is what I needed); they wouldn’t even appear on the “features” screen.
So back to Orca it was.
I then looked to see if any conditions where causing problem (it was reasonable),
and eventually found that indeed the missing features where depending on a check in
the Condition table of the MSI. So I edited them. I went through each feature and
removed the “NOT BTSCOMPLETECHECK” part of the condition expression for each feature.
I saved the installer and tried again and success! All the previously missing features
could now be installed. I proceeded with the installation and was able to complete
it successfully, though it was a little bumpy. First I ran into an error starting
the “Auditing and Logging Service”. Strangely enough it was caused by a missing AuditingLoggingService.exe.config
file in the “%ProgramFiles%\Microsoft BizTalk Accelerator for HL7 1.3\bin” folder;
I just created an empty configuration file and it worked.
Right at the very end I also got an error message about not being able to create the
MLLP receive location, but regardless of that the installation was complete and the
MLLP adapter was indeed available. So it was a happy story in the end, as I was able
to look at the stuff I needed. Thank goodness for Orca!