On Wed, Sep 16, 2009 at 2:08 PM, Rock Hymas <[email protected]> wrote:
> # 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
Great stuff.
Unfortunately the format of the iss and vcproj files does not lend
well to patch emails. Could you put these three patches
(mercurialuser.ini, vcproj, and this one) into a repo I can pull from,
or mail them as a bundle?
> 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
>
------------------------------------------------------------------------------
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