1

I have a project in which I have to create shortcuts in start menu. For doing that I have to get the path for start menu which is fetched by

Environment.SpecialFolder.Commonstartmenu or

Environment.SpecialFolder.Startmenu.

Till now, I am not able to figure out the difference between them. Is it something specific to different windows platforms?

ersnh
  • 522
  • 1
  • 8
  • 20
DChamp
  • 73
  • 1
  • 5
  • 1
    Possible duplicate of [Programmatically access All Users Start Menu](http://stackoverflow.com/questions/2329647/programmatically-access-all-users-start-menu) – NineBerry Jun 03 '16 at 05:18

2 Answers2

5

Environment.SpecialFolder.Startmenu - Is the StartMenu folder of the user logged in.

Environment.SpecialFolder.Commonstartmenu - Shows the start menu items which are common to all users

It is not specific to any version of OS. Consider an example, when you are installing a new software, and you are installing it only for the current user, then this particular software will be visible in start menu of the particular user only and NOT in the common start menu.

Yogi
  • 9,174
  • 2
  • 46
  • 61
  • "On a new machine these folder are generally the same, and gets different based on the customized action" - you what? These folders are rarely, if ever, "the same" (in fact, never in my experience). Each one is independent, and what is shown to users when they view the start menu is in fact the contents of *both* folders merged together. – Damien_The_Unbeliever Jun 03 '16 at 06:28
  • @Damien_The_Unbeliever - Yeah, you are right, just penned it wrong. Corrected now. Thanks :) – Yogi Jun 03 '16 at 07:13
2

CommonStartMenu: C:\ProgramData\Microsoft\Windows\Start Menu
StartMenu: C:\Users\user\AppData\Roaming\Microsoft\Windows\Start Menu

I would use CommonStartMenu

shadow
  • 1,883
  • 1
  • 16
  • 24