5
I am a Linux user spending some time in Windows and I am trying to understand some of the Windows paradigms instead of fighting them. I notice that each program installed in the traditional manner adds the executables to
C:\Program Files
and then adds a shortcut to the Desktop / Start Menu containing the entire path.
However, there is no common directory with links to the software, i.e.
C:\bin\bar.exe
which would link to
C:\Program Files\foo\bar.exe
Therefore, after installing an application the only way to use the application
is via the menus or by navigating to the executable in the filesystem. One
cannot simply Win-R
to open the run dialogue and then type bar
or bar.exe
as is possible with notepad
or mspaint
. I realize that Windows 8 improves on
this with the otherwise horrendous Start Screen which does support typing the
name of the app, but again this depends on the app having registered itself for
such.
Would I be doing any harm by adding C:\Program Files
recursively to the
Windows path? I do realize that there will be name collisions (i.e.
uninstall.exe) but could there be other issues?
What if there are two programs named bar? – Joel Coehoorn – 2016-11-29T05:40:52.800
There is a project named Chocolatey which defines one common directory for its installed programs, similar to /usr/bin. But it has not gained much traction. – ddbug – 2018-09-04T00:32:26.630
Windows does not pretend to be any sort of UNIX or Linux (even with WSL). Rather it tends to be like Apple's OS X. – ddbug – 2018-09-04T00:37:25.663
Note that the search box in the start menu (which allows you to find a program by typing its name) was introduced in Windows Vista, so this feature is not new in Windows 8. – sleske – 2013-11-13T10:09:30.440
1Having the app 'registered' by the installer into the start menu is the same as the application creating the link in
/usr/bin/
- it relies on the application or installer doing it. – James Snell – 2013-11-13T11:43:49.550@JamesSnell: Right, but the Linux paradigm end result is an executable that is available on the global path. The Windows paradigm end result is that one must know the full path. I'm not interested in a specific directory of links to all executables per se, but rather having all the user-run executables in the path, and additionally understanding why Windows doesn't have this paradigm. – dotancohen – 2013-11-13T11:48:37.160
1In the DOS days, typically programs would make a subdirectory off of C:\ and place all files, including temporary, configuration, data, and executable files in that subdirectory. Even today you'll find some software (typically programs that have been around a long time) that does this (e.g. UltraTax). This sort of continued with Windows 3.11, the 9x windows, and even through the NT line to maintain compatibility with the 9x line. It's getting a teensy more sensible IMHO with UAC and default permissions now starting to try to enforce more sensible things. – LawrenceC – 2013-11-13T12:07:50.543