Phone manufacturers sometimes require to provide installable upgrades to the existing ROM plug-ins delivered with the phone. The requirement arises to fix defects or add a new functionality.
The plug-in framework identifies and uses the plug-in upgrades in the following scenarios:
Client code uses the ROM-only plug-in resolver, as described in Using the ROM-only resolver.
The plug-in upgrade location is specified at ROM build time using the SPI (Static Plug-in Information) file.
For the upgrades to be successful, the existing ROM plug-in and the upgrade must meet certain conditions. When an upgrade is created, ensure the existing ROM plug-in and the upgrade meet the following requirements:
The name of the plug-in DLL and resource file of the upgrade must be the same as the existing ROM plug-in.
The interface UID and implementation UID for the upgrade and the existing ROM plug-in must be the same.
The plug-in DLL's Vendor ID must be the same in the upgrade and the existing ROM plug-in.
The value of version_no member of IMPLEMENTATION_INFO must be higher for the upgrade than the existing ROM plug-in. For more details, see Creating a Standard Registration Resource File.
The value of VERSION variable in the project file for the upgrade must be higher than the value for the VERSION variable in the project file (.mmp file) of the ROM plug-in.
The VERSION variable normally has the default value of 10.0 and is not explicitly set. But for the upgrade it has to be set to a value higher than the ROM plug-in. For more details, see Language-Neutral Files .
If the values for plug-in DLL name ,interface UID and implementation UID differ, the plug-in framework treats the upgrade plug-in as a new implementation.