[This is preliminary documentation and subject to change.]
A clean application is one that follows the Designed for Microsoft® Windows® Logo guidelines so as to support the Zero Administration for Windows initiative from Microsoft. A clean application has the following characteristics:
Feature segmentation should be approached with two goals in mind:
For example, a group of advanced features only needed by specialized users might be isolated in a single component and might appear in your application's user interface only if a registry key is set to indicate that it should be exposed.
Not only can this keep your memory and storage footprint small, it also allows administrators to lock down features of your application that their users may not need in a given enterprise environment. The ability to configure your application can help administrators significantly lower training and support costs in their organizations while increasing productivity .
In order to make such flexibility possible, applications must not save settings and data to hard-coded locations on the local hard drive. Instead, they should look up the location of the appropriate paths using a shell function supplied for that purpose (SHGetSpecialFolderLocation). By doing so, they allow administrators to specify where various kinds of data reside, and to relocate data to network servers rather than local computers. A related issue is that applications using the registry must read and write carefully, in a way that will work as well on a busy remote server as on a dedicated local hard drive.