# HG changeset patch
# User Rock Hymas <[email protected]>
# Date 1253127376 14400
# Branch stable
# Node ID d5815506564302945d2263232d5be61608e63683
# Parent 69a4647178107528dad3cdb8e18c7dccfe7f8840
installer: Register 32 bit shell extensions 64 bit machines for use in 32 bit
shell processes
diff --git a/contrib/win32/mercurial.iss b/contrib/win32/mercurial.iss
--- a/contrib/win32/mercurial.iss
+++ b/contrib/win32/mercurial.iss
@@ -82,6 +82,7 @@
Source: icons\thg_logo.ico; DestDir: {app}
Source: ..\misc\hgbook.pdf; DestDir: {app}/docs; Components: hgbook
Source: ..\misc\ThgShellx86.dll; DestDir: {app}; DestName: ThgShell.dll;
Check: not Is64BitInstallMode; Flags: ignoreversion restartreplace
uninsrestartdelete; Components: shell
+Source: ..\misc\ThgShellx86.dll; DestDir: {app}; DestName: ThgShellx86.dll;
Check: Is64BitInstallMode; Flags: ignoreversion restartreplace
uninsrestartdelete; Components: shell
Source: ..\misc\ThgShellx64.dll; DestDir: {app}; DestName: ThgShell.dll;
Check: Is64BitInstallMode; Flags: ignoreversion restartreplace
uninsrestartdelete; Components: shell
[INI]
@@ -103,7 +104,7 @@
;Filename: {tmp}\vcredist_x86.exe; Parameters: /q; Check: ShouldInstallVCPPSP1
and not Is64BitInstallMode
;Filename: {tmp}\vcredist_x64.exe; Parameters: /q; Check: ShouldInstallVCPPSP1
and Is64BitInstallMode
Filename: {app}\add_path.exe; Parameters: {app}; StatusMsg: Adding the
installation path to the search path...
-Filename: msiexec.exe; Parameters: "/i
""{app}\TortoiseOverlays\TortoiseOverlays-1.0.6.16523-win32.msi"" /qn
/norestart ALLUSERS=1"; Check: not Is64BitInstallMode; Components: shell;
StatusMsg: Installing TortoiseOverlays.dll ...
+Filename: msiexec.exe; Parameters: "/i
""{app}\TortoiseOverlays\TortoiseOverlays-1.0.6.16523-win32.msi"" /qn
/norestart ALLUSERS=1"; Components: shell; StatusMsg: Installing
TortoiseOverlays.dll ...
Filename: msiexec.exe; Parameters: "/i
""{app}\TortoiseOverlays\TortoiseOverlays-1.0.6.16523-x64.msi"" /qn /norestart
ALLUSERS=1"; Check: Is64BitInstallMode; Components: shell; StatusMsg:
Installing TortoiseOverlays.dll ...
[UninstallRun]
diff --git a/contrib/win32/registry.iss b/contrib/win32/registry.iss
--- a/contrib/win32/registry.iss
+++ b/contrib/win32/registry.iss
@@ -5,8 +5,12 @@
; register TortoiseHg config info
Root: HKLM; Subkey: Software\TortoiseHgShell; Flags: uninsdeletekey;
Components: shell
Root: HKLM; Subkey: Software\TortoiseHgShell; ValueType: string; ValueName: ;
ValueData: {app}; Components: shell
+Root: HKLM32; Subkey: Software\TortoiseHgShell; Check: Is64BitInstallMode;
Flags: uninsdeletekey; Components: shell
+Root: HKLM32; Subkey: Software\TortoiseHgShell; Check: Is64BitInstallMode;
ValueType: string; ValueName: ; ValueData: {app}; Components: shell
Root: HKLM; Subkey: Software\TortoiseHg; Flags: uninsdeletekey
Root: HKLM; Subkey: Software\TortoiseHg; ValueType: string; ValueName: ;
ValueData: {app}
+Root: HKLM32; Subkey: Software\TortoiseHg; Check: Is64BitInstallMode; Flags:
uninsdeletekey
+Root: HKLM32; Subkey: Software\TortoiseHg; Check: Is64BitInstallMode;
ValueType: string; ValueName: ; ValueData: {app}
; overlay handler COM controls
; Normal
@@ -14,53 +18,89 @@
Root: HKCR; Subkey: CLSID\{{B456DBA0-7BF4-478c-937A-05130C2C212E}; ValueType:
string; ValueName: ; ValueData: TortoiseHg; Components: shell
Root: HKCR; Subkey:
CLSID\{{B456DBA0-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType:
string; ValueName: ; ValueData: {app}\THgShell.dll; Components: shell
Root: HKCR; Subkey:
CLSID\{{B456DBA0-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType:
string; ValueName: ThreadingModel; ValueData: Apartment; Components: shell
+Root: HKCR32; Subkey: CLSID\{{B456DBA0-7BF4-478c-937A-05130C2C212E}; Check:
Is64BitInstallMode; Flags: uninsdeletekey; Components: shell
+Root: HKCR32; Subkey: CLSID\{{B456DBA0-7BF4-478c-937A-05130C2C212E}; Check:
Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: TortoiseHg;
Components: shell
+Root: HKCR32; Subkey:
CLSID\{{B456DBA0-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check:
Is64BitInstallMode; ValueType: string; ValueName: ; ValueData:
{app}\THgShellx86.dll; Components: shell
+Root: HKCR32; Subkey:
CLSID\{{B456DBA0-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check:
Is64BitInstallMode; ValueType: string; ValueName: ThreadingModel; ValueData:
Apartment; Components: shell
; Added
Root: HKCR; Subkey: CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}; Flags:
uninsdeletekey; Components: shell
Root: HKCR; Subkey: CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}; ValueType:
string; ValueName: ; ValueData: TortoiseHg; Components: shell
Root: HKCR; Subkey:
CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType:
string; ValueName: ; ValueData: {app}\THgShell.dll; Components: shell
Root: HKCR; Subkey:
CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType:
string; ValueName: ThreadingModel; ValueData: Apartment; Components: shell
+Root: HKCR32; Subkey: CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}; Check:
Is64BitInstallMode; Flags: uninsdeletekey; Components: shell
+Root: HKCR32; Subkey: CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}; Check:
Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: TortoiseHg;
Components: shell
+Root: HKCR32; Subkey:
CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check:
Is64BitInstallMode; ValueType: string; ValueName: ; ValueData:
{app}\THgShellx86.dll; Components: shell
+Root: HKCR32; Subkey:
CLSID\{{B456DBA1-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check:
Is64BitInstallMode; ValueType: string; ValueName: ThreadingModel; ValueData:
Apartment; Components: shell
; Modified
Root: HKCR; Subkey: CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}; Flags:
uninsdeletekey; Components: shell
Root: HKCR; Subkey: CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}; ValueType:
string; ValueName: ; ValueData: TortoiseHg; Components: shell
Root: HKCR; Subkey:
CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType:
string; ValueName: ; ValueData: {app}\THgShell.dll; Components: shell
Root: HKCR; Subkey:
CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType:
string; ValueName: ThreadingModel; ValueData: Apartment; Components: shell
+Root: HKCR32; Subkey: CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}; Check:
Is64BitInstallMode; Flags: uninsdeletekey; Components: shell
+Root: HKCR32; Subkey: CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}; Check:
Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: TortoiseHg;
Components: shell
+Root: HKCR32; Subkey:
CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check:
Is64BitInstallMode; ValueType: string; ValueName: ; ValueData:
{app}\THgShellx86.dll; Components: shell
+Root: HKCR32; Subkey:
CLSID\{{B456DBA2-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check:
Is64BitInstallMode; ValueType: string; ValueName: ThreadingModel; ValueData:
Apartment; Components: shell
; Unversioned
Root: HKCR; Subkey: CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}; Flags:
uninsdeletekey; Components: shell
Root: HKCR; Subkey: CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}; ValueType:
string; ValueName: ; ValueData: TortoiseHg; Components: shell
Root: HKCR; Subkey:
CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType:
string; ValueName: ; ValueData: {app}\THgShell.dll; Components: shell
Root: HKCR; Subkey:
CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}\InProcServer32; ValueType:
string; ValueName: ThreadingModel; ValueData: Apartment; Components: shell
+Root: HKCR32; Subkey: CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}; Check:
Is64BitInstallMode; Flags: uninsdeletekey; Components: shell
+Root: HKCR32; Subkey: CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}; Check:
Is64BitInstallMode; ValueType: string; ValueName: ; ValueData: TortoiseHg;
Components: shell
+Root: HKCR32; Subkey:
CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check:
Is64BitInstallMode; ValueType: string; ValueName: ; ValueData:
{app}\THgShellx86.dll; Components: shell
+Root: HKCR32; Subkey:
CLSID\{{B456DBA6-7BF4-478c-937A-05130C2C212E}\InProcServer32; Check:
Is64BitInstallMode; ValueType: string; ValueName: ThreadingModel; ValueData:
Apartment; Components: shell
; The actual icon overlay handlers for Explorer
Root: HKLM; Subkey: Software\TortoiseOverlays\Normal; ValueType: string;
ValueName: TortoiseHg; ValueData: {{B456DBA0-7BF4-478c-937A-05130C2C212E};
Components: shell
Root: HKLM; Subkey: Software\TortoiseOverlays\Added; ValueType: string;
ValueName: TortoiseHg; ValueData: {{B456DBA1-7BF4-478c-937A-05130C2C212E};
Components: shell
Root: HKLM; Subkey: Software\TortoiseOverlays\Modified; ValueType: string;
ValueName: TortoiseHg; ValueData: {{B456DBA2-7BF4-478c-937A-05130C2C212E};
Components: shell
Root: HKLM; Subkey: Software\TortoiseOverlays\Unversioned; ValueType: string;
ValueName: TortoiseHg; ValueData: {{B456DBA6-7BF4-478c-937A-05130C2C212E};
Components: shell
+Root: HKLM32; Subkey: Software\TortoiseOverlays\Normal; Check:
Is64BitInstallMode; ValueType: string; ValueName: TortoiseHg; ValueData:
{{B456DBA0-7BF4-478c-937A-05130C2C212E}; Components: shell
+Root: HKLM32; Subkey: Software\TortoiseOverlays\Added; Check:
Is64BitInstallMode; ValueType: string; ValueName: TortoiseHg; ValueData:
{{B456DBA1-7BF4-478c-937A-05130C2C212E}; Components: shell
+Root: HKLM32; Subkey: Software\TortoiseOverlays\Modified; Check:
Is64BitInstallMode; ValueType: string; ValueName: TortoiseHg; ValueData:
{{B456DBA2-7BF4-478c-937A-05130C2C212E}; Components: shell
+Root: HKLM32; Subkey: Software\TortoiseOverlays\Unversioned; Check:
Is64BitInstallMode; ValueType: string; ValueName: TortoiseHg; ValueData:
{{B456DBA6-7BF4-478c-937A-05130C2C212E}; Components: shell
; Make them approved by administrator
Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell
Extensions\Approved; ValueType: string; ValueName:
{{B456DBA0-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags:
uninsdeletevalue; Components: shell
Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell
Extensions\Approved; ValueType: string; ValueName:
{{B456DBA1-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags:
uninsdeletevalue; Components: shell
Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell
Extensions\Approved; ValueType: string; ValueName:
{{B456DBA2-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags:
uninsdeletevalue; Components: shell
Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell
Extensions\Approved; ValueType: string; ValueName:
{{B456DBA6-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags:
uninsdeletevalue; Components: shell
+Root: HKLM32; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell
Extensions\Approved; Check: Is64BitInstallMode; ValueType: string; ValueName:
{{B456DBA0-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags:
uninsdeletevalue; Components: shell
+Root: HKLM32; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell
Extensions\Approved; Check: Is64BitInstallMode; ValueType: string; ValueName:
{{B456DBA1-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags:
uninsdeletevalue; Components: shell
+Root: HKLM32; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell
Extensions\Approved; Check: Is64BitInstallMode; ValueType: string; ValueName:
{{B456DBA2-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags:
uninsdeletevalue; Components: shell
+Root: HKLM32; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\Shell
Extensions\Approved; Check: Is64BitInstallMode; ValueType: string; ValueName:
{{B456DBA6-7BF4-478c-937A-05130C2C212E}; ValueData: TortoiseHg; Flags:
uninsdeletevalue; Components: shell
; Context menu handlers
Root: HKCR; Subkey: Directory\shellex\ContextMenuHandlers\TortoiseHgCMenu;
Flags: uninsdeletekey; Components: shell
Root: HKCR; Subkey: Directory\shellex\ContextMenuHandlers\TortoiseHgCMenu;
ValueType: string; ValueName: ; ValueData:
{{B456DBA0-7BF4-478c-937A-05130C2C212E}; Components: shell
+Root: HKCR32; Subkey: Directory\shellex\ContextMenuHandlers\TortoiseHgCMenu;
Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell
+Root: HKCR32; Subkey: Directory\shellex\ContextMenuHandlers\TortoiseHgCMenu;
Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData:
{{B456DBA0-7BF4-478c-937A-05130C2C212E}; Components: shell
Root: HKCR; Subkey:
Directory\Background\shellex\ContextMenuHandlers\TortoiseHgCMenu; Flags:
uninsdeletekey; Components: shell
Root: HKCR; Subkey:
Directory\Background\shellex\ContextMenuHandlers\TortoiseHgCMenu; ValueType:
string; ValueName: ; ValueData: {{B456DBA0-7BF4-478c-937A-05130C2C212E};
Components: shell
+Root: HKCR32; Subkey:
Directory\Background\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check:
Is64BitInstallMode; Flags: uninsdeletekey; Components: shell
+Root: HKCR32; Subkey:
Directory\Background\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check:
Is64BitInstallMode; ValueType: string; ValueName: ; ValueData:
{{B456DBA0-7BF4-478c-937A-05130C2C212E}; Components: shell
Root: HKCR; Subkey: Drive\shellex\ContextMenuHandlers\TortoiseHgCMenu; Flags:
uninsdeletekey; Components: shell
Root: HKCR; Subkey: Drive\shellex\ContextMenuHandlers\TortoiseHgCMenu;
ValueType: string; ValueName: ; ValueData:
{{B456DBA0-7BF4-478c-937A-05130C2C212E}; Components: shell
+Root: HKCR32; Subkey: Drive\shellex\ContextMenuHandlers\TortoiseHgCMenu;
Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell
+Root: HKCR32; Subkey: Drive\shellex\ContextMenuHandlers\TortoiseHgCMenu;
Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData:
{{B456DBA0-7BF4-478c-937A-05130C2C212E}; Components: shell
Root: HKCR; Subkey: Folder\shellex\ContextMenuHandlers\TortoiseHgCMenu; Flags:
uninsdeletekey; Components: shell
Root: HKCR; Subkey: Folder\shellex\ContextMenuHandlers\TortoiseHgCMenu;
ValueType: string; ValueName: ; ValueData:
{{B456DBA0-7BF4-478c-937A-05130C2C212E}; Components: shell
+Root: HKCR32; Subkey: Folder\shellex\ContextMenuHandlers\TortoiseHgCMenu;
Check: Is64BitInstallMode; Flags: uninsdeletekey; Components: shell
+Root: HKCR32; Subkey: Folder\shellex\ContextMenuHandlers\TortoiseHgCMenu;
Check: Is64BitInstallMode; ValueType: string; ValueName: ; ValueData:
{{B456DBA0-7BF4-478c-937A-05130C2C212E}; Components: shell
Root: HKCR; Subkey: *\shellex\ContextMenuHandlers\TortoiseHgCMenu; Flags:
uninsdeletekey; Components: shell
Root: HKCR; Subkey: *\shellex\ContextMenuHandlers\TortoiseHgCMenu; ValueType:
string; ValueName: ; ValueData: {{B456DBA0-7BF4-478c-937A-05130C2C212E};
Components: shell
+Root: HKCR32; Subkey: *\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check:
Is64BitInstallMode; Flags: uninsdeletekey; Components: shell
+Root: HKCR32; Subkey: *\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check:
Is64BitInstallMode; ValueType: string; ValueName: ; ValueData:
{{B456DBA0-7BF4-478c-937A-05130C2C212E}; Components: shell
Root: HKCR; Subkey:
InternetShortcut\shellex\ContextMenuHandlers\TortoiseHgCMenu; Flags:
uninsdeletekey; Components: shell
Root: HKCR; Subkey:
InternetShortcut\shellex\ContextMenuHandlers\TortoiseHgCMenu; ValueType:
string; ValueName: ; ValueData: {{B456DBA0-7BF4-478c-937A-05130C2C212E};
Components: shell
+Root: HKCR32; Subkey:
InternetShortcut\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check:
Is64BitInstallMode; Flags: uninsdeletekey; Components: shell
+Root: HKCR32; Subkey:
InternetShortcut\shellex\ContextMenuHandlers\TortoiseHgCMenu; Check:
Is64BitInstallMode; ValueType: string; ValueName: ; ValueData:
{{B456DBA0-7BF4-478c-937A-05130C2C212E}; Components: shell
------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Tortoisehg-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop