When two or more ISAPI filters (iis:WebFilter elements) are installed in the same product, the IIS Metabase FilterLoadOrder property isn't correctly updated, preventing some of the filters from being loaded by IIS.
It seems that only one of the filter names is added to the FilterLoadOrder list during the install.
It appears as if the ScaAddFilterToLoadOrder() function in "scaiis.cpp" queries the Metabase to get the current FilterLoadOrder value, inserts the filter into the list, and schedules an update to the Metabase. While the update is pending, ScaAddFilterToLoadOrder() is called again to install the next filter. The modifications are again made on the original Metabase value, rather than an incremental update based on the value from the previous call. Changes from the first call seem to be lost.
A crude fix could be to cache the FilterLoadOrder value instead of reading it from the Metabase on each ScaAddFilterToLoadOrder() call.
This appears to be an issue in Wix v2.0 and 3.0.
Logged In: YES
user_id=991639
Originator: NO
Moving to v2 since this bug likely repros there.
Logged In: YES
user_id=1731470
Originator: YES
The same issue also affects the uninstall function ScaRemoveFilterFromLoadOrder(). If two or more filters are to be uninstalled, some of them still remain in the FilterLoadOrder list after the task completes, though they have no corresponding Filter keys in the Metabase. The IIS Admin GUI seems to just ignore these residual entries in the list.
This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 15 days (the time period specified by
the administrator of this Tracker).