| Introduction | xxi |
| PART I REGISTRY OVERVIEW | |
| 1 CHAPTER | 3 |
| Learning the Basics | 3 |
| Heart and Soul of Windows XP | 3 |
| For Power Users | 5 |
| For IT Professionals | 5 |
| Registry Warnings and Myths | 7 |
| Must-Know Concepts | 8 |
| Security Identifiers | 8 |
| Globally Unique Identifiers | 11 |
| Hexadecimal Notation | 11 |
| Bits and Bit Masks | 13 |
| Little-Endian and Big-Endian | 14 |
| ANSI and Unicode Encoding | 15 |
| Null and Empty Strings | 15 |
| Structure of the Registry | 16 |
| Keys | 16 |
| Values | 18 |
| Types | 19 |
| Organization of the Registry | 22 |
| HKEY_USERS | 23 |
| HKEY_CURRENT_USER | 24 |
| HKEY_LOCAL_MACHINE | 25 |
| HKEY_CLASSES_ROOT | 26 |
| HKEY_CURRENT_CONFIG | 27 |
| Registry Management Tools | 27 |
| Registry Hive Files | 28 |
| Hives in HKLM | 29 |
| Hives in HKU | 29 |
| 2 Using the Registry Editor | 31 |
| Running Regedit | 32 |
| Exploring Regedit | 33 |
| Key Pane | 34 |
| Value Pane | 36 |
| Searching for Data | 36 |
| Searching Incrementally | 38 |
| Searching in Binary Values | 38 |
| Bookmarking Favorite Keys | 39 |
| Using Better Techniques | 40 |
| Editing the Registry | 41 |
| Changing Values | 42 |
| Adding Keys or Values | 45 |
| Deleting Keys or Values | 45 |
| Renaming Keys or Values | 46 |
| Printing the Registry | 46 |
| Exporting Settings to Files | 48 |
| Registration Files | 50 |
| Win9x/NT4 Registration Files | 51 |
| Hive Files | 52 |
| Text Files | 52 |
| Working with Hive Files | 53 |
| Getting Beyond Basics | 54 |
| 3 Backing Up the Registry | 55 |
| Editing the Registry Safely | 56 |
| Copying Single Values | 56 |
| Backing Up to REG Files | 58 |
| Backing Up to Hive Files | 59 |
| Fixing Corrupt Settings | 61 |
| Allowing Windows XP to Fix Errors | 62 |
| Repairing an Application's Settings | 63 |
| Removing Programs from the Registry | 64 |
| Using Another Computer's Settings | 66 |
| Using System Restore | 66 |
| Taking Configuration Snapshots | 68 |
| Peeking Under the Covers | 69 |
| Managing System Restore | 71 |
| Hacking System Restore | 72 |
| Scripting System Restore | 73 |
| Backing Up the Registry Regularly | 73 |
| Planning a Backup Strategy | 75 |
| Backing Up System State Data | 76 |
| Restoring System State Data | 78 |
| Backing Up User Settings | 79 |
| Recovering from Disasters | 79 |
| Advanced Options Menu | 80 |
| Recovery Console | 81 |
| Automated System Recovery | 83 |
| 4 Hacking the Registry | 85 |
| Redirecting Special Folders | 86 |
| Customizing Shell Folders | 88 |
| Renaming Desktop Icons | 91 |
| Using Custom Icon Images | 92 |
| Adding Desktop Icons | 92 |
| Hiding Desktop Icons | 94 |
| Customizing File Associations | 95 |
| Running Programs from My Computer | 96 |
| Open Command Prompts at Folders | 98 |
| Rooting Windows Explorer at a Folder | 99 |
| Adding InfoTips to Program Classes | 101 |
| Adding File Templates | 103 |
| Preventing Messenger from Running | 104 |
| Personalizing the Start Menu | 104 |
| Configuring the Menu's Contents | 105 |
| Trimming the Frequently Used Programs List | 107 |
| Restoring the Sort Order | 107 |
| Customizing Internet Explorer | 108 |
| Extending the Shortcut Menus | 109 |
| Changing the Toolbar Background | 110 |
| Customizing Search URLs | 110 |
| Clearing History Lists | 113 |
| Running Programs at Startup | 114 |
| Controlling Registry Editor | 114 |
| Default Action for REG Files | 114 |
| Storing Window Position and Size | 115 |
| Logging On Automatically | 115 |
| Changing User Information | 116 |
| Looking for More Hacks | 116 |
| 5 Mapping Tweak UI | 119 |
| General | 120 |
| Focus | 122 |
| Mouse | 123 |
| Hover | 124 |
| Wheel | 124 |
| X-Mouse | 125 |
| Explorer | 125 |
| Shortcut | 127 |
| Colors | 127 |
| Thumbnails | 128 |
| Command Keys | 128 |
| Common Dialog Boxes | 129 |
| Taskbar | 131 |
| Grouping | 131 |
| XP Start Menu | 132 |
| Desktop | 133 |
| First Icon | 134 |
| My Computer | 134 |
| Drives | 134 |
| Special Folders | 135 |
| AutoPlay | 136 |
| Control Panel | 138 |
| Templates | 138 |
| Internet Explorer | 139 |
| Search | 139 |
| View Source | 141 |
| Command Prompt | 141 |
| Logon | 141 |
| Autologon | 142 |
| PART II REGISTRY IN MANAGEMENT | |
| 6 Using Registry-Based Policy | 145 |
| Editing Local Policies | 146 |
| Group Policy Extensions | 149 |
| Registry-Based Policy | 149 |
| Group Policy Storage | 152 |
| Extending Registry-Based Policy | 153 |
| Comments | 155 |
| Strings | 155 |
| CLASS | 156 |
| CATEGORY | 157 |
| KEYNAME | 158 |
| POLICY | 158 |
| EXPLAIN | 160 |
| VALUENAME | 161 |
| VALUEON and VALUEOFF | 161 |
| ACTIONLIST | 161 |
| PART | 162 |
| CHECKBOX | 165 |
| COMBOBOX | 166 |
| DROPDOWNLIST | 168 |
| EDITTEXT | 170 |
| LISTBOX | 171 |
| NUMERIC | 173 |
| TEXT | 175 |
| Deploying Registry-Based Policy | 175 |
| Windows 2000 Server-Based Networks | 176 |
| Windows NT-Based and Other Networks | 177 |
| Customizing Windows XP | 178 |
| Using the Group Policy Tools | 181 |
| Gpresult | 181 |
| Gpupdate | 182 |
| Help and Support Center | 183 |
| Resultant Set of Policy | 184 |
| Finding More Resources | 185 |
| 7 Managing Registry Security | 187 |
| Setting Keys' Permissions | 188 |
| Adding Users to ACLs | 189 |
| Removing Users from ACLs | 190 |
| Assigning Special Permissions | 191 |
| Mapping Default Permissions | 192 |
| Taking Ownership of Keys | 198 |
| Auditing Registry Access | 198 |
| Preventing Local Registry Access | 200 |
| Restricting Remote Registry Access | 200 |
| Deploying Security Templates | 201 |
| Creating a Security Management Console | 202 |
| Choosing a Predefined Security Template | 203 |
| Building a Custom Security Template | 204 |
| Analyzing a Computer's Configuration | 205 |
| Modifying a Computer's Configuration | 207 |
| Deploying Security Templates on the Network | 208 |
| 8 Finding Registry Settings | 209 |
| Comparing REG Files | 210 |
| Using WinDiff | 212 |
| Using Word 2002 | 213 |
| Comparing with Reg.exe | 215 |
| Auditing the Registry | 216 |
| Setting Audit Policy | 216 |
| Auditing Registry Keys | 217 |
| Analyzing the Results | 218 |
| Monitoring the Registry | 218 |
| Using Winternals Regmon | 219 |
| Filtering for Better Results | 220 |
| PART III REGISTRY IN DEPLOYMENT | |
| 9 Scripting Registry Changes | 225 |
| Choosing a Technique | 226 |
| Installing INF Files | 227 |
| Starting with a Template | 228 |
| Linking Sections Together | 231 |
| Adding Keys and Values | 232 |
| Deleting Keys and Values | 233 |
| Setting and Clearing Bits | 234 |
| Using Strings in INF Files | 236 |
| Setting Values with REG Files | 238 |
| Exporting Settings to REG Files | 239 |
| Creating REG Files Manually | 241 |
| Encoding Special Characters | 242 |
| Deleting Keys Using a REG File | 242 |
| Editing from the Command Prompt | 242 |
| Adding Keys and Values | 244 |
| Querying Values | 245 |
| Deleting Keys and Values | 246 |
| Comparing Keys and Values | 246 |
| Copying Keys and Values | 247 |
| Exporting Keys to REG Files | 248 |
| Importing REG Files | 248 |
| Saving Keys to Hive Files | 248 |
| Restoring Hive Files to Keys | 249 |
| Loading Hive Files | 249 |
| Unloading Hive Files | 249 |
| Scripting Using Windows Script Host | 250 |
| Creating Script Files | 250 |
| Running Script Files | 253 |
| Formatting Key and Value Names | 254 |
| Adding and Updating Values | 255 |
| Removing Keys and Values | 255 |
| Querying Registry Values | 256 |
| Creating Windows Installer Packages | 257 |
| 10 Deploying User Profiles | 259 |
| Exploring User Profiles | 260 |
| Profile Hives | 262 |
| Profile Folders | 264 |
| Special Profiles | 266 |
| Getting User Profiles | 268 |
| Local Profiles | 268 |
| Roaming Profiles | 269 |
| Using Roaming User Profiles | 270 |
| Managing Roaming User Profiles | 272 |
| Understanding Fast Network Logon | 274 |
| Understanding the New Merge | 275 |
| Deploying Default User Profiles | 276 |
| Customizing User Settings | 278 |
| Cleaning User Profiles | 279 |
| Creating Default User Folders | 281 |
| Deploying Default User Folders | 282 |
| Coexisting with Earlier Versions of Windows | 283 |
| Migrating User Settings to Windows XP | 284 |
| Files And Settings Transfer Wizard | 284 |
| User State Migration Tool | 285 |
| 11 Mapping Windows Installer | 287 |
| Repairing Registry Settings | 288 |
| Managing Windows Installer with Policies | 289 |
| Installing with Elevated Privileges | 292 |
| Caching Transforms in Secure Location | 292 |
| Locking Down Windows Installer | 293 |
| Removing Windows Installer Data | 294 |
| Msizap.exe | 294 |
| Msicuu.exe | 296 |
| Inventorying Applications | 296 |
| 12 Deploying with Answer Files | 299 |
| Creating Distribution Folders | 300 |
| Customizing Answer Files | 302 |
| Setup Manager | 306 |
| Notepad and Other Text Editors | 308 |
| Adding Settings to Unattend.txt | 310 |
| [GuiRunOnce] | 310 |
| Cmdlines.txt | 312 |
| Logging On Automatically After Installation | 312 |
| 13 Cloning Disks with Sysprep | 315 |
| Cloning Windows XP | 316 |
| Windows XP Tools | 317 |
| Sysprep Limitations | 318 |
| Building a Disk Image | 320 |
| Customizing Mini-Setup | 320 |
| Preparing for Duplication | 323 |
| Cloning the Disk Image | 324 |
| Reducing Image Count | 326 |
| Filling SysprepMassStorage Manually | 327 |
| Filling SysprepMassStorage Automatically | 328 |
| Cleaning Up After Sysprep | 328 |
| Mapping Sysprep Settings | 329 |
| Keeping Perspective | 331 |
| 14 Microsoft Office XP User Settings | 333 |
| Profile Wizard | 334 |
| Customizing the Wizard | 335 |
| Capturing Settings | 344 |
| Deploying Settings | 345 |
| Custom Installation Wizard | 346 |
| Add/Remove Registry Entries | 347 |
| Customize Default Application Settings | 348 |
| Change Office User Settings | 350 |
| Add Installations and Run Programs | 351 |
| Custom Maintenance Wizard | 352 |
| Group and System Policy | 352 |
| 15 Working Around IT Problems | 355 |
| Controlling Just-in-Time Setup | 356 |
| Outlook Express | 357 |
| Windows Media Player | 358 |
| Desktop Themes | 358 |
| Other Shortcuts | 359 |
| Removing Components | 361 |
| Answer File [Components] Section | 361 |
| Extending Windows Components Wizard | 363 |
| Removing Components After Installation | 364 |
| Hiding Non-Removable Components | 365 |
| Removing Policy Tattoos | 367 |
| Elevating Processes' Privileges | 369 |
| Group Policy | 369 |
| Secondary Logon | 370 |
| Scheduled Tasks | 371 |
| AutoLogon | 372 |
| Severing File Associations | 374 |
| Deploying Office XP Trusted Sources | 375 |
| Enabling Remote Desktop Remotely | 376 |
| Customizing the Windows XP Logon | 376 |
| PART IV APPENDICES | |
| A File Associations | 379 |
| Merge Algorithm | 379 |
| File Extension Keys | 380 |
| OpenWithList | 381 |
| PerceivedType | 381 |
| ShellNew | 382 |
| Program Class Keys | 382 |
| DefaultIcon | 383 |
| EditFlags | 384 |
| Shell | 385 |
| Specialized Keys | 387 |
| Applications | 387 |
| SystemFileAssociations | 388 |
| Unknown | 388 |
| COM Class Keys | 388 |
| B Per-User Settings | 391 |
| AppEvents | 392 |
| Console | 393 |
| Control Panel | 394 |
| Desktop | 395 |
| Desktop\Window Metrics | 399 |
| Mouse | 401 |
| Environment | 402 |
| Keyboard Layout | 402 |
| Network | 403 |
| Printers | 403 |
| SessionInformation | 403 |
| Software | 404 |
| Classes | 404 |
| Microsoft\Command Processor | 405 |
| Microsoft\Internet Connection Wizard | 406 |
| Microsoft\Internet Explorer | 406 |
| Microsoft\Internet Explorer\MenuExt | 407 |
| Microsoft\Internet Explorer\SearchURL | 408 |
| Microsoft\MessengerService | 409 |
| Microsoft\Office | 410 |
| Microsoft\Search Assistant | 412 |
| Microsoft\VBA\Trusted | 412 |
| Policies | 413 |
| Software\Microsoft\Windows\CurrentVersion | 414 |
| Explorer\Advanced | 415 |
| Explorer\AutoComplete | 417 |
| Explorer\ComDlg32 | 418 |
| Explorer\HideDesktopIcons | 418 |
| Explorer\HideMyComputerIcons | 418 |
| Explorer\MenuOrder | 418 |
| Explorer\RecentDocs | 419 |
| Explorer\RunMRU | 419 |
| Explorer\User Shell Folders | 419 |
| C Per-Computer Settings | 421 |
| HARDWARE | 422 |
| DESCRIPTION | 423 |
| DEVICEMAP | 423 |
| SAM | 424 |
| SECURITY | 425 |
| SOFTWARE | 425 |
| Classes | 425 |
| Clients | 426 |
| Microsoft\Active Setup | 427 |
| Microsoft\Command Processor | 427 |
| Microsoft\Driver Signing | 428 |
| Microsoft\InternetExplorer | 429 |
| Microsoft\Sysprep | 429 |
| Microsoft\Windows NT\CurrentVersion | 430 |
| Policies | 430 |
| SOFTWARE\Microsoft\Windows\CurrentVersion | 431 |
| App Paths | 432 |
| Applets | 432 |
| Explorer | 432 |
| Explorer\AutoplayHandlers | 432 |
| Explorer\Desktop\NameSpace | 433 |
| Explorer\FindExtensions | 434 |
| Explorer\HideDesktopIcons | 434 |
| Explorer\HideMyComputerIcons | 434 |
| Explorer\MyComputer | 434 |
| Explorer\NetworkNeighborhood\NameSpace | 435 |
| Explorer\RemoteComputer\NameSpace | 435 |
| Explorer\StartMenu | 435 |
| Explorer\User Shell Folders | 435 |
| Explorer\VisualEffects | 436 |
| Policies | 436 |
| Run | 436 |
| RunOnce | 436 |
| Uninstall | 437 |
| SYSTEM | 437 |
| CurrentControlSet\Control | 437 |
| CurrentControlSet\Enum | 439 |
| CurrentControlSet\Hardware Profiles | 439 |
| CurrentControlSet\Services | 440 |
| D Group Policies | 443 |
| Conf.adm | 444 |
| Inetcorp.adm | 445 |
| Inetres.adm | 446 |
| Inetset.adm | 452 |
| System.adm | 453 |
| Wmplayer.adm | 485 |
| INDEX | 487 |