If, like me, you are always living on the edge and using the most recent versions of your favorite operating systems, software and utilities, you might have been using Windows Server 2008 R2 for a while. If you’re working in the field of RFID solutions, you might have tried to install Microsoft BizTalk Server RFID and encountered the following frustrating popup message:
Such a shame ! We so wanted to have our latest development server running for a spin with RFID.
In fact, this problem occurs both for Windows Server 2008 R2 and… Windows 7. One might wonder what kind of tortured soul would even think about doing such endeavours, but I digress! In this post, I’ll show that there is a simple workaround to achieve a successfull installation.
If you’re still reading, then please note that there are two things (at least) that need to be done before attempting to install the software.
The first thing is to try and convince BizTalk Server RFID to drop its bits on the platform. That is, we need to circumvent the operating system check performed at install time. The second thing is more a side effect of using an updated platform and requires a minor tweak for a successful outcome.
Fooling the Installer
One of the nice things about the Windows Installer technology, is that an installation program is actually not a program at all. It’s a database. That’s right. For those unfamiliar with the concept, please note that the program that drives the installation is actually msiexec.exe. Its job is to scan the contents of the .msi package for instructions on actually what to do, and when.
As part of the Platform SDK Web Install for Windows Server 2003 SP1, Microsoft includes the Orca utility, that proves very useful for inspecting and modifying the contents of Windows Installer packages. Bear in mind that this is different than a full blown authoring program like InstallShield or the experience provided by Setup and Deployment projects in Visual Studio.
First, copy the contents of the folder for BizTalk RFID from the installation medium to a temporary location on your hard disk. Then run the Orca utility, and open up the RfidServices.msi package.
scroll down and locate the LaunchCondition table on the left pane. Notice the first line on the right. This is the operating system version check. In case the condition associated with this check is met, the message on the second column is displayed and installation aborts.
So, right-click the condition and drop the line. Then, save the modification and close the program. If you run the setup program, located in the same folder, you’ll finally see this:
Much better, isn’t it? Well, before going any further, there’s still one thing to make sure of.
The IIS Worker Process Group
Upon installation, Microsoft BizTalk Server RFID will offer to create a couple of accounts to run its services under. As RFID relies on IIS 6.0, it tries to assign those accounts to the IIS_WPG group that provides the necessary privileges and permissions to run a worker process within IIS.
However, Windows Server 2008 R2 comes with IIS 7.0 which changes the permission model and does not include the IIS_WPG group. Instead, it comes with an IIS_IUSRS group for the same purpose.
So the easy fix is to actually create the group to make the BizTalk RFID installation happy.
Afterwards, you will be able to delete this group and transfer the necessary accounts to the IIS_IUSRS group instead.
And voilà! A successful installation.
Please, bear in mind that this is unsupported. As far as I can tell, I still haven’t noticed any negative side effects but your mileage may vary.