71 lines
3.4 KiB
Plaintext
71 lines
3.4 KiB
Plaintext
|
Special Cases
|
||
|
|
||
|
Name
|
||
|
Key or file
|
||
|
Application
|
||
|
Handled by scanstate/loadstate
|
||
|
Description
|
||
|
|
||
|
Strings containing newlines
|
||
|
Key: unknown
|
||
|
Application: Win98 option pack
|
||
|
Handled: yes
|
||
|
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.
|
||
|
|
||
|
Zero length binary keys
|
||
|
Key: unknown
|
||
|
Application: Win98 option pack
|
||
|
Handled: partially
|
||
|
Win98 has some zero length binary keys. NT does not support zero length binary keys. We don't migrate any zero length binary keys.
|
||
|
|
||
|
Reg keys of type none
|
||
|
Key: unknown
|
||
|
Application: Win98 option pack
|
||
|
Handled: partially
|
||
|
Win98 has some registry keys of type REG_NONE. We treat these as REG_BINARY keys.
|
||
|
|
||
|
Key: unknown
|
||
|
Application: printer driver names
|
||
|
Handled: yes
|
||
|
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.
|
||
|
|
||
|
Key: HKCU\Keyboard Layout\Preload and Substitutes
|
||
|
Application: system keyboard mappings and IMEs
|
||
|
Handled: yes
|
||
|
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.
|
||
|
|
||
|
Key: HKCU\Control Panel\Desktop\WindowMetrics [*Font]
|
||
|
HKCU\Control Panel\Apperance\Schemes
|
||
|
Application: desktop font settings
|
||
|
Handled: yes
|
||
|
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.
|
||
|
|
||
|
Key: various keys and values
|
||
|
Application: user settings
|
||
|
Handled: yes
|
||
|
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.
|
||
|
|
||
|
Key: HKCU\Control Panel\Desktop\FontSmoothing
|
||
|
Application: desktop setting
|
||
|
Handled: yes
|
||
|
The format is different between Win9x and NT. The AntiAlias function translates a "1" into a "2".
|
||
|
|
||
|
Key: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
|
||
|
Application: desktop start/documents
|
||
|
Handled: yes
|
||
|
On Win9x an ANSI link shortcut is stored as a binary blob. ConvertRecentDocsMRU converts it to a Unicode link shortcut on NT.
|
||
|
|
||
|
Key: HKCU\Control Panel\Accessibility
|
||
|
Appliction: user accessibility settings
|
||
|
Handled: yes
|
||
|
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.
|
||
|
|
||
|
Key: HKLM\Software\Microsoft\Windows\CurrentVersion\Time Zones
|
||
|
Application: system time zone
|
||
|
Handled: yes
|
||
|
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).
|
||
|
Key: HKCU\Control Panel\Appearance [Current]
|
||
|
HKCU\Control Panel\Current [Color Schemes]
|
||
|
Application: desktop colors and scheme
|
||
|
Handles: yes
|
||
|
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.
|