Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in tip

fogcreek wix: register copy hook during setup

Changeset 511644b607d4

Parent 218eb60d7e2e

by David Golub

Changes to 5 files · Browse files at 511644b607d4 Showing diff from parent 218eb60d7e2e Diff from another changeset...

 
16
17
18
19
 
20
21
22
 
16
17
18
 
19
20
21
22
@@ -16,7 +16,7 @@
  {   'CopyHookHandlers'   { - 'TortoiseCopyHook' = s '{61047697-7E8B-46FE-9CF8-2CE603EB3017}' + 'TortoiseHgCopyHook' = s '{61047697-7E8B-46FE-9CF8-2CE603EB3017}'   }   }   }
 
6
7
8
 
9
10
11
 
6
7
8
9
10
11
12
@@ -6,6 +6,7 @@
  <?define CLSID_TortoiseHgModified = {CDA1C89D-E9B5-4981-A857-82DD932EA2FD} ?>   <?define CLSID_TortoiseHgUnversioned = {9E3D4EC9-0624-4393-8B48-204C217ED1FF} ?>   <?define CLSID_TortoiseHgKeyboard = {36BFF16B-4EA0-4D91-9D2C-39941CF0BFE4} ?> + <?define CLSID_TortoiseHgCopyHook = {61047697-7E8B-46FE-9CF8-2CE603EB3017} ?>   <?define OverlayCLSIDList =   {869C8877-2C3C-438D-844B-31B86BFE5E8A};{AF42ADAB-8C2E-4285-B746-99B31094708E};{CDA1C89D-E9B5-4981-A857-82DD932EA2FD};{9E3D4EC9-0624-4393-8B48-204C217ED1FF}   ?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
 
 
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
 <Include>   <!-- These are component GUIDs used for TortoiseHg installers.   YOU MUST CHANGE ALL GUIDs below when copying this file   and replace 'TortoiseHg' in this notice with the name of   your project. Component GUIDs have global namespace! -->     <!-- contrib.wxs -->   <?define contrib.guid = {FB2DD7A3-B0D8-4E4A-BA52-71B32647AD6E} ?>   <?define contrib.vim.guid = {A28DEFA6-474A-4659-82B4-8EF68042D859} ?>     <!-- doc.wxs -->   <?define doc.hg.1.html.guid = {3EDDF378-AB13-4B49-ADDF-67EFDD30AA69} ?>   <?define doc.hgignore.5.html.guid = {98A703CD-DCD5-422B-BB41-5B1BE196979B} ?>   <?define doc.hgrc.5.html = {AC2F61E1-E9D1-4C67-B592-17FA68F75A0A} ?>   <?define doc.style.css = {F42E2E5F-6329-4269-B6D8-805C6CFD8D5E} ?>     <!-- help.wxs -->   <?define helpFolder.guid = {0CD881E3-815A-4227-9F7C-B9D70C1191EF} ?>     <!-- i18n.wxs -->   <?define i18nFolder.guid = {5191051C-742F-470E-AD76-D83C2F1EDE4E} ?>     <!-- templates.wxs -->   <?define templates.root.guid = {6A82D0BF-6878-42F3-92FD-AB39F7A97EEF} ?>   <?define templates.atom.guid = {68D030FA-56A1-4CAF-ADBF-07362B1DDF15} ?>   <?define templates.coal.guid = {89768AB3-A942-470B-8C1C-9C026B80FF8E} ?>   <?define templates.gitweb.guid = {516A9A5F-33DF-41EC-B64C-F910251549D7} ?>   <?define templates.monoblue.guid = {BF01AC59-C62C-4946-B820-E528748EB3B2} ?>   <?define templates.paper.guid = {31BF16C5-3525-47F7-9733-F67A3B02171B} ?>   <?define templates.raw.guid = {936139F7-9A73-4685-80D2-F17A2BC42EAD} ?>   <?define templates.rss.guid = {948BDACE-4E70-459A-BDD2-89158FD53F1F} ?>   <?define templates.spartan.guid = {C49A4A44-53EB-4C37-AA0B-159070F46E84} ?>   <?define templates.static.guid = {B6C414E5-CD1E-4820-86E7-EEC2386426BE} ?>     <!-- dist.wxs -->   <?define dist.guid = {9A429564-6BA8-4F18-ACCF-59C586364FFC} ?>   <?define imageformats.guid = {056DFB00-3EB1-4ACA-A43B-55CD5004DED1} ?>     <!-- cmenu-i18n.wxs -->   <?define cmenuI18n.guid = {25A9DAFA-FF37-420C-9958-5920301E293A} ?>     <!-- icons.wxs -->   <?define Icons.guid = {34369923-9610-461C-9FB3-26CA3A139836} ?>     <!-- thg-i18n.wxs -->   <?define thgI18nFolder.guid = {BC570E20-FB79-49B8-AFEF-B4BB867EE60F} ?>     <!-- tortoisehg.wxs -->   <?define ProductUpgradeCode = {838657CF-C9EC-452D-800D-0E70FC021D0A} ?>     <?define ComponentMainExecutableGUID = {D648EC48-559C-4C66-A4CE-2D40A495DC5B} ?>   <?define ComponentWinExecutableGUID = {B4115B52-4FD3-478C-B605-D3F618287335} ?>     <?define thgshellx86dll.guid = {728E8840-5878-4EA7-918F-281C2697ABB1} ?>   <?define thgshellx64dll.guid = {D5D1E532-CDAD-4FFD-9695-757B8A29B4BA} ?>     <?define CmenuShellRegistrationX86.guid = {2BF442D0-EBD9-4B03-8F78-0F45C28F8AB5} ?>   <?define CmenuShellRegistrationX64.guid = {858CE519-8BA2-4E80-BBEB-591AE78384FA} ?>     <?define OverlaysShellRegistrationX86.guid = {8505A107-D6B1-4EAF-9929-3D6E847B5FCB} ?>   <?define OverlaysShellRegistrationX64.guid = {9A678A1C-72D3-4713-AD8A-E7C08ED64DC9} ?>   <?define OverlayServerEXE.guid = {62C58746-BE5D-45F0-8AB7-2FE2AB9C57B0} ?>     <?define KeyboardShellRegistrationX86.guid = {C179A394-03AF-4D3E-8C2E-3E4E00A7351B} ?>   <?define KeyboardShellRegistrationX64.guid = {992E4949-6F6E-4553-B8E1-723F770CCF81} ?>   + <?define CopyHookShellRegistrationX86.guid = {D0151D2D-BAF3-48CF-8273-955D4F101FFA} ?> + <?define CopyHookShellRegistrationX64.guid = {13DBBAEC-F52C-418E-AE1F-8210E01EF8DB} ?> +   <?define ExtensionVersions.guid = {4ADF436B-9B25-4D95-B6AC-88717F5A037A} ?>   <?define COPYING.guid = {09DEF174-D0AB-4E8B-8A4E-1AD5B7E4C9BD} ?>     <?define docdiffEXE.guid = {F4A6629F-85C1-406E-8262-C02E8DBDB4FA} ?>   <?define KDiff3EXE.guid = {075ECC11-1B44-48DB-B7FD-D3207BB801A4} ?>     <?define TortoisePlinkEXE.guid = {E983CBBB-BD4E-4698-BE6F-CECB80D5BA76} ?>   <?define PageantEXE.guid = {91F28A55-874F-4957-A288-BB0F24E419A4} ?>     <?define chmFile.guid = {422C758A-6CB2-4531-BE6A-366B3CD1FD8D} ?>   <?define pdfFile.guid = {A0EC2473-996A-4DBC-9F44-76B63B57AE31} ?>   <?define hgbook.guid = {BC46DD44-1A5B-408F-86E2-BB89C8A380C1} ?>     <?define mercurial.rc.guid = {97EC54BA-02F7-40CD-B876-0572AF7D894B} ?>   <?define mergetools.rc.guid = {EA7F7766-FC75-489F-91AE-3B16E5FE936E} ?>   <?define mergepatterns.rc.guid = {3372ED83-BCE1-4AD3-B5EA-65158C715B54} ?>   <?define paths.rc.guid = {2D94117B-32EC-4507-8E77-AF9D5BC5EA87} ?>   <?define cacert.pem.guid = {37D0A0FC-817D-4DD0-8A07-3841E13092E6} ?>     <?define ProgramMenuDir.guid = {77EDD1A4-FF9A-41CB-83D7-8141D67F0367} ?>   <?define ThgAppData.guid = {4264E496-A992-48E7-92EB-A3BF21E71E41} ?>    </Include>
Change 1 of 1 Show Entire File win32/​wix/​shell-register-copyhook.wxi Stacked
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@@ -0,0 +1,17 @@
+<Include> + <!-- copy hook component --> + <RegistryValue + Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgCopyHook)' + Type='string' Value='TortoiseHg' + /> + <RegistryValue + Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgCopyHook)\InProcServer32' + Type='string' Name='ThreadingModel' Value='Apartment' + /> + + <!-- register copy hook handler --> + <RegistryValue + Root='HKCR' Key='Directory\shellex\CopyHookHandlers\TortoiseHgCopyHook' + Type='string' Value='$(var.CLSID_TortoiseHgCopyHook)' + /> +</Include>
 
141
142
143
 
 
 
144
145
146
 
159
160
161
 
 
 
 
162
163
164
 
177
178
179
180
 
 
 
 
 
181
182
183
 
199
200
201
 
 
 
 
202
203
204
 
351
352
353
 
 
 
 
354
355
356
 
415
416
417
 
418
419
420
 
141
142
143
144
145
146
147
148
149
 
162
163
164
165
166
167
168
169
170
171
 
184
185
186
 
187
188
189
190
191
192
193
194
 
210
211
212
213
214
215
216
217
218
219
 
366
367
368
369
370
371
372
373
374
375
 
434
435
436
437
438
439
440
@@ -141,6 +141,9 @@
  <RegistryValue   Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgKeyboard)\InProcServer32'   Type='string' Value='[INSTALLDIR]ThgShellx64.dll'/> + <RegistryValue + Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgCopyHook)\InProcServer32' + Type='string' Value='[INSTALLDIR]ThgShellx64.dll'/>   <?foreach CLSID in $(var.OverlayCLSIDList) ?>   <RegistryValue   Root='HKCR' Key='CLSID\$(var.CLSID)\InProcServer32' @@ -159,6 +162,10 @@
  Guid='$(var.KeyboardShellRegistrationX64.guid)'>   <?include shell-register-keyboard.wxi ?>   </Component> + <Component Id='CopyHookShellRegistrationX64' Win64='yes' + Guid='$(var.CopyHookShellRegistrationX64.guid)'> + <?include shell-register-copyhook.wxi ?> + </Component>   <?else?>   <Component Id='thgshellx86dll' Guid='$(var.thgshellx86dll.guid)' Win64='no'>   <File Id='thgshellx86dll' Name='ThgShellx86.dll' KeyPath='yes' @@ -177,7 +184,11 @@
  Type='string' Value='[INSTALLDIR]ThgShellx86.dll'   />   <RegistryValue - Root='HKLM' Key='CLSID\$(var.CLSID_TortoiseHgKeyboard)\InProcServer32' + Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgKeyboard)\InProcServer32' + Type='string' Value='[INSTALLDIR]ThgShellx86.dll' + /> + <RegistryValue + Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgCopyHook)\InProcServer32'   Type='string' Value='[INSTALLDIR]ThgShellx86.dll'   />   <?foreach CLSID in $(var.OverlayCLSIDList) ?> @@ -199,6 +210,10 @@
  Guid='$(var.KeyboardShellRegistrationX86.guid)'>   <?include shell-register-keyboard.wxi ?>   </Component> + <Component Id='CopyHookShellRegistrationX86' Win64='no' + Guid='$(var.CopyHookShellRegistrationX86.guid)'> + <?include shell-register-copyhook.wxi ?> + </Component>   <?endif?>     <Component Id='COPYING' Guid='$(var.COPYING.guid)' Win64='$(var.IsX64)'> @@ -351,6 +366,10 @@
  Guid='$(var.KeyboardShellRegistrationX86.guid)' Win64='no'>   <?include shell-register-keyboard.wxi ?>   </Component> + <Component Id='CopyHookShellRegistrationX86' + Guid='$(var.CopyHookShellRegistrationX86.guid)' Win64='no'> + <?include shell-register-copyhook.wxi ?> + </Component>   </Directory>   </Directory>   <?endif?> @@ -415,6 +434,7 @@
  <MergeRef Id='TortoiseOverlaysMergeX64' />   <ComponentRef Id='OverlaysShellRegistrationX64' />   <ComponentRef Id='KeyboardShellRegistrationX64' /> + <ComponentRef Id='CopyHookShellRegistrationX64' />   </Feature>   </Feature>   <?endif?>