1

I am trying to register a new filter with Windows Desktop Search. Ideal way to achieve do this would be registering new filter with existing persistent handler CLSID. But this cannot be done since .html PersistentHandler CLSID, {eec97550-47a9-11cf-b952-00aa0051fe20}, is protected under WRP (More about the problem).

As a workaround, I am trying to create a different CLSID that does the same job as {eec97550-47a9-11cf-b952-00aa0051fe20}.

This is the sample code I am following. I am quite new to WiX and editing Windows registry.

<File Id="HTMLfilter.DLL">
    <Class Id="$(var.CLSID_HtmlIFilter)" Context="InprocServer32" ThreadingModel="both" Description="Html Filter" />
</File>

Could someone help me regarding these;

  • How to create a CLSID that is not affiliated to any file? Since my new CLSID is doing the work of above mentioned CLSID, I think this is how it should be.

  • How to create a a sub-directory named PersistentAddinsRegistered instead of InprocSever32

Thanks

Community
  • 1
  • 1
Niroshan
  • 2,064
  • 6
  • 35
  • 60

2 Answers2

1

Have a look at this page here shows how to add COM objects to installers

CheGueVerra
  • 7,849
  • 4
  • 37
  • 49
1

I suggest export selected branch to registry file (Export all or part of the registry to a text file).

Then using Heat.exe harvest registry file and include its output in your project.

This is an example

    <Fragment>
    <DirectoryRef Id="TARGETDIR">
        <Component Id="cmp6E2CE62C9ADECD355465514E3C8F354E" Guid="PUT-GUID-HERE" KeyPath="yes">
            <RegistryKey Key=".ascx\PersistentHandler" Root="HKCR">
                <RegistryValue Value="{eec97550-47a9-11cf-b952-00aa0051fe20}" Type="string" />
            </RegistryKey>
        </Component>
    </DirectoryRef>
</Fragment>
Jacob Seleznev
  • 8,013
  • 3
  • 24
  • 34