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!