Explorer integration not working as expected, alternate integration via registry files

Explorer integration not working as expected, alternate integration via registry files

2

    Mar 14, 2019#1

    I just got a new computer and decided to upgrade my UltraEdit -- which I've been using since version 3.0 -- to UEStudio while I was at it. I was very unhappy to see that the right-click menu integration that I've come to know and love has broken. I suspect it is due to a Windows 10 change, but I'm not sure. However, I made a couple registry entries to address the problem. Hopefully this will help others as well. 

    To be able to open any file in UEStudio:

    Code: Select all

    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\UEStudio
    (Default)    REG_EXPAND_SZ  Open w&ith UEStudio
    Icon         REG_EXPAND_SZ  C:\Program Files\IDM Computer Solutions\UEStudio\UEStudio.exe
    
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\UEStudio\command
    (Default)    REG_EXPAND_SZ  "C:\Program Files\IDM Computer Solutions\UEStudio\UEStudio.exe" "%1"
    To open a folder in UEStudio:

    Code: Select all

    HKEY_CLASSES_ROOT\Directory\shell\UEStudio
    (Default)    REG_EXPAND_SZ  Open w&ith UEStudio
    Icon         REG_EXPAND_SZ  C:\Program Files\IDM Computer Solutions\UEStudio\UEStudio.exe
    
    HKEY_CLASSES_ROOT\Directory\shell\UEStudio\command
    (Default)    REG_EXPAND_SZ  "C:\Program Files\IDM Computer Solutions\UEStudio\UEStudio.exe" "%V"
    Registry files attached.
    UEStudio Open File.reg (1.77 KiB)   26
    UEStudio Open Directory.reg (2.23 KiB)   25

    6,602548
    Grand MasterGrand Master
    6,602548

      Mar 14, 2019#2

      First, some things changed already with Windows Vista. By default no user has permissions to add registry entries to HKEY_LOCAL_MACHINE. So UltraEdit cannot register itself under this registry hive as UltraEdit is started in environment of the current user account. Only a user who has added his user account to group of local administrators and has additionally disabled completely user account control can make modifications under HKEY_LOCAL_MACHINE at any time without being blocked by Windows. A user having configured his account to belong to group of local administrators and disabled UAC completely runs in permanent active administrator mode which also means every malware can do everything on being executed in environment of this user account without prompting the user on agreement.

      Second, UltraEdit and UEStudio registers their 64-bit and 32-bit shell extensions already during installation for current user. The user has the freedom to change the registration of the shell extensions from within UltraEdit / UEStudio by opening Advanced - Settings or Configuration - File associations. A user using multiple accounts have to register the shell extension also for each used account by starting UltraEdit / UEStudio under each user account and check the Integrate with Explorer as option.

      Third, the usage of the 64-bit and 32-bit shell extensions is perhaps better than registering the executables directly because of some configuration settings which can be found at Advanced - Settings or Configuration - Application layout - Miscellaneous. Open this configuration dialog and click on button Help for details.

      Fourth, using type REG_EXPAND_SZ is not recommended (although possible) on string value not containing an environment variable reference, i.e. something like %ProgramFiles% instead of C:\Program Files. In this case it would be better to use type REG_SZ to avoid the unnecessary extra parsing of the string value for environment variable references which Windows must do for a string value of type REG_EXPAND_SZ.

      Fifth, I can post how UEStudio registers both Explorer shell extensions by default if you are interested in.
      Best regards from an UC/UE/UES for Windows user from Austria

      2

        Mar 14, 2019#3

        Mofi,

        Very simply (from UEStudio's help file) this was not happening:
        Integrate with Explorer as

        If this option is selected UltraEdit/UEStudio options are added to the context (right-click) menu in Windows Explorer allowing users to open either files or folders in UltraEdit.
        Thanks to your post I discovered that the following registry entry which I temporarily modified while setting up my new PC (to avoid “An administrator has blocked you from running this app”) was the cause of the troubles. 

        Code: Select all

        [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
        "EnableLUA"=dword:00000000
        Reverting it to 1 corrected the issue. As to why this would cause the problem, I don't understand.  

        Regarding REG_EXPAND_SZ: Well, I inherited the "not recommended" value configuration by copying a registry entry from Microsoft Visual Studio code, so I'll lay the blame at Microsoft's feet, but appreciate you reminding me of the better way (and the why behind it). 

        All the best -- Paul

        6,602548
        Grand MasterGrand Master
        6,602548

          Mar 30, 2019#4

          I want to add a delayed follow up regarding to shell extension registration depending on user account control settings.

          Shell extension registration done with checking/unchecking Integrate with Explorer as of UltraEdit and UEStudio works independent on user account control settings on Windows 7 (tested by me) and most likely also all later Windows versions (not tested by me) because of being done by UE/UES only for current user in registry hive HKEY_CURRENT_USER as long as not using a very old version of UltraEdit (< v17.20) or UEStudio (< v11.20). It is of course not recommended to run UE/UES with Run as administrator when the Explorer integration should be modified via Advanced - Settings or Configuration - File associations with UltraEdit/UEStudio for the current user because of in this case UE/UES runs in a different user environment causing registration being done perhaps for a different user than logged in user depending on using same or a different user account to be able to start UE/UES in administrator environment at all.

          The user account control settings should be never modified by a user directly in Windows registry. It can be done by clicking on Windows Start button and typing UAC (even on non-English Windows) resulting in getting displayed Change User Account Control settings (on English Windows 7) which is clicked next to open the User Account Control Settings dialog of Windows. There is a slider to configure level of user account control on having necessary permissions to change the settings and no group policy of company is active to prevent users modifying these settings. The slider changes in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System the values ConsentPromptBehaviorAdmin, EnableLUA and PromptOnSecureDesktop. The user has to log off and log on to make the changes on user account control settings effective.

          A user of UltraEdit or UEStudio does not need elevated permissions of a local administrator neither for installing UE/UES nor for changing settings for usage by current user. Elevated permissions on installing UE/UES are only needed to install UE/UES for all users using a computer. When integration with Explorer and association of file extensions with UE/UES should be done for all users using the computer (server accessed by remote users), a local administrator of the computer (server administrator) has to do this integration and file association manually.
          Best regards from an UC/UE/UES for Windows user from Austria