Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
3.4 KiB

  1. Special Cases
  2. Name
  3. Key or file
  4. Application
  5. Handled by scanstate/loadstate
  6. Description
  7. Strings containing newlines
  8. Key: unknown
  9. Application: Win98 option pack
  10. Handled: yes
  11. The win98 option pack has some scheme keys that contain newlines. When stored in migration.inf, the strings span a line and migration.inf breaks. Our solution was to store them in migration.inf as special binary fields and convert them back to string fields before saving them to the registry.
  12. Zero length binary keys
  13. Key: unknown
  14. Application: Win98 option pack
  15. Handled: partially
  16. Win98 has some zero length binary keys. NT does not support zero length binary keys. We don't migrate any zero length binary keys.
  17. Reg keys of type none
  18. Key: unknown
  19. Application: Win98 option pack
  20. Handled: partially
  21. Win98 has some registry keys of type REG_NONE. We treat these as REG_BINARY keys.
  22. Key: unknown
  23. Application: printer driver names
  24. Handled: yes
  25. When moving the printer settings, the name of printer driver for the same printer can be different between Win9x and NT. usermig.inf has this mapping.
  26. Key: HKCU\Keyboard Layout\Preload and Substitutes
  27. Application: system keyboard mappings and IMEs
  28. Handled: yes
  29. Win9x uses one key per layout with an unnamed value, while NT uses one value per layout. The functions MigrateKeyboardPreloads and MigrateKeyboardSubstitutes handle this conversion.
  30. Key: HKCU\Control Panel\Desktop\WindowMetrics [*Font]
  31. HKCU\Control Panel\Apperance\Schemes
  32. Application: desktop font settings
  33. Handled: yes
  34. Win9x uses an old 16-bit LOGFONT binary blob, while NT uses LOGFONTW. ConvertLogFont handles this conversion. Do not force he 16-bit LOGFONT blob on NT, or else your desktop will look really wacky. The LOGFONT structure is embedded in the non-client metrics, and so ConvertAppearanceScheme handles this translation.
  35. Key: various keys and values
  36. Application: user settings
  37. Handled: yes
  38. Win9x sometimes uses a DWORD when NT uses a string, and for other settings, Win9x uses a string instead of a DWORD. usermig.inf has a list of keys that need ConvertToDword or ConvertToString.
  39. Key: HKCU\Control Panel\Desktop\FontSmoothing
  40. Application: desktop setting
  41. Handled: yes
  42. The format is different between Win9x and NT. The AntiAlias function translates a "1" into a "2".
  43. Key: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
  44. Application: desktop start/documents
  45. Handled: yes
  46. On Win9x an ANSI link shortcut is stored as a binary blob. ConvertRecentDocsMRU converts it to a Unicode link shortcut on NT.
  47. Key: HKCU\Control Panel\Accessibility
  48. Appliction: user accessibility settings
  49. Handled: yes
  50. On Win9x, each setting has its own value. On NT, the settings are represented as bit flags in a DWORD. Scanstate does the translation and outputs the additional flag values in migration.inf.
  51. Key: HKLM\Software\Microsoft\Windows\CurrentVersion\Time Zones
  52. Application: system time zone
  53. Handled: yes
  54. The display names for time zones are different between Win9x and NT. Currently, scanstate is using the standard name instead to identify the time zone. The display name is not migrated (NT version is used).
  55. Key: HKCU\Control Panel\Appearance [Current]
  56. HKCU\Control Panel\Current [Color Schemes]
  57. Application: desktop colors and scheme
  58. Handles: yes
  59. These values are missing for some user-defined schemes. usermig.inf has a section to delete the default values on NT to migrate absent settings.