Software configuration problems are a major source of failures in computer systems. In this paper, we present a new framework for categorizing configuration problems. We apply this categorization to Windows Registry-related problems obtained from various internal as well as external sources. Although infrequent, Registry-related problems are difficult to diagnose and repair. Consequently they frustrate the users. We classify problems based on their manifestation and the scope of impact to gain useful insights into how problems affect users and why PCs are fragile. We then describe techniques to identify and eliminate such Registry failures. We propose health predicate monitoring for detecting known problems, fault injection for improving application robustness, and access protection mechanisms for preventing fragility problems.