In the past months we worked with add-on developers to release new versions of their add-ons that follow IE’s guidelines and requirements for add-on development. We used the Upgrade Advisor to help update their users to the new versions. Some add-on vendors asked how IE determines and displays an add-on’s version. This post answers this question so that all add-on developers can design their versioning schemes to be compatible with IE features such as Manage Add-ons and the Upgrade Advisor.
There are two fields denoting the version of a binary file in Windows: file version and product version. Since IE add-ons are dynamic link library (DLL) files loaded into the browser, each add-on contains both of these version numbers. Here’s a screenshot of the properties dialog for one of our sample toolbars. Though the file version and product version are separate fields, they typically contain the same version string:
The file version and the product version of the Contoso Toolbar can be seen in the DLL file’s Properties window
IE displays the add-on DLL’s product version in Manage Add-ons. This is also the version that IE checks when determining whether the Upgrade Advisor dialog needs to be displayed for the add-on. IE looks directly into the DLL’s properties to extract the product version each time, and does not store the version in the registry. This design prevents incompatibilities when an add-on is auto-updated to a newer version.
We recommend add-on developers to update both version fields at the same time for consistency. It’s important to update the right version. For example, an error may result in the Upgrade Advisor dialog showing up for the wrong version of an add-on or the user believing that they have an older version of an add-on installed when looking at Manage Add-ons.
Thanks again to add-on developers for providing feedback and submitting questions. We wanted to answer this particular question as a blog post so that all developers have access to the information. We look forward to continue working with add-on developers in the coming months.
Herman NgProgram Manager