| OLD | NEW |
| 1 <?xml version="1.0"?> | 1 <?xml version="1.0"?> |
| 2 <Include xmlns="http://schemas.microsoft.com/wix/2006/wi"> | 2 <Include xmlns="http://schemas.microsoft.com/wix/2006/wi"> |
| 3 <!-- | 3 <!-- |
| 4 We're using a minimal registration model, with only the keys needed to e
nable function as a BHO. | 4 We're using a minimal registration model, with only the keys needed to e
nable function as a BHO. |
| 5 Notably missing: | 5 Notably missing: |
| 6 - LocalServer32. | 6 - LocalServer32. |
| 7 This is for out-of-process servers; a BHO is only an in-process on
e. | 7 This is for out-of-process servers; a BHO is only an in-process on
e. |
| 8 Even though we're _also_ using an out-of-process server, there's n
ot one in the BHO DLL. | 8 Even though we're _also_ using an out-of-process server, there's n
ot one in the BHO DLL. |
| 9 - AppID | 9 - AppID |
| 10 Needed for custom permissions, authentication, and generally for d
iscoverable services. | 10 Needed for custom permissions, authentication, and generally for d
iscoverable services. |
| 11 The DLL registers as a BHO directly by CLSID, without going throug
h an AppId | 11 The DLL registers as a BHO directly by CLSID, without going throug
h an AppId |
| 12 - ProgID | 12 - ProgID |
| 13 A string alias for a CLSID. | 13 A string alias for a CLSID. |
| 14 Again, the BHO registration is by CLSID; no need for an alias. | 14 Again, the BHO registration is by CLSID; no need for an alias. |
| 15 - All the typelib entries. | 15 - All the typelib entries. |
| 16 These enable a dynamic languages to bind to the DLL, but IE doesn'
t need this. | 16 These enable a dynamic languages to bind to the DLL, but IE doesn'
t need this. |
| 17 - The attribute "Class/@Programmable". | 17 - The attribute "Class/@Programmable". |
| 18 It's used with ActiveX, which a BHO doesn't need. | 18 It's used with ActiveX, which a BHO doesn't need. |
| 19 References: | 19 References: |
| 20 Minimal COM object registration http://blogs.msdn.com/b/larryosterm
an/archive/2006/01/05/509731.aspx | 20 Minimal COM object registration http://blogs.msdn.com/b/larryosterm
an/archive/2006/01/05/509731.aspx |
| 21 COM and Registry http://mariusbancila.ro/blog/2010/06/01/com-and-re
gistry/ | 21 COM and Registry http://mariusbancila.ro/blog/2010/06/01/com-and-re
gistry/ |
| 22 --> | 22 --> |
| 23 <!-- | 23 <!-- |
| 24 The value "both" for ThreadingModel comes from the output of 'heat' on t
he compiled DLL. | 24 The value "both" for ThreadingModel comes from the output of 'heat' on t
he compiled DLL. |
| 25 --> | 25 --> |
| 26 <Class Id="{FFCB3198-32F3-4E8B-9539-4324694ED664}" | 26 <Class Id="{FFCB3198-32F3-4E8B-9539-4324694ED664}" |
| 27 Description="Adblock Plus for IE Browser Helper Object" | 27 Description="Adblock Plus for IE Browser Helper Object" |
| 28 Context="InprocServer32" ThreadingModel="both"/> | 28 Context="InprocServer32" ThreadingModel="both"/> |
| 29 </Include> | 29 </Include> |
| OLD | NEW |