1

Windows デスクトップ サーチに新しいフィルタを登録しようとしています。これを実現する理想的な方法は、新しいフィルターを既存の永続ハンドラー CLSID に登録することです。しかし、.html PersistentHandler CLSID{eec97550-47a9-11cf-b952-00aa0051fe20}は WRP で保護されているため、これを行うことはできません (問題の詳細)。

回避策として、と同じ仕事をする別の CLSID を作成しようとしています{eec97550-47a9-11cf-b952-00aa0051fe20}

これは私がフォローしているサンプルコードです。私は WiX を初めて使用し、Windows レジストリを編集しています。

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

誰かがこれらに関して私を助けてくれませんか;

  • どのファイルにも関連付けられていない CLSID を作成するには? 私の新しい CLSID は上記の CLSID の作業を行っているため、これが本来あるべき姿だと思います。

  • InprocSever32 の代わりに PersistentAddinsRegistered という名前のサブディレクトリを作成する方法

ありがとう

4

2 に答える 2

1

選択したブランチをレジストリ ファイルにエクスポートすることをお勧めします (レジストリのすべてまたは一部をテキスト ファイルにエクスポートします)。

次に、Heat.exeを使用してレジストリ ファイルを収集し、その出力をプロジェクトに含めます。

これは一例です

    <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>
于 2012-03-09T04:13:11.443 に答える