While doing some tests to document how the AWI handles session colors, I discovered a much more straightforward way to deliver custom favicon files with an AWI deployment.
If you use non-standard session colors, the AWI will dynamically generate ICO files for these colors at startup, and will place them in the root AWI application directory with names in the format favicon_hex-rbg-color.ico, e.g., favicon_2CADA7.ico.
I discovered that if the favicons corresponding to custom session colors already exist with the expected filenames, the AWI does not overwrite them with dynamically-generated ones, but uses the files that are already there. One can take advantage of this mechanism to deliver one's own custom favicon files - one icon per custom session color.
I supplied one ICO file for each of our systems, and named each file after the associated session color.
I then deployed the AWI with AUTOMIC_SESSION_COLORS set to #FA9607 - EXP2, #FFCC00 - EXP, #2A97FF - DEV, #00C400 - ITE, #FF0000 - PROD;
.
The session colors menu looked like this:
Selecting one of the session colors switches the favorite icon to the ICO whose file name is based on that color.
Using this approach, I can bundle all the icons regardless of the deployment target, and simply use the AUTOMIC_SESSION_COLORS variable to specify just one session color per AWI system. This works, but the user still has to select the session color from the list or the default, No Color, will be used.
I have found no way to remove the No Color option or specify a different default. This means there is no way to ensure that a particular session color is used. (The main color and logo are fixed at AWI deployment time, so this does help ensure distinctiveness of each AWI system.)