RAPID PUBLISHING ARTICLES PROVIDE INFORMATION DIRECTLY FROM WITHIN THE MICROSOFT SUPPORT ORGANIZATION. THE INFORMATION CONTAINED HEREIN IS CREATED IN RESPONSE TO EMERGING OR UNIQUE TOPICS, OR IS INTENDED SUPPLEMENT OTHER KNOWLEDGE BASE INFORMATION.
On Windows Vista Business, Home Premium and Home Basic, when you try to add additional features via Control Panel > Programs and Features > Turn Windows features on or off, the process may take a very long time, and you may receive the following error message:
An error occurred. Not all of the features could have been changed.
This issue will occur when multiple Language Packs were installed on the system at the factory.
Some system manufacturers install several Language Packs for their target markets at the factory so their customers can select the language they need for their own locale. On Windows Vista Business, Home Premium and Home Basic, this selection is non-reversible. Windows will keep the Language Pack selected by user at first boot and automatically “unstage” the others during the first 24 hours of system idle time. There may be slow system responsiveness during this time and, in rare instances, the system may hang.
With Windows Vista Business, Home Premium and Home Basic, any Windows features you turn on will be installed for all installed Language Packs regardless of whether they are active or “unstaged,” and will get updated with all the hotfixes that have been applied to your computer. Because of this, it may take an extended period of time for additional features to be added during the first 24 hours the system is running.
Microsoft is aware of this issue.
To work around the issue, allow the system to sit idle for 24 to 48 hours after initial setup, and then restart before turning on any Windows features. This will reduce the amount of time it takes to add additional features and will eliminate the error message, but this will not completely remedy the issue.
Alternatively, you may be able to work around the issue using LPREMOVE.EXE from an elevated Command Prompt. LPREMOVE.EXE is a Scheduled Task which runs the next time the system is started and unstages unused Language Packs. Type LPREMOVE.EXE /? in the Command Prompt for more information on its usage.
MICROSOFT AND/OR ITS SUPPLIERS MAKE NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY, RELIABILITY OR ACCURACY OF THE INFORMATION CONTAINED IN THE DOCUMENTS AND RELATED GRAPHICS PUBLISHED ON THIS WEBSITE (THE “MATERIALS”) FOR ANY PURPOSE. THE MATERIALS MAY INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS AND MAY BE REVISED AT ANY TIME WITHOUT NOTICE.
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, MICROSOFT AND/OR ITS SUPPLIERS DISCLAIM AND EXCLUDE ALL REPRESENTATIONS, WARRANTIES, AND CONDITIONS WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO REPRESENTATIONS, WARRANTIES, OR CONDITIONS OF TITLE, NON INFRINGEMENT, SATISFACTORY CONDITION OR QUALITY, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE MATERIALS.