On Wed, Sep 16, 2009 at 2:08 PM, Rock Hymas <r...@fogcreek.com> wrote:
> # HG changeset patch
> # User Rock Hymas <r...@fogcreek.com>
> # 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&reg; 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&#45;12, 2009. Register now&#33;
> http://p.sf.net/sfu/devconf
> _______________________________________________
> Tortoisehg-develop mailing list
> Tortoisehg-develop@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop
>

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; 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&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
Tortoisehg-develop mailing list
Tortoisehg-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop

Reply via email to