UltraCompare v18.10 options not shown in Windows Explorer context menu

UltraCompare v18.10 options not shown in Windows Explorer context menu

6
NewbieNewbie
6

    Nov 01, 2018#1

    I am using Windows 7 Professional and version 18.10.0.38 of UltraCompare. It works if I login as administrator, but not as my normal user and is driving me nuts. Any help is gratefully appreciated.

    6,602548
    Grand MasterGrand Master
    6,602548

      Nov 01, 2018#2

      Shell extension registration is done by UltraCompare Professional v18.10.0.38 individually for each user account to make it possible to use it also by users with no local administrator privileges and making it possible on machines used by multiple users that every user configures whatever the user wants.

      Start UltraCompare Professional with your user account. Do not use Run as administrator.

      On using Ribbon Mode click on ribbon tab Home in last group Configure on second item Settings.
      On using Toolbar/Menu Mode click in menu Options on first menu item Configuration.

      Click in options tree on Shell Integration. Uncheck all options and click on button Apply. Then check the options you want and click on button OK to apply all configuration settings and exit the configuration dialog.

      Then the shell extension registration is done for your standard user account and should work.

      In Toolbar/Menu Mode there are at bottom of menu Options also the menu items Basic Explorer Integration and Advanced Explorer Integration which are toggled on clicking on them and result in appropriate modification of registry of current user.
      Best regards from an UC/UE/UES for Windows user from Austria

      6
      NewbieNewbie
      6

        Nov 01, 2018#3

        Thanks for that but despite doing that I still do not see anything, we have to install software using an administrator account, could this be an issue, also should it be installed for all users or just current, believe it was done for all.
        Cheers

        6,602548
        Grand MasterGrand Master
        6,602548

          Nov 01, 2018#4

          It does not matter if installation of UltraCompare is done for all users using an account with local administrator privileges or for current user only which can be done by any user even on not having administrator privileges which are required to install applications into standard program files directory and make the application registration in local machine registry hive.

          Here are command lines for a batch file to register the shell extension DLLs of UltraCompare Professional v18.10 for basic and advanced Explorer integration. Please start UltraCompare and check both integration settings in UltraCompare because of the batch file does not modify uc.ini if an INI file instead of Windows registry is used for the settings.

          Code: Select all

          @echo off
          rem Run this batch file in 64-bit and not in 32-bit environment on Windows x64.
          if not "%ProgramFiles(x86)%" == "" if exist %SystemRoot%\Sysnative\cmd.exe (
              %SystemRoot%\Sysnative\cmd.exe /C "%~f0"
              exit
          )
          
          setlocal EnableExtensions DisableDelayedExpansion
          echo Searching for application registration of uc.exe ...
          for %%I in (HKLM HKCU ) do (
              for /F "skip=2 tokens=2*" %%J in ('%SystemRoot%\System32\reg.exe query "%%I\Software\Microsoft\Windows\CurrentVersion\App Paths\uc.exe" /ve /t REG_SZ 2^>nul') do (
                  if "%%J" == "REG_SZ" if exist "%%~K" set "AppFullName=%%~K" & goto FoundAppName
              )
          )
          
          echo/
          echo Error: Could not find UltraCompare Prof. application registration in Windows
          echo        registry or the registered uc.exe does not exist in registered folder.
          echo/
          echo The installation of UltraCompare is not correct done which should be fixed.
          echo/
          
          echo Searching for uc.exe in standard installation directories ...
          set "AppFullName=%ProgramFiles%\IDM Computer Solutions\UltraCompare\uc.exe"
          if exist "%AppFullName%" goto FoundAppName
          set "AppFullName=%ProgramFiles(x86)%\IDM Computer Solutions\UltraCompare\uc.exe"
          if not "%ProgramFiles(x86)%" == "" if exist "%AppFullName%" goto FoundAppName
          set "AppFullName=%UserProfile%\Documents\IDM Computer Solutions\UltraCompare\uc.exe"
          if exist "%AppFullName%" goto FoundAppName
          
          echo/
          echo Error: Could not find uc.exe in standard installation directories.
          
          :FixInfo
          echo/
          echo Please fix installation of UltraCompare Professional by reinstalling it
          echo and then run this batch file once again if that is necessary at all.
          goto EndBatch
          
          :FoundAppName
          echo/
          echo Found: "%AppFullName%"
          for %%I in ("%AppFullName%") do set "AppFilePath=%%~dpI"
          
          if not exist "%AppFilePath%UC_ShellExt.dll" (
              echo/
              echo Error: Could not find: "%AppFilePath%UC_ShellExt.dll"
              goto FixInfo
          )
          echo Found: "%AppFilePath%UC_ShellExt.dll"
          if not exist "%AppFilePath%UC_ShellExt64.dll" (
              echo/
              echo Error: Could not find: "%AppFilePath%UC_ShellExt64.dll"
              goto FixInfo
          )
          echo Found: "%AppFilePath%UC_ShellExt64.dll"
          echo/
          
          if not "%ProgramFiles(x86)%" == "" (
              echo Register both shell extensions for basic and advanced Explorer integration ...
              echo Register shell extension UC_ShellExt64.dll ...
              %SystemRoot%\System32\reg.exe add "HKCU\Software\Classes\CLSID\{C3B42C03-C1B7-4c1a-B384-BBAE19646333}\InProcServer32" /f /ve /t REG_SZ /d "%AppFilePath%UC_ShellExt64.dll"
              echo Register threading model for UC_ShellExt64.dll ...
              %SystemRoot%\System32\reg.exe add "HKCU\Software\Classes\CLSID\{C3B42C03-C1B7-4c1a-B384-BBAE19646333}\InProcServer32" /f /v ThreadingModel /t REG_SZ /d Apartment
              echo Register shell extension UC_ShellExt.dll ...
              %SystemRoot%\System32\reg.exe add "HKCU\Software\Classes\Wow6432Node\CLSID\{C3B42C03-C1B7-4c1a-B384-BBAE19646333}\InProcServer32" /f /ve /t REG_SZ /d "%AppFilePath%UC_ShellExt.dll"
              echo Register threading model for UC_ShellExt.dll ...
              %SystemRoot%\System32\reg.exe add "HKCU\Software\Classes\Wow6432Node\CLSID\{C3B42C03-C1B7-4c1a-B384-BBAE19646333}\InProcServer32" /f /v ThreadingModel /t REG_SZ /d Apartment
          ) else (
              echo Register x86 shell extension for basic and advanced Explorer integration ...
              echo Register shell extension UC_ShellExt.dll ...
              %SystemRoot%\System32\reg.exe add "HKCU\Software\Classes\CLSID\{C3B42C03-C1B7-4c1a-B384-BBAE19646333}\InProcServer32" /f /ve /t REG_SZ /d "%AppFilePath%UC_ShellExt.dll"
              echo Register threading model for UC_ShellExt.dll ...
              %SystemRoot%\System32\reg.exe add "HKCU\Software\Classes\CLSID\{C3B42C03-C1B7-4c1a-B384-BBAE19646333}\InProcServer32" /f /v ThreadingModel /t REG_SZ /d Apartment
          )
          
          echo Register setting ContextMenuText ...
          %SystemRoot%\System32\reg.exe add "HKCU\Software\IDM Computer Solutions\UltraCompare Pro" /f /v ContextMenuText /t REG_SZ /d "&UltraCompare"
          echo Register setting IntegrateWithExplorer ...
          %SystemRoot%\System32\reg.exe add "HKCU\Software\IDM Computer Solutions\UltraCompare Pro" /f /v IntegrateWithExplorer /t REG_DWORD /d 3
          echo Register setting IntegrateWithExplorerOverride ...
          %SystemRoot%\System32\reg.exe add "HKCU\Software\IDM Computer Solutions\UltraCompare Pro" /f /v IntegrateWithExplorerOverride /t REG_DWORD /d 1
          
          echo Register setting RunShellExt ...
          %SystemRoot%\System32\reg.exe add "HKCU\Software\IDM Computer Solutions\UltraCompare Pro\UltraCompare Professional\Settings" /f /v RunShellExt /t REG_DWORD /d 1
          echo Register setting RunShellExtAdvanced ...
          %SystemRoot%\System32\reg.exe add "HKCU\Software\IDM Computer Solutions\UltraCompare Pro\UltraCompare Professional\Settings" /f /v RunShellExtAdvanced /t REG_DWORD /d 1
          
          echo Register context menu handler for all files ...
          %SystemRoot%\System32\reg.exe add "HKCU\Software\Classes\*\shellex\ContextMenuHandlers\UltraCompare" /f /ve /t REG_SZ /d {C3B42C03-C1B7-4c1a-B384-BBAE19646333}
          echo Register context menu handler for all directories ...
          %SystemRoot%\System32\reg.exe add "HKCU\Software\Classes\Directory\shellex\ContextMenuHandlers\UltraCompare" /f /ve /t REG_SZ /d {C3B42C03-C1B7-4c1a-B384-BBAE19646333}
          
          :EndBatch
          echo/
          endlocal
          pause
          
          Copy and paste those lines into an ASCII/ANSI encoded file with DOS line endings and save the file with any file name like RegisterUC with file extension .bat. The batch file is designed for running without administrator privileges and for that reason can be executed by every user using UltraCompare Professional version 18.10.

          Double click on the batch file to execute it and look on output lines. There should be no error message output. But if an error message is output, click with secondary (right) mouse button into the console window and click with primary (left) mouse button on first menu item Mark. Make a rectangular selection of the output lines with using mouse and press key Return or Enter to copy the selected text in console window to clipboard. Paste the copied text into a reply on this post.

          Update on 2019-12-30:

          The batch file is not needed on using UltraCompare Professional for Windows v20.00.0.50.

          It is enough to
          • open Home - Settings (ribbon mode) or Options - Configuration (toolbar/menu mode),
          • click in tree on left side on Shell Integration,
          • uncheck on right side all options from bottom to top, especially the option Enable basic Explorer integration and click on button Apply if this option is currently checked,
          • check option Enable basic Explorer integration and perhaps also Enable advanced Explorer integration and perhaps also Enable auto select and
          • click on button OK.
          UltraCompare Professional v20.00.0.50 registers both Explorer shell extension DLLs and the UltraCompare context submenu appears in 32-bit and 64-bit Windows Explorer and other applications making use of the Windows Explorer shell extensions.

          In toolbar/menu mode the shell integration can be configured also by clicking on the last two items of menu Options.
          Best regards from an UC/UE/UES for Windows user from Austria