The sad but short story of the SM_AccessoriesName registry value

Raymond Chen

The SM_AccessoriesName is another victim of programs that reach into undocumented sections of the registry.

This registry value was never documented since it existed for internal use, and for the 64-bit release of Windows, we finally were able to get rid of it in some circumstances.

Until the application compatibility team found a major program that used it. So back it goes, at least for now, until they can figure out a way to keep that program happy while still removing the value.¹ (Perhaps they may be able to shim it.)

“Why not just break the program and tell the vendor to fix their busted program?”

Easier said than done. The vendor of this particular program happens to be a vicious competitor of Microsoft, who in the past has been known to complain loudly to anyone who will listen that Microsoft intentionally breaks their programs in order to gain a competitive advantage. Breaking their program would just be inviting another lawsuit. “Microsoft once again wields its monopoly power to punish competitors.”

Such is the life of the application compatibility team.

¹ I just went back and checked, and in Windows 10, the registry value is finally gone. Only took, what, 10 years?

 

10 comments

Discussion is closed. Login to edit/delete existing comments.

  • Shawn Keene 0

    Now I’m very curious what SM_AccessoriesName registry key was for, but my very cursory web search yielded no results.

    • Bradley Uffner 0

      https://flylib.com/books/en/1.272.1.149/1/
      says that “SM_AccessoriesName” contained the name of the “Accessories” group on the start menu. Sounds logical, but it’s non-canonical of course.

      • Mason Wheeler 0

        Now I’m really curious as to what the third-party software that absolutely needed this was, and why!

        • R Wells 0

          There was one major piece of software that wanted to duplicate much of the Start Menu internally so many other programs could be launched without having to navigate the Start Menu. That program would do its own tasks that it was intended to do plus act as a shell replacement. Made sense as a design philosophy for DOS applications where switching was difficult; might not have been as useful under Windows.

        • Don Hacherl 0

          “Absolutely needed”? nothing. “Got their program to work by grabbing a value from a random undocumented registry key that happened to be this one instead of reading the manual and doing things the recommended way”? I’ve got a guess.

          • David Solimano 0

            Me too, ha! But remember everyone (not you sir but the future reader) ground rules are no written guesses, we will have to be content with wondering in our hearts.

      • Gacel Perfinian 0

        “and for the 64-bit release of Windows, we finally were able to get rid of it in some circumstances.”

        Just a theory, but since 64-bit (I presume this is x64/AMD64) Windows XP does exist, and given that Windows XP has hard-coded names when it comes into folders (like in this exact example, in German it is “Zubehör” instead of “Accessories”), it makes perfect sense… unless you remembered that APIs exist 🙂

        Now if some application needs this key, I presume they just shim it to the value “Accessories” since Windows Vista has overhauled the handling of the locali(z/s)ation.

    • aidtopia 0

      Caution: I searched for SM_AccessoriesName and got a bunch of shopping results for S&M accessories.

  • skSdnW 0

    There is also SM_GamesName which would have been nice if it was documented so that all 3rd-party games could put their shortcuts there.

    Why did Microsoft not create CSIDL/special folder constants for these? Would have helped with the clutter in the old start menu era.

  • Ian Boyd 0

    That must be a Real pain.

Feedback usabilla icon