My first tip is a general tip. It has no noticeable effect on startup time of UltraEdit and it does not help in the use case described by
Hans. However, I want to start nevertheless with this general hint.
UltraEdit uses lots of functions of Windows libraries which are stored in the dynamic-linked libraries (*.dll files) in the Windows system directory because of UltraEdit is a real Windows application using frameworks of Microsoft in comparison to other text editors or IDEs using, for example, Java as framework for easier support of multiple platforms (operating systems).
The Windows system directory is
%SystemRoot%\System32 on 32-bit Windows and 64-bit Windows respectively
%SystemRoot%\SysWOW64 for 32-bit UltraEdit started on 64-bit Windows.
The directory
%SystemRoot%\System32 is by default the first directory in
system environment variable
PATH to get the DLLs and EXEs in this directory found as fast as possible if an application or a used library searches for other libraries to load or executables to run. The files in
%SystemRoot%\SysWOW64 are used automatically by 32-bit applications executed on 64-bit Windows due to the
Windows file system redirector.
There are unfortunately installers of applications or application suites which add one or even more folder paths to
system PATH left to first folder path instead of appending the folder path(s) at the end of the list of folder paths or being really smart and insert the folder path(s) after the folder paths which Microsoft added by default to
system PATH depending on version of Windows.
I looked with
Process Monitor how the Windows system libraries are loaded on starting 32-bit UltraEdit v11.20b (released February 2006), UltraEdit v22.20.0.49 (last version available for Windows XP released December 2015) and 32-bit UltraEdit v28.10.0.26 (currently latest version released May 2021) on 32-bit Windows XP and 64-bit Windows 7 with
system PATH being redefined first to have as first directory a different and of course existing directory than
%SystemRoot%\System32. UltraEdit loads the system libraries first directly from the Windows system directory for faster startup and also for security. The folders as defined by the
local environment variable
PATH (concatenation of
system and
user PATH as done by Windows Explorer instance running as Windows shell) are used only if a system DLL cannot be found in the Windows system directory like
shcore.dll on Windows 7.
Therefore it does not really matter for UltraEdit which folder paths are in which order in
local environment variable
PATH on starting UltraEdit.
However, it is in general advisable to take care of
system and
user environment variable
PATH by
- opening the Windows Control Panel (available also on currently latest Windows 10 21H1),
- clicking on System and Security (on Windows Vista and newer Windows versions with View by: Category configured,
- clicking on System (Windows XP and newer Windows versions)
- clicking on the link Advanced system settings on left side (Windows Vista and newer Windows versions) or selecting tab Advanced (Windows XP) and
- clicking on button Environment Variables.
There should be made sure that the folder paths in
system PATH (the lower pane since Windows XP) are:
- %SystemRoot%\System32
- %SystemRoot%
- %SystemRoot%\System32\wbem
- %SystemRoot%\System32\WindowsPowerShell\v1.0\ (on Windows XP only if PowerShell is installed at all)
- %SystemRoot%\System32\OpenSSH\ (only on Windows 10 1809 or a newer version of Windows 10)
Other folder paths of
system PATH should be after/below these folder paths. These three to five folder paths should be really defined with
%SystemRoot% and not with
C:\WINDOWS. An installer made something wrong on
system PATH is defined with these three to five folder paths with
C:\WINDOWS (or on whatever drive Windows is installed) at the beginning instead of
%SystemRoot%.
C:\WINDOWS can be kept in this case, but better would be to restore these three to five folder paths to their original definitions as listed above with the environment variable reference.
Other folder paths should be right/below these three to five folder paths. There should be no folder path more than once in
system PATH and of course all folder paths should still exist. So remove duplicate folder paths and paths of folders not existing anymore.
The
user environment variable
PATH does not exist by default at all. So
user PATH is always a custom environment variable although it is often not customized by the user of an account, but by applications installed by the user. The
user PATH should not contain folder paths which are already in
system PATH and should not contain duplicates or paths of non-existing folders.
It is of course completely wrong to have in
system or
user PATH a
file name with full path. Full qualified
file names should be always removed from
PATH.
The installers of UltraCompare, UltraEdit and UEStudio
append the path of the installation directory of UC/UE/UES on every install/upgrade/update also to
system (install for all users) or
user (install for current user only)
PATH on not being already in related
PATH. That is done for users which use
uc.com,
uc.exe,
uedit32.com,
uedit32.exe,
uedit64.com,
uedit64.exe,
uestudio.com,
uestudio.exe manually from within a command prompt window, PowerShell console, Windows Terminal, or a script file like a batch file, VBScript, PowerShell script, etc. without using the file name of the executable with full path and file extension.
uc.com is a Windows console application for usage in scripts like a batch file which runs
uc.exe and outputs the results to standard output stream or in case of an error to standard error stream and exits with an appropriate exit value.
uedit32.com and
uedit64.com were introduced with UltraEdit v27.00 for users who want to use UltraEdit in scripts to calculate a hash value for a file depending on the used arguments.
uestudio.com was introduced with UEStudio v20.00 for the same reason. The console version of UltraEdit and UEStudio with file extension
.com starts the executable with file extension
.exe on being started without the option to calculate the MD5, CRC, SHA1 or SHA256 value of a file with passing the arguments to the Windows GUI executable and then terminating itself.
The program files folder path of UC/UE/UES should be removed after any kind of installation of UC/UE/UES on starting never manually UltraCompare, UltraEdit, UEStudio from within any kind of console window or any kind of script without using the full qualified file name because of there is in this case no need for the UC/UE/UES program files path in
PATH. The uninstaller of UC/UE/UES removes the added folder path also from
PATH which can result in
user PATH being defined as environment variable with no value at all after uninstall in which case it would be good to delete
user PATH completely. I have written for myself a small batch file to remove the folder paths of UC/UE/UES and an empty
user PATH which I execute manually after install/uninstall of UC/UE/UES. The batch file is not designed for general usage, just for usage on my Windows computers. So I cannot share that batch file with other users of UC/UE/UES.