Setting and updating of system components depositfales
The example scenarios focus on settings stored in the registry; if the app uses other storage mechanisms such as isolated storage, similar analysis is required.
The following sections outline some of the important considerations for managing system settings apps in the course of updates, backup and restore operations, and resets: Settings apps are updated by using the Store delivery mechanism.
Initially both the settings app and the device driver use the same registry setting A, as illustrated here.
When the user makes changes using the 1.0 settings app, but the 1.1 driver code is using registry setting B, the settings app will not work as intended.
In addition, the user may initiate a backup and restore sequence or reset the device, either of which may change the active version of the settings app.
A strategy must be developed to test for and address all of the possible scenarios.
Alternatively, approaches such as adding a version number check when the settings app starts (to determine which registry values to use) may be appropriate.
The user may determine that they need to download a newer version of the settings app.
Updates to settings apps are delivered separately from the OS updates and must be initiated by the user.
Because of this, the settings app must be designed to manage issues such as backward compatibility.
Because of the complexity of synchronizing the settings app and device drivers, registry setting changes should be avoided.
To avoid the need to update existing registry data, your code could be updated to read the existing registry data and migrate it to a new subkey, so that any existing user settings are preserved.