Support for IIs Handler Mappings (fix BUGBUG: For compat we are assuming these are all ISAPI MODULES) #5472

cobexer opened this Issue Jan 11, 2017 · 0 comments


None yet

2 participants

cobexer commented Jan 11, 2017

Feature: Installation of IIs Modules and Configuration on the Handler Mappings Page with the ability to fully specify all configuration parameters without hard coded problematic defaults.

The context of this feature is the installation of non IsapiModule IIs modules with a Path mapping of * ( = fully configurable as opposed to the hard coded patterns like "*.%s"). Including the ability to specify the name (MsiCustom-%u is not acceptable from my POV since names must be unique and there is no reason 2 MSIs should be able to conflict there). Also the current installation method forces some Classic Mode (I have no idea why) which is also undesirable. It's also unclear from the current documentation if using the IIs extension requires the IIs 6 compatibility on IIs 7+. IIs 6 is dead IMO.

Today this is implemented using appcmd command-line calls and some use of the WiX IIs Extension. This (as far as I understand currently) causes lots of unreliability and unclean behavior like web.config files in C:\Program Files that need to be writable by the AppPoolIdentity, strange custom actions that backup and restore web.config files to allow for user customization (like disabling basic authentication)...

I envision that feature to look something like:

<!-- Path may be "*" or "full-filename.ext" or "*.ext" or "*_whatever.ext", ... -->
<iis:WebApplicationModule Name="myModuleName" CheckPath="no" Executable="[WebDirectory]webserver.dll" Verbs="*" Path="*" Access="Script" Enabled="yes" Module="IdOfModule" />
<iis:WebServiceModule Id="IdOfModule" Name="myModuleName" Type="Native" File="WEBSERVER_DLL" />

We also have quite a few appcmd calls to enable dynamic content compression (for specific mimeTypes like application/json) and the upload limit for the iis:WebApplication.

@barnson barnson added the enhancement label Jan 17, 2017
@barnson barnson added this to the v4.0 milestone Jan 17, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment