What choices do I have about where to install software on Windows 10?
I am brand new to Windows (been a Unix user all my life), and the first thing I want to do is set up cmder. Following the obvious path has lead to download the mini package from cmder.net. But from there I'm not sure what to do. Apparently I can run the software from right out of the unzipped cmder_mini
directory in my Downloads
folder. But Downloads
certainly is not the proper place for it live.
I tried copying the cmd_mini
directory to Program Files, but I was asked to authorize the copy operation as an administrator, which to me is a red flag that I should not do something unless I really know what I'm about.
So where is the best place for me to put cmder? If there are multiple choices, what are the pros and cons of each? Preferably I would like a place that's global, so all users can use cmder.
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 Programs
(i.e. C:\Programs
) and this would be my suggestion to you (creating a custom folder for general programs such as cmder
).
If there are multiple choices, what are the pros and cons of each?
As mentioned elsewhere, Program Files
, 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.
While 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).
%ProgramFiles%
or %ProgramFiles(x86)%
is the 2 most common location in Windows 10 (for software 64 or 32 bit respectively). If your software have an installer component, those 2 locations are the 2 most common location and that folder is restricted to Administrator group so only user that has Admin rights can write to it (but anyone can read / execute from it) - similar to /usr/bin
There is no pros or cons either way, those are just the Windows default location. You can opt to put everything into your own folder structure if you wish (as per AppleOddity's comment above), and make sure only certain people have write access to it (to ensure users don't accidentally deleted them).
For Non-admin installation, it usually goes into your %UserProfile%
(C:\Users\yourUsername) or sometimes %LocalAppData%
(C:\Users\YourUsername\AppData\Local). And you can have a per-user specific installation (that is not available across the system).
One example of software installing into LocalAppData as default is Python (when doing non-administrative install)
Note: All the stuff that have %name%
are variable that should already been preset into your Windows Installation.
Disclaimer: The following procedure is only my personal preference. I am not forcing anyone to do this.
So where is the best place for me to put cmder? If there are multiple choices, what are the pros and cons of each? Preferably I would like a place that's global, so all users can use cmder.
As a Linux-cum-Windows user, I do separate operating system and user files/applications in two (minimum) partitions or two separate drives. You can make a separate partition in HDD/SSD and save all applications in separate folders. Download cmder from it's GitHub release page. cmder is a combination of clink and ComEmu (you may also try these). If you have not separate partition/drive you can use your current log-in user folder i.e. C:\Users\user_name
or %UserProfile%
. This folder has full permission of that user.
Here I download cmder.7z
file. If you've not 7ZIP you can download the zip file and open in File Explorer directly. Extract the 7ZIP file to D:\cmder
folder with this command: 7z x -o"D:\cmder" cmder.7z
. Change the folder name/path as you want. Now open that folder where you've extracted those files and double click on cmder.exe
. cmder saves the clink logs in %LocalAppData%\clink
folder. Make shortcut of cmder.exe
in desktop/start menu/taskbar with right click on it.
Also you can copy the extracted folder in thumb drive and run cmder from there.