Programming Sins Regarding the Registry (Using the Example of Microsoft Excel)

by Helge Klein on 08/13/2009 | 2 Comments | 4,593 Views

While browsing through the registry I found the following "gem". It illustrates nicely how programmers are not supposed to store settings in the registry:

[HKEY_CURRENT_USER\Software\Microsoft\Internet
Explorer\MenuExt\Nach
Microsoft E&xel exportieren]
@="res://C:\\PROGRA~2\\MICROS~1\\Office12\\EXCEL.EXE/3000"
"Contexts"=dword:00000001


What is wrong with this? Several things:

  • Localization: Never localize keys or values in the registry (the same applies to configuration files, of course).
  • Spelling: Do not misspell the name of your product.
  • Short paths: Never use short paths.
  • Absolute paths: Use variables like %ProgramFiles% instead of absolute paths.
  • Default value: A registry key's default value is relict from Windows 3.1. Use named values instead.

Note: This is from a Windows 7 machine with Office 2007 installed (no older Office versions present!).

+++ Your opportunity +++ Use Profile Migrator 2, the new sepago product that makes migrating user personalities between different platforms a breeze.! Download your free version now!

2 responses for "Programming Sins Regarding the Registry (Using the Example of Microsoft Excel)"

Thanks Helge! This was a

Thanks Helge! This was a good laugh and I really needed that today. BTW, you can\'t fault them too much for the shortened paths. Because they used the default value key they couldn\'t exact use a REG_EXPAND_SZ. Though they could certain do the delayed expansion in their code I supposed. There\'s just so many things wrong with this it\'s funny.

Shawn

Good to read your articles,

Good to read your articles, indeed! :)