4 : ShellExtension.dll is a so called 'Shell Extension'
5 : allowing user to start WinMerge from explorer's context
6 : menu to compare selected files/directories.
7 : However this dll file must be registered for
8 : Windows before it works.
10 : ShellExtension.dll can be unregistered with command:
11 : "RegisterPerUser.bat /U"
13 IF "%OS%" == "" Set DLLPATH=%0\..\ShellExtension.dll
14 IF "%PROCESSOR_ARCHITECTURE%" == "x86" Set DLLPATH=%~dp0%ShellExtensionU.dll
15 IF "%PROCESSOR_ARCHITECTURE%" == "AMD64" Set DLLPATH=%~dp0%ShellExtensionX64.dll
16 IF "%PROCESSOR_ARCHITECTURE%" == "IA64" Set DLLPATH=%~dp0%ShellExtensionIA64.dll
17 IF "%PROCESSOR_ARCHITECTURE%" == "ARM64" Set DLLPATH=%~dp0%ShellExtensionARM64.dll
18 IF "%PROCESSOR_ARCHITECTURE%" == "ARM" Set DLLPATH=%~dp0%ShellExtensionARM.dll
22 IF "%%i" == "/s" SET OPTIONS=%OPTIONS% /s
23 IF "%%i" == "/S" SET OPTIONS=%OPTIONS% /s
27 IF "%%i" == "/u" Goto Uninstall
28 IF "%%i" == "/U" Goto Uninstall
31 Echo Registering ShellExtension.dll for current user only...
32 %WINDIR%\System32\RegSvr32 /n %OPTIONS% /i:user "%DLLPATH%"
33 IF EXIST "%~dp0\WinMerge32BitPluginProxy.exe" "%~dp0\WinMerge32BitPluginProxy.exe" /RegServerPerUser
37 Echo UnRegistering ShellExtension.dll for current user only...
38 %WINDIR%\System32\RegSvr32 /u /n %OPTIONS% /i:user "%DLLPATH%"
39 IF EXIST "%~dp0\WinMerge32BitPluginProxy.exe" "%~dp0\WinMerge32BitPluginProxy.exe" /UnregServerPerUser