OSDN Git Service

Installer: Remove ExeName and WinMergeExeName function
authorTakashi Sawanaka <sdottaka@users.sourceforge.net>
Sun, 14 Jul 2019 08:50:54 +0000 (17:50 +0900)
committerTakashi Sawanaka <sdottaka@users.sourceforge.net>
Sun, 14 Jul 2019 08:50:54 +0000 (17:50 +0900)
Installer/InnoSetup/WinMerge.iss
Installer/InnoSetup/WinMergeX64.is6.iss
Installer/InnoSetup/WinMergeX64.iss

index c3181a2..79b39b6 100755 (executable)
@@ -86,7 +86,7 @@ PrivilegesRequired=admin
 ;Windows 2000 or later required\r
 MinVersion=0,5.0\r
 \r
-UninstallDisplayIcon={app}\{code:ExeName}\r
+UninstallDisplayIcon={app}\WinMergeU.exe\r
 \r
 ;Artwork References\r
 WizardImageFile=Art\Large Logo.bmp\r
@@ -555,7 +555,7 @@ Name: "{app}\MergePlugins"
 \r
 [Icons]\r
 ;Start Menu Icons\r
-Name: {group}\WinMerge; Filename: {app}\{code:ExeName}; AppUserModelID: "Thingamahoochie.WinMerge"\r
+Name: {group}\WinMerge; Filename: {app}\WinMergeU.exe; AppUserModelID: "Thingamahoochie.WinMerge"\r
 Name: {group}\{cm:ReadMe}; Filename: {app}\Docs\ReadMe.txt; IconFileName: {win}\NOTEPAD.EXE\r
 Name: {group}\{cm:UsersGuide}; Filename: {app}\Docs\WinMerge.chm\r
 Name: {group}\{cm:ProgramOnTheWeb,WinMerge}; Filename: http://winmerge.org\r
@@ -583,10 +583,10 @@ Name: {group}\{cm:ReadMe}; Filename: {app}\Docs\ReadMe-Turkish.txt; IconFileName
 Name: {group}\{cm:ReadMe}; Filename: {app}\Docs\ReadMe-Ukrainian.txt; IconFileName: {win}\NOTEPAD.EXE; Languages: Ukrainian\r
 \r
 ;Desktop Icon\r
-Name: {commondesktop}\WinMerge; Filename: {app}\{code:ExeName}; Tasks: desktopicon\r
+Name: {commondesktop}\WinMerge; Filename: {app}\WinMergeU.exe; Tasks: desktopicon\r
 \r
 ;Quick Launch Icon\r
-Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\WinMerge; Filename: {app}\{code:ExeName}; Tasks: quicklaunchicon\r
+Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\WinMerge; Filename: {app}\WinMergeU.exe; Tasks: quicklaunchicon\r
 \r
 [Registry]\r
 Root: HKCU; Subkey: Software\Thingamahoochie; Flags: uninsdeletekeyifempty\r
@@ -599,9 +599,9 @@ Root: HKLM; Subkey: Software\Thingamahoochie\WinMerge; Flags: uninsdeletekey
 ;set Notepad to edit project files\r
 Root: HKCR; Subkey: .WinMerge; ValueType: String; ValueData: WinMerge.Project.File; Flags: uninsdeletekey\r
 Root: HKCR; Subkey: WinMerge.Project.File; ValueType: String; ValueData: {cm:ProjectFileDesc}; Flags: uninsdeletekey\r
-Root: HKCR; Subkey: WinMerge.Project.File\shell\open\command; ValueType: String; ValueData: """{app}\{code:ExeName}"" ""%1"""; Flags: uninsdeletekey\r
+Root: HKCR; Subkey: WinMerge.Project.File\shell\open\command; ValueType: String; ValueData: """{app}\WinMergeU.exe"" ""%1"""; Flags: uninsdeletekey\r
 Root: HKCR; Subkey: WinMerge.Project.File\shell\edit\command; ValueType: String; ValueData: """NOTEPAD.EXE"" ""%1"""; Flags: uninsdeletekey\r
-Root: HKCR; Subkey: WinMerge.Project.File\DefaultIcon; ValueType: String; ValueData: """{app}\{code:ExeName}"",1"; Flags: uninsdeletekey\r
+Root: HKCR; Subkey: WinMerge.Project.File\DefaultIcon; ValueType: String; ValueData: """{app}\WinMergeU.exe"",1"; Flags: uninsdeletekey\r
 \r
 ; delete obsolete values\r
 ;In Inno Setup Version 4.18 ValueData couldn't be null and compile,\r
@@ -620,11 +620,11 @@ Root: HKCR; SubKey: Directory\Shell\WinMerge; ValueType: none; Flags: deletekey
 ;Adds "Start Menu" --> "Run" Support for WinMerge\r
 Root: HKLM; Subkey: Software\Microsoft\Windows\CurrentVersion\App Paths\WinMerge.exe; ValueType: none; Flags: uninsdeletekey\r
 Root: HKLM; Subkey: Software\Microsoft\Windows\CurrentVersion\App Paths\WinMergeU.exe; ValueType: none; Flags: uninsdeletekey\r
-Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinMerge.exe; ValueType: string; ValueName: ; ValueData: {app}\{code:ExeName}\r
-Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinMergeU.exe; ValueType: string; ValueName: ; ValueData: {app}\{code:ExeName}\r
+Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinMerge.exe; ValueType: string; ValueName: ; ValueData: {app}\WinMergeU.exe\r
+Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinMergeU.exe; ValueType: string; ValueName: ; ValueData: {app}\WinMergeU.exe\r
 \r
 ;Registry Keys for use by ShellExtension.dll\r
-Root: HKLM; SubKey: Software\Thingamahoochie\WinMerge; ValueType: string; ValueName: Executable; ValueData: {app}\{code:ExeName}\r
+Root: HKLM; SubKey: Software\Thingamahoochie\WinMerge; ValueType: string; ValueName: Executable; ValueData: {app}\WinMergeU.exe\r
 \r
 ;Enables or disables the Context Menu preference based on what the user selects during install\r
 ;Initially the Context menu is explicitly disabled:\r
@@ -635,24 +635,24 @@ Root: HKLM; SubKey: Software\Thingamahoochie\WinMerge; ValueType: dword; ValueNa
 Root: HKCU; SubKey: Software\Thingamahoochie\WinMerge; ValueType: dword; ValueName: ContextMenuEnabled; ValueData: {code:ShellMenuEnabled}\r
 \r
 ;If WinMerge.exe is installed then we'll automatically configure WinMerge as the differencing application\r
-Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: string; ValueName: External Diff Application; ValueData: {app}\{code:ExeName}; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
+Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: string; ValueName: External Diff Application; ValueData: {app}\WinMergeU.exe; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
 Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: dword; ValueName: DiffAsUnicode; ValueData: $00000001; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
-Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Diff Application; ValueType: string; ValueName: _; ValueData: {app}\{code:ExeName}; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
+Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Diff Application; ValueType: string; ValueName: _; ValueData: {app}\WinMergeU.exe; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
 Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Diff2 Params; ValueType: string; ValueName: _; ValueData: """%1"" ""%2"""; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
 \r
 ;Tells TortoiseCVS to use WinMerge as its differencing application (this happens whether or not Tortoise is current installed, that way\r
 ;if it is installed at a later date this will automatically support it)\r
-Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: string; ValueName: External Merge Application; ValueData: {app}\{code:ExeName}; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
+Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: string; ValueName: External Merge Application; ValueData: {app}\WinMergeU.exe; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
 Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: dword; ValueName: MergeAsUnicode; ValueData: $00000001; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
-Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Merge Application; ValueType: string; ValueName: _; ValueData: {app}\{code:ExeName}; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
+Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Merge Application; ValueType: string; ValueName: _; ValueData: {app}\WinMergeU.exe; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
 Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Merge2 Params; ValueType: string; ValueName: _; ValueData: """%mine"" ""%yours"""; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
 \r
 ;Set WinMerge as TortoiseGit diff tool\r
-Root: HKCU; SubKey: Software\TortoiseGit; ValueType: string; ValueName: Diff; ValueData: {app}\{code:ExeName} -e -ub -dl %bname -dr %yname %base %mine; Flags: uninsdeletevalue; Tasks: TortoiseGit\r
+Root: HKCU; SubKey: Software\TortoiseGit; ValueType: string; ValueName: Diff; ValueData: {app}\WinMergeU.exe -e -ub -dl %bname -dr %yname %base %mine; Flags: uninsdeletevalue; Tasks: TortoiseGit\r
 Root: HKCU; SubKey: Software\TortoiseGit; ValueType: string; ValueName: Merge; ValueData: {code:TortoiseSVNGITMergeToolCommandLine}; Flags: uninsdeletevalue; Check: UseAs3WayMergeTool\r
 \r
 ;Set WinMerge as TortoiseSVN diff tool\r
-Root: HKCU; SubKey: Software\TortoiseSVN; ValueType: string; ValueName: Diff; ValueData: {app}\{code:ExeName} -e -ub -dl %bname -dr %yname %base %mine; Flags: uninsdeletevalue; Tasks: TortoiseSVN\r
+Root: HKCU; SubKey: Software\TortoiseSVN; ValueType: string; ValueName: Diff; ValueData: {app}\WinMergeU.exe -e -ub -dl %bname -dr %yname %base %mine; Flags: uninsdeletevalue; Tasks: TortoiseSVN\r
 Root: HKCU; SubKey: Software\TortoiseSVN; ValueType: string; ValueName: Merge; ValueData: {code:TortoiseSVNGITMergeToolCommandLine}; Flags: uninsdeletevalue; Check: UseAs3WayMergeTool\r
 \r
 ;Whatever the user chooses at the [Select Setup Language] dialog should also determine what language WinMerge will start up in\r
@@ -698,7 +698,7 @@ Root: HKLM; SubKey: Software\Thingamahoochie\WinMerge\Locale; ValueType: dword;
 ;This will no longer appear unless the user chose to make a start menu group in the first place\r
 Filename: {win}\Explorer.exe; Description: {cm:ViewStartMenuFolder}; Parameters: """{group}"""; Flags: waituntilidle postinstall skipifsilent unchecked; Check: GroupCreated\r
 \r
-Filename: {app}\{code:ExeName}; Description: {cm:LaunchProgram,WinMerge}; Flags: nowait postinstall skipifsilent runmaximized\r
+Filename: {app}\WinMergeU.exe; Description: {cm:LaunchProgram,WinMerge}; Flags: nowait postinstall skipifsilent runmaximized\r
 \r
 \r
 [UninstallDelete]\r
@@ -747,12 +747,6 @@ Begin
 End;\r
 \r
 \r
-{Returns the appropriate name of the .EXE being installed}\r
-Function ExeName(Unused: string): string;\r
-Begin\r
-  Result := 'WinMergeU.exe';\r
-End;\r
-\r
 {Determines whether or not TortoiseCVS is installed}\r
 Function TortoiseCVSInstalled(): boolean;\r
 Begin\r
@@ -837,15 +831,6 @@ Begin
     Result := '0';\r
 End;\r
 \r
-{Returns WinMerge installed exeutable file name}\r
-Function WinMergeExeName(): string;\r
-Var\r
-       Unused: String;\r
-\r
-Begin\r
-    Result := ExpandConstant('{app}\') + ExeName(Unused);\r
-End;\r
-\r
 // Add WinMerge to system path.\r
 // This requires certain order of things to work:\r
 // #1 ModPathDir function must be first (it gets called by others)\r
@@ -884,7 +869,7 @@ begin
     if g_CheckListBox.Checked[4] then begin\r
         Args := Args + ' /a' + lmr;\r
     end;\r
-    Result := WinMergeExeName() + ' ' + Args;\r
+    Result := ExpandConstant('{app}\WinMergeU.exe') + ' ' + Args;\r
 end;\r
 \r
 function ThreeWayMergePage_ShouldSkipPage(Page: TWizardPage): Boolean;\r
index f90c0bf..def53d0 100644 (file)
@@ -89,7 +89,7 @@ PrivilegesRequired=admin
 ;Windows Vista or later required\r
 MinVersion=0,6.0\r
 \r
-UninstallDisplayIcon={app}\{code:ExeName}\r
+UninstallDisplayIcon={app}\WinMergeU.exe\r
 \r
 ;Artwork References\r
 WizardImageFile=Art\Large Logo.bmp\r
@@ -535,7 +535,7 @@ Name: "{app}\MergePlugins"
 \r
 [Icons]\r
 ;Start Menu Icons\r
-Name: {group}\WinMerge; Filename: {app}\{code:ExeName}; AppUserModelID: "Thingamahoochie.WinMerge"\r
+Name: {group}\WinMerge; Filename: {app}\WinMergeU.exe; AppUserModelID: "Thingamahoochie.WinMerge"\r
 Name: {group}\{cm:ReadMe}; Filename: {app}\Docs\ReadMe.txt; IconFileName: {win}\NOTEPAD.EXE\r
 Name: {group}\{cm:UsersGuide}; Filename: {app}\Docs\WinMerge.chm\r
 Name: {group}\{cm:ProgramOnTheWeb,WinMerge}; Filename: http://winmerge.org\r
@@ -563,10 +563,10 @@ Name: {group}\{cm:ReadMe}; Filename: {app}\Docs\ReadMe-Turkish.txt; IconFileName
 Name: {group}\{cm:ReadMe}; Filename: {app}\Docs\ReadMe-Ukrainian.txt; IconFileName: {win}\NOTEPAD.EXE; Languages: Ukrainian\r
 \r
 ;Desktop Icon\r
-Name: {autodesktop}\WinMerge; Filename: {app}\{code:ExeName}; Tasks: desktopicon\r
+Name: {autodesktop}\WinMerge; Filename: {app}\WinMergeU.exe; Tasks: desktopicon\r
 \r
 ;Quick Launch Icon\r
-Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\WinMerge; Filename: {app}\{code:ExeName}; Tasks: quicklaunchicon\r
+Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\WinMerge; Filename: {app}\WinMergeU.exe; Tasks: quicklaunchicon\r
 \r
 [Registry]\r
 Root: HKCU; Subkey: Software\Thingamahoochie; Flags: uninsdeletekeyifempty\r
@@ -579,9 +579,9 @@ Root: HKA;  Subkey: Software\Thingamahoochie\WinMerge; Flags: uninsdeletekey
 ;set Notepad to edit project files\r
 Root: HKA;  Subkey: Software\Classes\.WinMerge; ValueType: String; ValueData: WinMerge.Project.File; Flags: uninsdeletekey\r
 Root: HKA;  Subkey: Software\Classes\WinMerge.Project.File; ValueType: String; ValueData: {cm:ProjectFileDesc}; Flags: uninsdeletekey\r
-Root: HKA;  Subkey: Software\Classes\WinMerge.Project.File\shell\open\command; ValueType: String; ValueData: """{app}\{code:ExeName}"" ""%1"""; Flags: uninsdeletekey\r
+Root: HKA;  Subkey: Software\Classes\WinMerge.Project.File\shell\open\command; ValueType: String; ValueData: """{app}\WinMergeU.exe"" ""%1"""; Flags: uninsdeletekey\r
 Root: HKA;  Subkey: Software\Classes\WinMerge.Project.File\shell\edit\command; ValueType: String; ValueData: """NOTEPAD.EXE"" ""%1"""; Flags: uninsdeletekey\r
-Root: HKA;  Subkey: Software\Classes\WinMerge.Project.File\DefaultIcon; ValueType: String; ValueData: """{app}\{code:ExeName}"",1"; Flags: uninsdeletekey\r
+Root: HKA;  Subkey: Software\Classes\WinMerge.Project.File\DefaultIcon; ValueType: String; ValueData: """{app}\WinMergeU.exe"",1"; Flags: uninsdeletekey\r
 \r
 ; delete obsolete values\r
 ;In Inno Setup Version 4.18 ValueData couldn't be null and compile,\r
@@ -600,11 +600,11 @@ Root: HKA;  SubKey: Software\Classes\Directory\Shell\WinMerge; ValueType: none;
 ;Adds "Start Menu" --> "Run" Support for WinMerge\r
 Root: HKA;  Subkey: Software\Microsoft\Windows\CurrentVersion\App Paths\WinMerge.exe; ValueType: none; Flags: uninsdeletekey\r
 Root: HKA;  Subkey: Software\Microsoft\Windows\CurrentVersion\App Paths\WinMergeU.exe; ValueType: none; Flags: uninsdeletekey\r
-Root: HKA;  SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinMerge.exe; ValueType: string; ValueName: ; ValueData: {app}\{code:ExeName}\r
-Root: HKA;  SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinMergeU.exe; ValueType: string; ValueName: ; ValueData: {app}\{code:ExeName}\r
+Root: HKA;  SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinMerge.exe; ValueType: string; ValueName: ; ValueData: {app}\WinMergeU.exe\r
+Root: HKA;  SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinMergeU.exe; ValueType: string; ValueName: ; ValueData: {app}\WinMergeU.exe\r
 \r
 ;Registry Keys for use by ShellExtension.dll\r
-Root: HKA;  SubKey: Software\Thingamahoochie\WinMerge; ValueType: string; ValueName: Executable; ValueData: {app}\{code:ExeName}\r
+Root: HKA;  SubKey: Software\Thingamahoochie\WinMerge; ValueType: string; ValueName: Executable; ValueData: {app}\WinMergeU.exe\r
 \r
 ;Enables or disables the Context Menu preference based on what the user selects during install\r
 ;Initially the Context menu is explicitly disabled:\r
@@ -615,24 +615,24 @@ Root: HKA;  SubKey: Software\Thingamahoochie\WinMerge; ValueType: dword; ValueNa
 Root: HKCU; SubKey: Software\Thingamahoochie\WinMerge; ValueType: dword; ValueName: ContextMenuEnabled; ValueData: {code:ShellMenuEnabled}\r
 \r
 ;If WinMerge.exe is installed then we'll automatically configure WinMerge as the differencing application\r
-Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: string; ValueName: External Diff Application; ValueData: {app}\{code:ExeName}; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
+Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: string; ValueName: External Diff Application; ValueData: {app}\WinMergeU.exe; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
 Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: dword; ValueName: DiffAsUnicode; ValueData: $00000001; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
-Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Diff Application; ValueType: string; ValueName: _; ValueData: {app}\{code:ExeName}; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
+Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Diff Application; ValueType: string; ValueName: _; ValueData: {app}\WinMergeU.exe; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
 Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Diff2 Params; ValueType: string; ValueName: _; ValueData: """%1"" ""%2"""; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
 \r
 ;Tells TortoiseCVS to use WinMerge as its differencing application (this happens whether or not Tortoise is current installed, that way\r
 ;if it is installed at a later date this will automatically support it)\r
-Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: string; ValueName: External Merge Application; ValueData: {app}\{code:ExeName}; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
+Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: string; ValueName: External Merge Application; ValueData: {app}\WinMergeU.exe; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
 Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: dword; ValueName: MergeAsUnicode; ValueData: $00000001; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
-Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Merge Application; ValueType: string; ValueName: _; ValueData: {app}\{code:ExeName}; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
+Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Merge Application; ValueType: string; ValueName: _; ValueData: {app}\WinMergeU.exe; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
 Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Merge2 Params; ValueType: string; ValueName: _; ValueData: """%mine"" ""%yours"""; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
 \r
 ;Set WinMerge as TortoiseGit diff tool\r
-Root: HKCU; SubKey: Software\TortoiseGit; ValueType: string; ValueName: Diff; ValueData: {app}\{code:ExeName} -e -ub -dl %bname -dr %yname %base %mine; Flags: uninsdeletevalue; Tasks: TortoiseGit\r
+Root: HKCU; SubKey: Software\TortoiseGit; ValueType: string; ValueName: Diff; ValueData: {app}\WinMergeU.exe -e -ub -dl %bname -dr %yname %base %mine; Flags: uninsdeletevalue; Tasks: TortoiseGit\r
 Root: HKCU; SubKey: Software\TortoiseGit; ValueType: string; ValueName: Merge; ValueData: {code:TortoiseSVNGITMergeToolCommandLine}; Flags: uninsdeletevalue; Check: UseAs3WayMergeTool\r
 \r
 ;Set WinMerge as TortoiseSVN diff tool\r
-Root: HKCU; SubKey: Software\TortoiseSVN; ValueType: string; ValueName: Diff; ValueData: {app}\{code:ExeName} -e -ub -dl %bname -dr %yname %base %mine; Flags: uninsdeletevalue; Tasks: TortoiseSVN\r
+Root: HKCU; SubKey: Software\TortoiseSVN; ValueType: string; ValueName: Diff; ValueData: {app}\WinMergeU.exe -e -ub -dl %bname -dr %yname %base %mine; Flags: uninsdeletevalue; Tasks: TortoiseSVN\r
 Root: HKCU; SubKey: Software\TortoiseSVN; ValueType: string; ValueName: Merge; ValueData: {code:TortoiseSVNGITMergeToolCommandLine}; Flags: uninsdeletevalue; Check: UseAs3WayMergeTool\r
 \r
 ;Whatever the user chooses at the [Select Setup Language] dialog should also determine what language WinMerge will start up in\r
@@ -678,7 +678,7 @@ Root: HKA;  SubKey: Software\Thingamahoochie\WinMerge\Locale; ValueType: dword;
 ;This will no longer appear unless the user chose to make a start menu group in the first place\r
 Filename: {win}\Explorer.exe; Description: {cm:ViewStartMenuFolder}; Parameters: """{group}"""; Flags: waituntilidle postinstall skipifsilent unchecked; Check: GroupCreated\r
 \r
-Filename: {app}\{code:ExeName}; Description: {cm:LaunchProgram,WinMerge}; Flags: nowait postinstall skipifsilent runmaximized\r
+Filename: {app}\WinMergeU.exe; Description: {cm:LaunchProgram,WinMerge}; Flags: nowait postinstall skipifsilent runmaximized\r
 \r
 Filename: {syswow64}\regsvr32.exe; Parameters: "/s ""{app}\ShellExtensionU.dll"""; Flags: waituntilidle; Check: IsAdminInstallMode; Components: ShellExtension32bit\r
 Filename: {syswow64}\regsvr32.exe; Parameters: "/s /n /i:user ""{app}\ShellExtensionU.dll"""; Flags: waituntilidle; Check: not IsAdminInstallMode; Components: ShellExtension32bit\r
@@ -742,12 +742,6 @@ Begin
 End;\r
 \r
 \r
-{Returns the appropriate name of the .EXE being installed}\r
-Function ExeName(Unused: string): string;\r
-Begin\r
-  Result := 'WinMergeU.exe';\r
-End;\r
-\r
 {Determines whether or not TortoiseCVS is installed}\r
 Function TortoiseCVSInstalled(): boolean;\r
 Begin\r
@@ -832,15 +826,6 @@ Begin
     Result := '0';\r
 End;\r
 \r
-{Returns WinMerge installed exeutable file name}\r
-Function WinMergeExeName(): string;\r
-Var\r
-       Unused: String;\r
-\r
-Begin\r
-    Result := ExpandConstant('{app}\') + ExeName(Unused);\r
-End;\r
-\r
 // Add WinMerge to system path.\r
 // This requires certain order of things to work:\r
 // #1 ModPathDir function must be first (it gets called by others)\r
@@ -879,7 +864,7 @@ begin
     if g_CheckListBox.Checked[4] then begin\r
         Args := Args + ' /a' + lmr;\r
     end;\r
-    Result := WinMergeExeName() + ' ' + Args;\r
+    Result := ExpandConstant('{app}\WinMergeU.exe') + ' ' + Args;\r
 end;\r
 \r
 function ThreeWayMergePage_ShouldSkipPage(Page: TWizardPage): Boolean;\r
index d25633e..49bfd89 100644 (file)
@@ -86,7 +86,7 @@ PrivilegesRequired=admin
 ;Windows 2000 or later required\r
 MinVersion=0,5.0\r
 \r
-UninstallDisplayIcon={app}\{code:ExeName}\r
+UninstallDisplayIcon={app}\WinMergeU.exe\r
 \r
 ;Artwork References\r
 WizardImageFile=Art\Large Logo.bmp\r
@@ -533,7 +533,7 @@ Name: "{app}\MergePlugins"
 \r
 [Icons]\r
 ;Start Menu Icons\r
-Name: {group}\WinMerge; Filename: {app}\{code:ExeName}; AppUserModelID: "Thingamahoochie.WinMerge"\r
+Name: {group}\WinMerge; Filename: {app}\WinMergeU.exe; AppUserModelID: "Thingamahoochie.WinMerge"\r
 Name: {group}\{cm:ReadMe}; Filename: {app}\Docs\ReadMe.txt; IconFileName: {win}\NOTEPAD.EXE\r
 Name: {group}\{cm:UsersGuide}; Filename: {app}\Docs\WinMerge.chm\r
 Name: {group}\{cm:ProgramOnTheWeb,WinMerge}; Filename: http://winmerge.org\r
@@ -561,10 +561,10 @@ Name: {group}\{cm:ReadMe}; Filename: {app}\Docs\ReadMe-Turkish.txt; IconFileName
 Name: {group}\{cm:ReadMe}; Filename: {app}\Docs\ReadMe-Ukrainian.txt; IconFileName: {win}\NOTEPAD.EXE; Languages: Ukrainian\r
 \r
 ;Desktop Icon\r
-Name: {commondesktop}\WinMerge; Filename: {app}\{code:ExeName}; Tasks: desktopicon\r
+Name: {commondesktop}\WinMerge; Filename: {app}\WinMergeU.exe; Tasks: desktopicon\r
 \r
 ;Quick Launch Icon\r
-Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\WinMerge; Filename: {app}\{code:ExeName}; Tasks: quicklaunchicon\r
+Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\WinMerge; Filename: {app}\WinMergeU.exe; Tasks: quicklaunchicon\r
 \r
 [Registry]\r
 Root: HKCU; Subkey: Software\Thingamahoochie; Flags: uninsdeletekeyifempty\r
@@ -577,9 +577,9 @@ Root: HKLM; Subkey: Software\Thingamahoochie\WinMerge; Flags: uninsdeletekey
 ;set Notepad to edit project files\r
 Root: HKCR; Subkey: .WinMerge; ValueType: String; ValueData: WinMerge.Project.File; Flags: uninsdeletekey\r
 Root: HKCR; Subkey: WinMerge.Project.File; ValueType: String; ValueData: {cm:ProjectFileDesc}; Flags: uninsdeletekey\r
-Root: HKCR; Subkey: WinMerge.Project.File\shell\open\command; ValueType: String; ValueData: """{app}\{code:ExeName}"" ""%1"""; Flags: uninsdeletekey\r
+Root: HKCR; Subkey: WinMerge.Project.File\shell\open\command; ValueType: String; ValueData: """{app}\WinMergeU.exe"" ""%1"""; Flags: uninsdeletekey\r
 Root: HKCR; Subkey: WinMerge.Project.File\shell\edit\command; ValueType: String; ValueData: """NOTEPAD.EXE"" ""%1"""; Flags: uninsdeletekey\r
-Root: HKCR; Subkey: WinMerge.Project.File\DefaultIcon; ValueType: String; ValueData: """{app}\{code:ExeName}"",1"; Flags: uninsdeletekey\r
+Root: HKCR; Subkey: WinMerge.Project.File\DefaultIcon; ValueType: String; ValueData: """{app}\WinMergeU.exe"",1"; Flags: uninsdeletekey\r
 \r
 ; delete obsolete values\r
 ;In Inno Setup Version 4.18 ValueData couldn't be null and compile,\r
@@ -598,11 +598,11 @@ Root: HKCR; SubKey: Directory\Shell\WinMerge; ValueType: none; Flags: deletekey
 ;Adds "Start Menu" --> "Run" Support for WinMerge\r
 Root: HKLM; Subkey: Software\Microsoft\Windows\CurrentVersion\App Paths\WinMerge.exe; ValueType: none; Flags: uninsdeletekey\r
 Root: HKLM; Subkey: Software\Microsoft\Windows\CurrentVersion\App Paths\WinMergeU.exe; ValueType: none; Flags: uninsdeletekey\r
-Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinMerge.exe; ValueType: string; ValueName: ; ValueData: {app}\{code:ExeName}\r
-Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinMergeU.exe; ValueType: string; ValueName: ; ValueData: {app}\{code:ExeName}\r
+Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinMerge.exe; ValueType: string; ValueName: ; ValueData: {app}\WinMergeU.exe\r
+Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinMergeU.exe; ValueType: string; ValueName: ; ValueData: {app}\WinMergeU.exe\r
 \r
 ;Registry Keys for use by ShellExtension.dll\r
-Root: HKLM; SubKey: Software\Thingamahoochie\WinMerge; ValueType: string; ValueName: Executable; ValueData: {app}\{code:ExeName}\r
+Root: HKLM; SubKey: Software\Thingamahoochie\WinMerge; ValueType: string; ValueName: Executable; ValueData: {app}\WinMergeU.exe\r
 \r
 ;Enables or disables the Context Menu preference based on what the user selects during install\r
 ;Initially the Context menu is explicitly disabled:\r
@@ -613,24 +613,24 @@ Root: HKLM; SubKey: Software\Thingamahoochie\WinMerge; ValueType: dword; ValueNa
 Root: HKCU; SubKey: Software\Thingamahoochie\WinMerge; ValueType: dword; ValueName: ContextMenuEnabled; ValueData: {code:ShellMenuEnabled}\r
 \r
 ;If WinMerge.exe is installed then we'll automatically configure WinMerge as the differencing application\r
-Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: string; ValueName: External Diff Application; ValueData: {app}\{code:ExeName}; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
+Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: string; ValueName: External Diff Application; ValueData: {app}\WinMergeU.exe; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
 Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: dword; ValueName: DiffAsUnicode; ValueData: $00000001; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
-Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Diff Application; ValueType: string; ValueName: _; ValueData: {app}\{code:ExeName}; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
+Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Diff Application; ValueType: string; ValueName: _; ValueData: {app}\WinMergeU.exe; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
 Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Diff2 Params; ValueType: string; ValueName: _; ValueData: """%1"" ""%2"""; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
 \r
 ;Tells TortoiseCVS to use WinMerge as its differencing application (this happens whether or not Tortoise is current installed, that way\r
 ;if it is installed at a later date this will automatically support it)\r
-Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: string; ValueName: External Merge Application; ValueData: {app}\{code:ExeName}; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
+Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: string; ValueName: External Merge Application; ValueData: {app}\WinMergeU.exe; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
 Root: HKCU; SubKey: Software\TortoiseCVS; ValueType: dword; ValueName: MergeAsUnicode; ValueData: $00000001; Flags: uninsdeletevalue; Tasks: TortoiseCVS\r
-Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Merge Application; ValueType: string; ValueName: _; ValueData: {app}\{code:ExeName}; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
+Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Merge Application; ValueType: string; ValueName: _; ValueData: {app}\WinMergeU.exe; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
 Root: HKCU; SubKey: Software\TortoiseCVS\Prefs\External Merge2 Params; ValueType: string; ValueName: _; ValueData: """%mine"" ""%yours"""; Flags: uninsdeletevalue dontcreatekey; Tasks: TortoiseCVS\r
 \r
 ;Set WinMerge as TortoiseGit diff tool\r
-Root: HKCU; SubKey: Software\TortoiseGit; ValueType: string; ValueName: Diff; ValueData: {app}\{code:ExeName} -e -ub -dl %bname -dr %yname %base %mine; Flags: uninsdeletevalue; Tasks: TortoiseGit\r
+Root: HKCU; SubKey: Software\TortoiseGit; ValueType: string; ValueName: Diff; ValueData: {app}\WinMergeU.exe -e -ub -dl %bname -dr %yname %base %mine; Flags: uninsdeletevalue; Tasks: TortoiseGit\r
 Root: HKCU; SubKey: Software\TortoiseGit; ValueType: string; ValueName: Merge; ValueData: {code:TortoiseSVNGITMergeToolCommandLine}; Flags: uninsdeletevalue; Check: UseAs3WayMergeTool\r
 \r
 ;Set WinMerge as TortoiseSVN diff tool\r
-Root: HKCU; SubKey: Software\TortoiseSVN; ValueType: string; ValueName: Diff; ValueData: {app}\{code:ExeName} -e -ub -dl %bname -dr %yname %base %mine; Flags: uninsdeletevalue; Tasks: TortoiseSVN\r
+Root: HKCU; SubKey: Software\TortoiseSVN; ValueType: string; ValueName: Diff; ValueData: {app}\WinMergeU.exe -e -ub -dl %bname -dr %yname %base %mine; Flags: uninsdeletevalue; Tasks: TortoiseSVN\r
 Root: HKCU; SubKey: Software\TortoiseSVN; ValueType: string; ValueName: Merge; ValueData: {code:TortoiseSVNGITMergeToolCommandLine}; Flags: uninsdeletevalue; Check: UseAs3WayMergeTool\r
 \r
 ;Whatever the user chooses at the [Select Setup Language] dialog should also determine what language WinMerge will start up in\r
@@ -676,7 +676,7 @@ Root: HKLM; SubKey: Software\Thingamahoochie\WinMerge\Locale; ValueType: dword;
 ;This will no longer appear unless the user chose to make a start menu group in the first place\r
 Filename: {win}\Explorer.exe; Description: {cm:ViewStartMenuFolder}; Parameters: """{group}"""; Flags: waituntilidle postinstall skipifsilent unchecked; Check: GroupCreated\r
 \r
-Filename: {app}\{code:ExeName}; Description: {cm:LaunchProgram,WinMerge}; Flags: nowait postinstall skipifsilent runmaximized\r
+Filename: {app}\WinMergeU.exe; Description: {cm:LaunchProgram,WinMerge}; Flags: nowait postinstall skipifsilent runmaximized\r
 \r
 Filename: {app}\WinMerge32BitPluginProxy.exe; Parameters: "/RegServer"; Flags: waituntilidle\r
 \r
@@ -730,12 +730,6 @@ Begin
 End;\r
 \r
 \r
-{Returns the appropriate name of the .EXE being installed}\r
-Function ExeName(Unused: string): string;\r
-Begin\r
-  Result := 'WinMergeU.exe';\r
-End;\r
-\r
 {Determines whether or not TortoiseCVS is installed}\r
 Function TortoiseCVSInstalled(): boolean;\r
 Begin\r
@@ -820,15 +814,6 @@ Begin
     Result := '0';\r
 End;\r
 \r
-{Returns WinMerge installed exeutable file name}\r
-Function WinMergeExeName(): string;\r
-Var\r
-       Unused: String;\r
-\r
-Begin\r
-    Result := ExpandConstant('{app}\') + ExeName(Unused);\r
-End;\r
-\r
 // Add WinMerge to system path.\r
 // This requires certain order of things to work:\r
 // #1 ModPathDir function must be first (it gets called by others)\r
@@ -867,7 +852,7 @@ begin
     if g_CheckListBox.Checked[4] then begin\r
         Args := Args + ' /a' + lmr;\r
     end;\r
-    Result := WinMergeExeName() + ' ' + Args;\r
+    Result := ExpandConstant('{app}\WinMergeU.exe') + ' ' + Args;\r
 end;\r
 \r
 function ThreeWayMergePage_ShouldSkipPage(Page: TWizardPage): Boolean;\r