User to user discussion and support for UltraEdit, UEStudio, UltraCompare, and other IDM applications.

General and specific configuration/INI settings
2 posts Page 1 of 1
I'm running UltraEdit x64 version. No matter what I do, I can't get the file association working. When I click on a .txt file, it asks me every time if I want to associate a program to open it with.

I've tried running UE in admin mode, uninstalled, cleaned up my registry, etc. to no avail. interestingly, UltraEdit 64-bit defaults to installing to Program Files folder and not Program Files(x64) folder.

Interesting. I guess I didn't try it again after running uedit64 as administrator. But I can now open .txt files.

Thank you

Hansang, 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.
Best regards from Austria
2 posts Page 1 of 1