Thanks Adam. That is a great list. I understand what's going on now. Since detection is based on file version, it seems that FF 17.0.3 ESR will update to the next ESR because 17.0.3 ESR = 18.x in the non-ESR version. But, TB 17.0.3 ESR = 17.0.3 in the non-ESR version. My guess is that once the non-ESR TB moves to 18.x+, then TB ESR will update properly. So in a sense, the ESR versions will start detecting and patching properly at the version where the non-ESR equivenlent version makes the first major version jump. So it may be necessary to disable updating the products until the second major version of the non-ESR line is out for each product, then enable updates and push out the most recent ESR version. Let me know if this sounds reasonable.
I wonder if there is anything additionally that can be used for ESR detection? There is a text file which will differentiate the version, if you are able to either match text inside the file, or differentiate the size difference between the two (which is small).
For TB, the text file is in %Program Files%\Mozilla Thunderbird\defaults\pref\channel-prefs.js
The text for ESR is:
pref("app.update.channel", "esr");
File size is 343 bytes
The text for non-ESR is:
pref("app.update.channel", "release");
File size is 328 bytes
These files are the same for FF, but in the FF program folder. From the looks of it, these files haven't changed in a long time. I'd have to get a look at the files in thier svn repo to really see.