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

fogcreek wix: add keyboard hook to registry during setup

Changeset 7ac07220428c

Parent 8ee2db8769a2

by David Golub

Changes to 4 files · Browse files at 7ac07220428c Showing diff from parent 8ee2db8769a2 Diff from another changeset...

 
5
6
7
 
8
9
10
 
5
6
7
8
9
10
11
@@ -5,6 +5,7 @@
  <?define CLSID_TortoiseHgAdded = {AF42ADAB-8C2E-4285-B746-99B31094708E} ?>   <?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 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
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
 <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 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-keyboard.wxi Stacked
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@@ -0,0 +1,17 @@
+<Include> + <!-- keyboard hook component --> + <RegistryValue + Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgKeyboard)' + Type='string' Value='TortoiseHg' + /> + <RegistryValue + Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgKeyboard)\InProcServer32' + Type='string' Name='ThreadingModel' Value='Apartment' + /> + + <!-- register browser helper object --> + <RegistryValue + Root='HKLM' Key='Software\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\${var.CLSID_TortoiseHgKeyboard}' + Type='string' Value='TortoiseHg' + /> +</Include>
 
138
139
140
 
 
 
141
142
143
 
152
153
154
 
 
 
 
155
156
157
 
169
170
171
 
 
 
 
172
173
174
 
184
185
186
 
 
 
 
187
188
189
 
395
396
397
 
398
399
400
 
416
417
418
 
419
420
421
 
138
139
140
141
142
143
144
145
146
 
155
156
157
158
159
160
161
162
163
164
 
176
177
178
179
180
181
182
183
184
185
 
195
196
197
198
199
200
201
202
203
204
 
410
411
412
413
414
415
416
 
432
433
434
435
436
437
438
@@ -138,6 +138,9 @@
  <RegistryValue   Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgDropHandler)\InProcServer32'   Type='string' Value='[INSTALLDIR]ThgShellx64.dll'/> + <RegistryValue + Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgKeyboard)\InProcServer32' + Type='string' Value='[INSTALLDIR]ThgShellx64.dll'/>   <?foreach CLSID in $(var.OverlayCLSIDList) ?>   <RegistryValue   Root='HKCR' Key='CLSID\$(var.CLSID)\InProcServer32' @@ -152,6 +155,10 @@
  Guid='$(var.OverlaysShellRegistrationX64.guid)'>   <?include shell-register-overlays.wxi ?>   </Component> + <Component Id='KeyboardShellRegistration' Win64='yes' + Guid='$(var.KeyboardShellRegistrationX64.guid)'> + <?include shell-register-keyboard.wxi ?> + </Component>   <?else?>   <Component Id='thgshellx86dll' Guid='$(var.thgshellx86dll.guid)' Win64='no'>   <File Id='thgshellx86dll' Name='ThgShellx86.dll' KeyPath='yes' @@ -169,6 +176,10 @@
  Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgDropHandler)\InProcServer32'   Type='string' Value='[INSTALLDIR]ThgShellx86.dll'   /> + <RegistryValue + Root='HKLM' Key='CLSID\$(var.CLSID_TortoiseHgKeyboard)\InProcServer32' + Type='string' Value='[INSTALLDIR]ThgShellx86.dll' + />   <?foreach CLSID in $(var.OverlayCLSIDList) ?>   <RegistryValue   Root='HKCR' Key='CLSID\$(var.CLSID)\InProcServer32' @@ -184,6 +195,10 @@
  Guid='$(var.OverlaysShellRegistrationX86.guid)' Win64='no'>   <?include shell-register-overlays.wxi ?>   </Component> + <Component Id='KeyboardShellRegistration' Win64='no' + Guid='$(var.KeyboardShellRegistrationX86.guid)'> + <?include shell-register-keyboard.wxi ?> + </Component>   <?endif?>     <Component Id='COPYING' Guid='$(var.COPYING.guid)' Win64='$(var.IsX64)'> @@ -395,6 +410,7 @@
  <ComponentRef Id='OverlayServerEXE' />   <MergeRef Id='TortoiseOverlaysMergeX64' />   <ComponentRef Id='OverlaysShellRegistrationX64' /> + <ComponentRef Id='KeyboardShellRegistrationX64' />   </Feature>   </Feature>   <?endif?> @@ -416,6 +432,7 @@
  <ComponentRef Id='OverlayServerEXE' />   <MergeRef Id='TortoiseOverlaysMergeX86' />   <ComponentRef Id='OverlaysShellRegistrationX86' /> + <ComponentRef Id='KeyboardShellRegistrationX86' />   </Feature>   </Feature>   <Feature Id='Locales' Level='1'