, you don't know much about Windows standards, aren't you?
The standard installation folder for applications is %ProgramFiles%
on Windows x86. The real directory name assigned to environment variable ProgramFiles
by Windows referenced with %ProgramFiles%
depends on operating system, language of operating system, and drive on which Windows is installed. The directory name is since Windows Vista language independent Program Files
although Windows Explorer of a German Windows 7 x86 displays Programme
as it was real name on German Windows XP x86. The drive is usually C: as most users have Windows installed on this drive.I was very confused as I saw this "translation of directory name to language of OS" by Windows Explorer of Windows Vista and later Windows versions the first time on running an installer on Windows Vista which wanted to install the application into C:\Program Files instead of "C:\Programme". I browsed to "C:\Programme" and after selecting the directory, the installer displayed again "C:\Program Files". I browsed again to "C:\Programme" and get again "C:\Program Files" displayed after selecting the folder. Than I opened a command prompt window and executed dir C:\ and what could I see, no "Programme", just "Program Files". Lesson learned: Don't use Windows Explorer, use Total Commander (or command dir). It shows you real directory names.
The standard installation folder for 64-bit applications is %ProgramFiles%
on Windows x64. Everything else written above for this folder on Windows x86 is also true for Windows x64.
But on Windows x64 there is additionally the environment variable ProgramFiles(x86)
containing the directory name of the standard folder for x86 applications on Windows x64. The directory name is since Windows Vista x64 language independent Program Files (x86)
although German 64-bit Window Explorer displays Programme (x86)
On Windows x86 there is no environment variable ProgramFiles(x86)
which makes it very easy to detect if an application or batch file is running on Windows x86 or Windows x64 independent on processor architecture.
32-bit UltraEdit installs itself by default to %ProgramFiles%
on Windows x86 and %ProgramFiles(x86)%
on Windows x64.
64-bit UltraEdit installs itself by default to %ProgramFiles%
on Windows x64.
So installer of UltraEdit is conform to Microsoft standard.
There is no Program Files (x64)
folder (except Windows 10 has by default such a folder which I don't know).
File associations registered under HKEY_LOCAL_MACHINE\Software\Classes
and being active for all user accounts on this machine can be made only when starting UltraEdit as administrator on Windows Vista or later as a standard user does not have write permissions on any key in HKLM
. UltraEdit should register the file association under HKEY_CURRENT_USER\Software\Classes
when being started without administrator privileges (standard user and UAC is enabled).HKEY_CLASSES_ROOT
defines what Windows finally use. User related settings in HKEY_CURRENT_USER\Software\Classes
are preferred over machine settings in HKEY_LOCAL_MACHINE\Software\Classes
. For more details on file association read the Microsoft article about HKEY_CLASSES_ROOT Key
And read also the Stack Overflow answers on Where is "START" searching for executables?
and Batch script to check if directories exist