So where is the best place for me to put cmder?
Windows is extremely flexible in this regard. As a personal preference, I like to create my own folder in the root of my
C:\ drive simply labeled
C:\Programs) and this would be my suggestion to you (creating a custom folder for general programs such as
If there are multiple choices, what are the pros and cons of each?
As mentioned elsewhere,
Program Files (x86) and
C:\Users\UserName\AppData\Roaming are the typical installation locations for desktop software (non-Microsoft Store applications) in Windows 10 (Apps installed from the store are handled much differently).
Program Files is intended for 64-bit applications for general access but installation is restricted to administrators. Programs that try to store information here will likely have that data transparenently routed to a virtual store (the data will look like it's in a given folder to a program but it will actually be stored elsewhere).
Program Files (x86) is intended for 32-bit applications for general access but installation is restricted to administrators. Programs that try to store information here will likely have that data transparenently routed to a virtual store (the data will look like it's in a given folder to a program but it will actually be stored elsewhere).
C:\Users\YourUsername\AppData\Local is intended for MSI installations for a single user but typically doesn't require Administrative privileges. This folder is normally hidden.
Custom Folders may need their permissions changed to have truly "global" access. However, they can be created as paths without spaces, which can be a life saver when using *nix-style software on Windows (i.e. cross-platform or ported utilities). Paths without spaces also often do not require double-quotes to access on the command line (which can be another issue in certain instances).
Note that you should skip putting software in your
C:\Windows folder or
C:\ProgramData. These are relatively essential Windows folders and aren't meant for common storage. Likewise, while
C:\Users\UserName folders function similar to Home directories, the files and folders in them are generally not executables (though they technically can be). The same thing applies to
C:\Users\UserName\AppData\Roaming (with this folder being almost exclusively used for application settings).
Preferably I would like a place that's global, so all users can use cmder.
Program Files or
Program Files (x86) should be fine (programs installed in these folders are executable by everyone), I would still lean to a custom folder which
Everyone (this is a Windows user group) has permission to access. As one other option, there is a special
C:\Users\Public folder which has
Everyone added into the permissions automatically whenever a new folder is created under that directory (or a subdirectory).